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.
- Seamless clients, lawyer and judge registration process.
- Registering legal case between 2 clients with their respective lawyers.
- Automatic / Random allocation of judges to the registered cases.
- Simplistic login system for clients, lawyers & judges using Aadhar UID and Metamask wallet.
- Updating case progress by allocated judges & lawyers.
- Uploading case documents using IPFS & keeping case records by associated case lawyers.
- Fetching basic case information using caseIDs by general public and police.
- Fetching realtime case progress by associated case entities.
- 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/b1b9d7de34a343a6891bae4fa0b99471?sid=27c699d7-8106-4973-90bc-6594e710147c
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 😊