/gateKeeper

A one of a kind attendance management system built using facial recognition and integrated with a decentralised payment system built on hedera network.

Primary LanguageJavaScript


GateKeeper Logo

Gatekeeper

A one of kind attendance management system
Tensorflow Face-API >

View Deployment

  1. About The Project
  2. Server routes
  3. Getting Started

About The Project

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

Demo

SASWAT_SAMAL_MICROSOFT.ENGAGE.mp4

Built With

  • 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

Features

  1. Recording attendance - Uses Tensorflow's advanced real-time face recognition algorithm to verify registered users only and track attendance.

  2. Statistics - Complex real-time data visualization made easy using chart.js

  3. Rewards - Collect crypto-credits(in hbars) for successfully maintaining streak of attendance at 28th of every month.

  4. Uploading Photo - Users are required to register their photo into the database in order for the application to work.

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

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


Planned features for the project

  • 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

(Back to top)

Server Routes

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

(Back to top)

Getting started

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

(Back to top)