This repository is the Local version. To check Deployed Version Click Here.
EMPVERIFY is a platform which allows Document verification of the Employee which is added by his/her organization by Verifier powered by Blockchain
- MongoDB: A NoSQL database used for storing data.
- Express: A web application framework for Node.js used for building the server-side application.
- Node.js: A JavaScript runtime used for executing JavaScript code on the server-side.
- Ganache: A personal blockchain for Ethereum development used for testing and deploying smart contracts.
- IPFS: A peer-to-peer file sharing protocol used for storing and sharing files.
- Metamask: A browser extension used for interacting with the Ethereum blockchain.
- Solidity: Writing Smart contracts on Ethereum Blockchain.
-
Clone the repository:
https://github.com/kuldeepkumar2212/EMPVERIFY
-
Open
Ganache
and create a new Project -
Install MetaMask in browser and import the local blockchain network details from 'Ganache'
- ( Top Left Corner > Add Network > Add netwotk Manually > Add
RPC URL
link (from Ganache) > save > Switch to the Ganache network)
-
Import Required accounts from Ganache to MetaMask (required)
-
Open terminal and run
ipfs daemon
-
Install dependencies:
npm install
oryarn install
-
Compile the contract using:
npm run compile
- (Copy the created contract address from "Transactions" tab in
Ganache
and paste in .env)
- Create a
.env
file in the root directory and add the following variables:
ADMIN_ADDRESS=
->(First account in Ganache)CONTRACT_ADDRESS=
MONGO_URI=
-
Run the development server:
npm run dev
-
Access the application: Server running on
http://localhost:3000
- Admin logins and able to add Organizations.
- Once when admin adds organization only then organization can login (No self registration).
- Then Orgs can add its Employees and their documents where documents are saved in IPFS with corresponding employee detail.
- (No self Registration for Employee) Employee can view his/her documents in profile and check for any requests for docs by verifier.
- Verfier register himself and then using wallet address of the employee the verifier can request required documents for that particulat employee.
- Employee can able to Accept or Revoke the request by verifier
- The document Link shared to verifier is a
Temporary Link
and afterRevoked
by employeee the link will be expired.