A modernized blockchain(EVM) based eVault storage solution for the Indian Judiciary made using ViteJS and powered by IPFS.
Currently, the app can be tested on Localhost (Hardhat), Sepolia (EVM)& Polygin Amoy test network using Alchemy endpoints.
- Registering new clients, lawyers, judges on Evault
- Registering legal case betwwen 2 clients with their respectice clients
- Automatic / Random allocation of judges to registered cases
- Login system for clients, lawyers & judges using Aadhar UID
- Updating case progress by allocated judges & lawyers
- Uploading case documents to IPFS & keeping case records by associated case lawyers
- Fetching basic case information using caseIDs by general public and police
- Metamask wallet integration and usage for access authorization
Frontend :
- Vite JS
- Tailwind CSS
- React Toastify
- React Charts
- Shadcn UI
Backend :
- Node JS
- Hardhat Toolkit
- Metamask Wallet
- Ethers JS
- Alchemy
- Pinata IPFS
Deployed Chains :
- Ethereum Sepolia Testnet
- Polygon Amoy Testnet
- Hardhat Local Testnet ✅
- Morph Testnet ✅
Environment variables :
- Create a new .env file inside [blockchain-hardhat] folder taking reference from .env.example file inside the same.
Backend :
Terminal 1:
- Run (Move inside [blockchain-hardhat] folder): cd blockchain-hardhat
- [ONLY ONCE] Run (Package installations): npm install
- Run (Running Hardhat node locally): npx hardhat node
Terminal 2:
- Run (Move inside [blockchain-hardhat] folder): cd blockchain-hardhat
- [OPTIONAL] Run (Running tests): npx hardhat test
- Run (Running deployment script for Localhost): npx hardhat run scripts/deploy_fetchCaseDetailsByAClient.js --network localhost
- [OPTIONAL -> ONLY FOR SEPOLIA] Run (Running deployment script for Sepolia): npx hardhat run scripts/deploy_fetchCaseDetailsByAClient.js --network sepolia
Update the [backend-config.json] file inside /frontend-vite with the updated contract-address under "31337" "address" feild fetched from Terminal 2.
[OPTIONAL -> ONLY FOR SEPOLIA] Update the [backend-config.json] file inside /frontend-vite with the updated contract-address under "11155111" "address" feild fetched from Terminal 2.
Frontend :
Terminal 1:
- Run (Move inside [frontend-vite] folder): cd frontend-vite
- [ONLY ONCE] Run (Package installations): npm install
- Run (Running frontend on localhost:5173): npm run dev
https://www.loom.com/share/a5b5990273df4629b7dc2af6bbf9d08d?sid=3962bd00-ebff-4a92-9811-d50956a3c7e8
The project is complete but I'm open to suggestions & modifications for this project. Please don't forget to put a ⭐ if you're feeling generous 😊