Revolutionizing Document and Property Management with Blockchain & NFTs
DocuChain is a cutting-edge, secure document management platform leveraging blockchain technology to provide immutable, verifiable, and transparent document handling. Built with Node.js, Ethereum, and IPFS, DocuChain ensures document integrity, traceability, and ownership verification.
DocuChain-Backend/
β
βββ build/
β βββ contracts/
β
βββ logs/
β
βββ src/
β βββ config/
β βββ controllers/
β βββ models/
β βββ routes/
β βββ services/
β
βββ truffle/
βββ contracts/
βββ migrations/
POST http://localhost:3000/api/documents/issue
Authorization
: Bearer {access_token}document
: File to be uploadedrecipientAddress
: Ethereum address of document recipientPOST http://localhost:3000/api/documents/get
Authorization
: Bearer {access_token}{
"docId": "unique-document-identifier"
}
POST http://localhost:3000/api/documents/verify
Authorization
: Bearer {access_token}{
"docId": "unique-document-identifier"
}
POST http://localhost:3000/api/documents/transfer
Authorization
: Bearer {access_token}{
"docId": "unique-document-identifier",
"newOwner": "Ethereum address of document's current owner"
}
POST http://localhost:3000/api/documents/search
Authorization
: Bearer {access_token}{
"recipientAddress": "Ethereum address of document recipient"
}
http://localhost:3000/auth/signup
{
walletAddress: string, // Ethereum wallet address
name: string, // User's full name
email: string, // Valid email address
phone: string, // Phone number with country code
uid: string, // Unique identifier
dob: string, // Date of birth (MM/DD/YYYY)
role: string, // User role (default: 'user')
photo: File, // User photo (JPEG/PNG)
idDocument: File // Identity document (PDF)
}
{
"success": true,
"walletAddress": "0x092Afb01ADFf2ca70860A7441AB12dae96b75Bae",
"processingTime": 92
}
http://localhost:3000/auth/generate-nonce
{
"walletAddress": "0xUserWalletAddress"
}
{
"nonce": "0xWalletAddress:Timestamp:RandomString"
}
http://localhost:3000/auth/verify-signature
{
"walletAddress": "0xUserWalletAddress",
"signature": "0xSignatureGeneratedByWallet",
"nonce": "0xGeneratedNonceFromPreviousStep"
}
{
"accessToken": "JWT_ACCESS_TOKEN",
"refreshToken": "JWT_REFRESH_TOKEN"
}
http://localhost:3000/auth/refresh-token
{
"refreshToken": "EXISTING_REFRESH_TOKEN"
}
{
"accessToken": "NEW_JWT_ACCESS_TOKEN"
}
git clone https://github.com/DocuChain-Document-Ownership-DApp/DocuChain-Backend.git
npm install
cp .env.example .env
npm run compile
npm run migrate
npm run start
This project is licensed under the Apache License 2.0 - see the LICENSE file for details.
Built with β€οΈ by the DocuChain Team