Skip to content

A modernized blockchain based eVault storage solution for the Indian Judiciary made using Vite.

Notifications You must be signed in to change notification settings

rohitroy-github/vite-project-evault

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Project E-Vault (EVM Based)

A modernized blockchain(EVM) based eVault storage solution for the Indian Judiciary made using ViteJS and powered by IPFS.

Snapshots from the project :



Currently, the app can be tested on Localhost (Hardhat), Sepolia (EVM)& Polygin Amoy test network using Alchemy endpoints.

E-Vault Features :

  • 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.

Tech Stack :

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 ✅

Guide for testing on local hardhat network :

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

Working:

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 😊