GateKeeper is one of a kind real-time attendance management system built using face-api on top of TensorFlow and has a decentralized payment system built using Hedera Hashgraph
SASWAT_SAMAL_MICROSOFT.ENGAGE.mp4
- Tensorflow for face-API
- ReactJS for front-end
- NodeJS for server
- Hedera Hashgraph-SDK for creating decentralised accounts and payment system
- Express middleware on the backend to handle api routes and requests
- Firebase database and also used for authentication
- Heroku used for deploying and hosting the project
- Github for CI/CD and git
- Firebase for hosting frontend
-
Recording attendance - Uses Tensorflow's advanced real-time face recognition algorithm to verify registered users only and track attendance.
-
Statistics - Complex real-time data visualization made easy using chart.js
-
Rewards - Collect crypto-credits(in hbars) for successfully maintaining streak of attendance at 28th of every month.
-
Uploading Photo - Users are required to register their photo into the database in order for the application to work.
-
Built on the Hedera network - An attendance management system built on the decentralized Hedera network using the Hashgraph SDK with decentralized payment system to transfer crypto hbars with other users.
-
Check balance - Settings page has been made for the user, where one can see his Hedera account id, account balance, account creation date, and transaction history.
- A built-in store to spend your earned credits on college merch
- Upload and check the status of the leave application in the student portal.
- Verification system for leave application on the college portal
Type | Route | Description |
---|---|---|
GET | /createAccount | Creates an account for the user on the Hedera Network with a unique account ID |
POST | /balance | Checks the balance of the user |
POST | /transferMoney | Used for making a transaction between users |
POST | /deleteAccount | Called when the user deletes his/her account essentially deleting their account from the Hedera network and Firestore database |
git clone https://github.com/saswatsam786/gateKeeper.git
git checkout dev-branch
Create a .env file in the root directory:
REACT_APP_FIREBASE_API_KEY=<your_api_key>
REACT_APP_FIREBASE_AUTH_DOMAIN=<your_project_id>.firebaseapp.com
REACT_APP_FIREBASE_PROJECT_ID=<your_project_id>
REACT_APP_FIREBASE_STORAGE_BUCKET=<your_project_id>.appspot.com
REACT_APP_FIREBASE_MESSAGING_SENDER_ID=<your_project_messaging_id>
REACT_APP_FIREBASE_APP_ID=<your_project_app_id>
REACT_APP_ACCOUNT_ID=<your_hedera_testnet_id_same_as_server>
REACT_APP_PRIVATE_KEY=<your_private_key_same_as_server>
REACT_APP_FACT_KEY=<You_can_get_from_ https://api-ninjas.com/api/facts>
Now create a .env file in the server directory:
MY_ACCOUNT_ID=<your_hedera_testnet_id>
MY_PRIVATE_KEY=<your_private_key>
MY_PUBLIC_KEY=<your_public_key>
# (for new user, they can register themselves at link given below and get the above credentials)
https://portal.hedera.com/login
Run the command in the root directory and the server directory to install all the dependencies:
npm install
npm start
To run the server on the local machine:
cd server
npm i
npm start
if error then just refresh the page
Attendance is recorded between 11:00 AM and 11:00 PM
View Slides for more details