Skip to content

Latest commit

 

History

72 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

EduTrack - Image Based Attendance Management System

Project Overview

EduTrack is a smart attendance system built for schools, colleges, and universities. It uses Image Based recognition to take attendance automatically, so there’s no need for roll calls or manual tracking.

With personalized dashboards for students, teachers, and administrators, everyone gets the tools they need, right at their fingertips.

By cutting out the paperwork and streamlining the process, EduTrack saves time, reduces errors, and makes managing attendance simple, fast, and accurate.

EduTrack - Visual Cycle

Logo

Key Features

  • Image Based Face Recognition: Automated attendance tracking using facial recognition technology.
  • Role-Based Access Control: Separate interfaces for administrators, faculty, and students.
  • Secure Authentication: Hardcoded credentials in MongoDB Atlas without registration route.
  • Cloud-Based Storage: Data persistence using MongoDB & MongoDB Atlas.
  • Interactive Dashboards:
    • Admin Dashboard for system management.
    • Faculty Dashboard for managing attendance records.
    • Student Dashboard for viewing attendance history and schedules.
  • Containerized Deployment: Dockerized setup for easy installation and scalability.

Tech Stack

  • Frontend: React.js with Vite
  • Backend: Node.js, Express.js
  • Database: MongoDB Atlas
  • AI Components: MTCNN and FaceNet Model for facial recognition
  • Containerization: Docker & Docker Compose
  • Authentication: JWT (JSON Web Tokens)

Installation & Setup

Prerequisites

  • Node.js (v16+)
  • MongoDB Atlas account
  • Docker & Docker Compose (for containerized setup)

Root ENV Setup

  • Create a .env file based on .env.sample with the following content:

        DB_URI="DB URI"
        PORT="Backend Port"
        JWT_SECRET=<your_jwt_secret>
        CLOUDINARY_CLOUD_NAME=<your_cloud_name>
        CLOUDINARY_API_KEY=<your_api_key>
        CLOUDINARY_API_SECRET=<your_api_secret>
        FACE_RECOGNITION_API_URL=http://0.0.0.0:8000
        SPREADSHEET_ID=<your_spreadsheet_id>
        VITE_SPREADSHEET_ID=<your_spreadsheet_id>
        VITE_API_BASE_URL=http://localhost:5000

Backend Setup

  • Navigate to the backend directory:

      cd backend
    
  • Install dependencies :

         npm install
    
  • Start the Backend Server:

         npm run dev
    
  • Note: Go to console.cloud.google.com and enable google sheets API, download the credentials file and rename with credentials.json

  • Check out the Backend API Documentation for more details.

Frontend Setup

Face Recognition Model Setup

Prerequisites

  • Python 3.8+
  • Virtual Environment (optional but recommended)
  • Required Python libraries: tensorflow, keras, mtcnn, numpy, opencv-python

Setup Instructions

  1. Navigate to the Face Recognition Directory:

     cd face
    
  2. Create a Virtual Environment (optional but recommended):

     python -m venv venv
    
  3. Activate the Virtual Environment:

    • On Windows:

         venv\Scripts\activate
      
    • On macOS/Linux:

         source venv/bin/activate
      
  4. Install Required Dependencies:

     pip install -r requirements.txt
    
  5. Run the Face Recognition API:

     uvicorn main:app --host 0.0.0.0 --port 8000
    
  6. Verify the API:

    Access the API at http://0.0.0.0:8000 to ensure it is running correctly.

Notes

  • Ensure the FACE_RECOGNITION_API_URL in your .env file matches the API URL (http://0.0.0.0:8000).
  • The requirements.txt file should include all necessary dependencies for the face recognition model.

Docker Setup

Prerequisites

  • Docker installed (Download Docker)
  • Docker Compose (included with Docker Desktop)

Setup Docker Files

  • Build and Run with Docker Compose

      docker-compose up --build
    

Role-Based Access Control (RBAC)

EduTrack implements a secure role-based access control system with the following user roles:

Admin

  • Full access to all system features
  • User management capabilities
  • Analytics and reporting

Faculty

  • Manage course attendance
  • View student attendance records
  • Generate attendance reports
  • Mark attendance

Student

  • View personal attendance records
  • Check schedules and timetables
  • Receive notifications for attendance status

Note: User credentials are pre-defined in MongoDB Atlas. There is no registration route.

Test Credentials

  • Use these credentials for test the project

  • For Student Dashboard :

       Username : test@gmail.com
    
       Password : test@123
    
  • For Faculty Dashboard :

       Username : test@gmail.com
       Password : test@123
    
  • For Admin Dashboard :

       Username : test@gmail.com
       Password : test@123
       SecretKey : 832153
    

Authors

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages