An AI based attendance app that uses face-api.js to mark attendance of student using face recognition.
- For Frontend
- ReactJS
- Tailwind CSS
- For Backend
- NodeJS
- ExpressJS
- MongoDB
- Cloudinary
- Bugfender SDK
-
Fork and clone the repository.
-
Open up the project in VS Code or any other IDE of your choice.
-
Open up the terminal.
-
Type the command
cd server
. -
Now, you will be in the
server
directory. Runnpm i
to install all the required dependencies. -
Create a .env file in the server folder and create the following key value pairs in it:
- MONGODB_URL = 'link to your mongodb atlas database`
- CLOUDINARY_CLOUD_NAME = link to your cloudinary cloud name'
- CLOUDINARY_API_KEY = 'link to your cloudinary api key'
- CLOUDINARY_API_SECRET = 'link to your cloudinary api secret'
-
Then, run the command
nodemon src/app
. This will make your backend run and on the terminal you will see: -
Now, open up a new terminal and get to the
client
directory by typing the commandcd client
. -
Run
npm i
to install all the required dependencies. -
Run the command
npm run dev
and you will see the following on the terminal: -
Go to that link and bingo now you can use the application.
Sometimes, the face-api code doesn't work. So, after you open the Mark Attendance page, and it doesn't work, simply copy the code in client/src/Webcam.jsx, erase the whole code and paste it again. That would make it work. I researched a lot but couldn't really find out why this happens.











