Skip to content

swapn652/AttendX

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

58 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AttendX

An AI based attendance app that uses face-api.js to mark attendance of student using face recognition.

My submission for Hack-R-Play 2.0 organised by ReactPlay.io

Link to the blog:

https://swapn652.hashnode.dev/attendx-an-ai-based-app-that-marks-your-attendance-based-on-face-recognition

Link to the working demo:

Tech Stack Used

  1. For Frontend
    • ReactJS
    • Tailwind CSS
  2. For Backend
    • NodeJS
    • ExpressJS
    • MongoDB
    • Cloudinary
    • Bugfender SDK

To run the project locally on your machine

  1. Fork and clone the repository.

  2. Open up the project in VS Code or any other IDE of your choice.

  3. Open up the terminal.

  4. Type the command cd server.

  5. Now, you will be in the server directory. Run npm i to install all the required dependencies.

  6. 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'
  7. Then, run the command nodemon src/app. This will make your backend run and on the terminal you will see: Screenshot 2023-08-14 at 9 17 55 PM

  8. Now, open up a new terminal and get to the client directory by typing the command cd client.

  9. Run npm i to install all the required dependencies.

  10. Run the command npm run dev and you will see the following on the terminal: Screenshot 2023-08-14 at 9 25 25 PM

  11. Go to that link and bingo now you can use the application.

Note:

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.


Screenshots

Large Screen Devices

Screenshot 2023-08-14 at 9 29 33 PM Screenshot 2023-08-14 at 9 29 49 PM Screenshot 2023-08-14 at 9 30 01 PM Screenshot 2023-08-14 at 9 30 11 PM Screenshot 2023-08-14 at 9 30 23 PM Screenshot 2023-08-14 at 9 30 38 PM

Medium Screen Devices

Screenshot 2023-08-14 at 9 33 41 PM Screenshot 2023-08-14 at 9 33 53 PM

Small Screen Devices

Screenshot 2023-08-14 at 9 34 17 PM Screenshot 2023-08-14 at 9 34 37 PM Screenshot 2023-08-14 at 9 34 52 PM Screenshot 2023-08-14 at 9 35 16 PM

Releases

No releases published

Packages

No packages published