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.
![](https://private-user-images.githubusercontent.com/119523972/332310861-634d2393-2595-4e12-909c-dba1bb525eab.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODU5NDQsIm5iZiI6MTczOTM4NTY0NCwicGF0aCI6Ii8xMTk1MjM5NzIvMzMyMzEwODYxLTYzNGQyMzkzLTI1OTUtNGUxMi05MDljLWRiYTFiYjUyNWVhYi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxODQwNDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT01YjJlMDE4N2Q1ZGZiNWNlNWQyZGFhZDgzZWM0ZDE5ZjU5MTRiZTU0Y2VlNTYyMDM5MDYzZDczYjkyOTY5NDY4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.u8tuL2P1-rSMFpCHfi6ax16MhTendt7RGIlOQ3CUBcQ)
![](https://private-user-images.githubusercontent.com/119523972/332312964-b7ae0933-467e-4fe0-b80b-e63c83f10dc7.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODU5NDQsIm5iZiI6MTczOTM4NTY0NCwicGF0aCI6Ii8xMTk1MjM5NzIvMzMyMzEyOTY0LWI3YWUwOTMzLTQ2N2UtNGZlMC1iODBiLWU2M2M4M2YxMGRjNy5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxODQwNDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zZjNkMDdjOTVhM2U2M2U5MDU1NmUzOWFkMWM2M2EwMWI4MDM1MDRiODc1Y2Q2MDM1NmU0M2RhMTJlMzRkYmE4JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.q45_GJchnGJ70OxjSHJuCCt_ss-pfICo39dckEUf6pE)
![](https://private-user-images.githubusercontent.com/119523972/332311866-98ef16fb-e343-4c4f-bb47-bd7b1750f27b.png?jwt=eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJpc3MiOiJnaXRodWIuY29tIiwiYXVkIjoicmF3LmdpdGh1YnVzZXJjb250ZW50LmNvbSIsImtleSI6ImtleTUiLCJleHAiOjE3MzkzODU5NDQsIm5iZiI6MTczOTM4NTY0NCwicGF0aCI6Ii8xMTk1MjM5NzIvMzMyMzExODY2LTk4ZWYxNmZiLWUzNDMtNGM0Zi1iYjQ3LWJkN2IxNzUwZjI3Yi5wbmc_WC1BbXotQWxnb3JpdGhtPUFXUzQtSE1BQy1TSEEyNTYmWC1BbXotQ3JlZGVudGlhbD1BS0lBVkNPRFlMU0E1M1BRSzRaQSUyRjIwMjUwMjEyJTJGdXMtZWFzdC0xJTJGczMlMkZhd3M0X3JlcXVlc3QmWC1BbXotRGF0ZT0yMDI1MDIxMlQxODQwNDRaJlgtQW16LUV4cGlyZXM9MzAwJlgtQW16LVNpZ25hdHVyZT0zMDdkZWM3YzYwYTNlZmY5MjI2MDkxOTU2NTdkNGEyMGZiYmYxZDdlY2E0NjM3ZmQ5MmU4Y2ZiOTU2ZWY2OTQ3JlgtQW16LVNpZ25lZEhlYWRlcnM9aG9zdCJ9.7rZ664yMj9ZEnjmCrUV0vJ8fhnq9JAVD925uA4qBsBM)