The eVault DApp securely stores and manages legal files using Ethereum blockchain, IPFS, and Flask. It supports Admin and User roles with specific permissions, enforced through smart contracts.
- Frontend: React.js
- Backend: Flask (Python)
- Blockchain: Ethereum (Solidity, Truffle)
- File Storage: IPFS
- Cloud Storage: GCP Bucket for Legal Databases and backup
- Database: GCP for Legal Database, MongoDB
- APIs: Flask backend logic, connector APIs for GCP integration
- Access Control: Smart contracts
Manage document storage, retrieval, modification, deletion, ownership, and access control.
Handles HTTP requests, interacts with smart contracts, and manages file operations in IPFS and GCP.
Provides secure, distributed file storage with unique IPFS hashes.
Offers centralized backup and storage for legal documents.
- View, update, add, delete all documents.
- Backup documents to GCP.
- Generate audit logs.
- Import/export documents from/to legal databases.
- View, update, delete own documents.
- Export own data to legal databases.
Connect IPFS data with GCP for seamless data export and import.
Enforces permissions via blockchain for transparency and security.
- Admin-triggered backups to GCP.
- Recover from MongoDB mappings and vault backups.
- Tracks all document versions and changes, logging them on the blockchain.
- Provides a complete, tamper-proof audit trail.
- Authentication: Secure authentication using Fernet cryptographic algorithm.
- Encryption: Files encrypted before IPFS upload.
- Audit Logs: Comprehensive logs for traceability.
- Backup: Regular backups to GCP.
- Upload via frontend.
- Store in IPFS, generate hash.
- Smart contract logs metadata and hash.
- Request via frontend.
- Backend retrieves hash via smart contract.
- Fetch document from IPFS.
- Admin triggers backup.
- Backend retrieves documents from IPFS.
- Upload to GCP.
- Log completion.
- Deploy smart contracts with Truffle.
- Set up Flask backend.
- Run IPFS node.
- Configure GCP bucket.
- Host frontend.
- Multi-factor authentication for Admins.
- Scalable microservices architecture with Kubernetes.
For detailed setup and usage, refer to the full documentation.