AI-Based Smart Attendance Management System Using Python

AI-Based Smart Attendance Management System Using Python
Get Source Code

AI-Based Smart Attendance Management System

The AI-Based Smart Attendance Management System is an advanced AI-based web application designed to manage student and employee attendance through face recognition. Developed with Python, Django, SQLite, and OpenCV, it uses Haar detection and LBPH recognition to identify registered users during attendance sessions.

The application includes three separate interfaces: Admin Console, Teacher/Manager Classroom, and Student/Employee Portal. It supports webcam attendance, live sessions, manual verification, leave management, attendance corrections, and reporting.

Real Time Projects on YouTube:- DecodeIT

Project Overview

Project DetailsInformation
Project NameAttendance Management System Project
Language UsedPython
FrameworkDjango
DatabaseSQLite
Face RecognitionOpenCV Haar and LBPH
FrontendBootstrap 5, Chart.js, Inter Font
TypeAI-Based Web Application

Student Attendance Management System using python :- Click Here

Available Features

Admin Console

  • Live Dashboard: Displays database statistics, charts, camera preview, and updates every 10 seconds.
  • User Management: Manages users and face profiles.
  • Academic and Team Management: Manages departments, classes, teams, and subjects.
  • Attendance Sessions: Monitors and manages attendance sessions.
  • Rules and Thresholds: Configures face recognition confidence settings.
  • Schedule Management: Manages shifts, schedules, and holidays.
  • Leave Management: Maintains leave records.
  • Attendance Monitoring: Tracks late, absent, and early records.
  • Reports: Generates daily, weekly, and monthly reports with CSV and PDF export.
  • Verification Queue: Reviews face recognition results requiring approval.
  • Corrections: Approves attendance corrections with audit history.
  • Notifications: Sends broadcast notifications.

Teacher and Manager Panel

  • View assigned classes and teams.
  • Start and close attendance sessions.
  • Mark check-in and check-out using a webcam.
  • View live attendance rosters.
  • Mark attendance manually with a reason.
  • Approve or reject face verification requests.
  • View individual attendance history.
  • Monitor absent and late records.
  • Review correction requests.
  • Generate and export attendance reports.

Student and Employee Portal

  • Manage profile and password.
  • Register Face ID with consent.
  • Mark attendance through camera recognition.
  • View daily attendance status and percentage.
  • Check attendance history.
  • View leave, absent, and late records.
  • Submit attendance correction requests.
  • Receive notifications.

User Roles and Access

RoleAccess
AdminManage users, sessions, departments, reports, rules, and approvals.
Teacher/ManagerManage assigned groups, attendance sessions, verification, and reports.
Student/EmployeeEnroll Face ID, mark attendance, view records, and request corrections.

Hostel Attendance Management System Using MERN Stack :- Click Here

Project Modules

  • Accounts: Custom users, departments, authentication, and profiles.
  • Core: Attendance models, services, reports, demo data, and retraining commands.
  • Face ID: OpenCV recognition, enrollment APIs, and verification logic.
  • Admin Panel: Administrative views and URLs.
  • Teacher Panel: Teacher and manager views and URLs.
  • Student Panel: Student and employee views and URLs.

Dashboard and User Interface

The Admin Console uses a graphite sidebar layout with statistics and Chart.js graphs. The Teacher/Manager Classroom uses top navigation, while the Student/Employee Portal provides pill-style navigation. Bootstrap 5 and the Inter font are used throughout the application.

How Does Face Recognition Attendance Work?

Users first enroll their faces by providing consent and capturing at least six samples. During an active attendance session, the application detects faces using Haar detection and compares them through LBPH recognition.

Recognition ResultAction
Confidence 62% or higherAutomatically marked when required liveness passes.
Confidence 40% to below 62%Sent for manual verification.
Below 40% or unknown faceNot marked; event logged.
Liveness failureSent for manual verification.
Wrong user or groupRejected.
Already checked inDuplicate marking prevented.

The system calculates confidence using 100 × (1 − LBPH distance / 110). Administrators can configure thresholds according to webcam conditions.

Liveness Detection

Optional liveness checking analyses four frames for micro-motion and eye-state changes. It helps reduce basic printed-photo attacks but does not replace specialized anti-spoofing hardware.

Face Data Security

  • Explicit consent is required for enrollment.
  • Face withdrawal deletes samples and triggers retraining.
  • Encrypted 120×120 grayscale crops are stored using Fernet.
  • Duplicate enrollment across accounts is rejected.
  • Face images are not returned through endpoints.
  • Role-based permissions protect attendance records.
  • CSRF protection and POST-only logout are implemented.

Technologies Used

CategoryTechnology
BackendPython, Django
DatabaseSQLite
Computer VisionOpenCV Haar Detection, LBPH Recognition
FrontendBootstrap 5, Inter Font
VisualizationChart.js
EncryptionFernet

Face Recognition Based Attendance Management System :- Click Here

How to Download

The complete package is available so you can run, study, and submit it with confidence.

Screenshot

How to Install the Attendance Management System Using Python?

Installation Guide

Step 1: Install Python 3.10–3.12 and Visual Studio Code with the Python extension.

Step 2: Extract the project ZIP file and open the Attendance Management System folder in VS Code.

Step 3: Create a virtual environment: python -m venv venv
Activate the virtual environment: venv\Scripts\activate

Step 4: Install the required packages: pip install -r requirements.txt

Step 5: Generate database migrations: python manage.py makemigrations accounts core faceid

Step 6: Setup the database: python manage.py migrate

Step 7: Create demo data: python manage.py seed_demo

Step 8: Run the project: python manage.py runserver

Open your browser and visit: 127.0.0.1:8000/

Note:- Free Attendance Management System Installation Guide

Demo Login Credentials
RoleUsernamePassword
AdminadminAdmin@123
Teacherteacher1, teacher2Teacher@123
Managermanager1, manager2Teacher@123
Studentsstu01 to stu23Member@123
Employeesemp24 to emp35Member@123

How to Use Attendance Management System Project?

Admin: Login to manage users, classes, sessions, attendance rules, reports, and verification requests.

Teacher/Manager: Open an assigned session, start the camera, mark attendance, and review pending verification requests.

Student/Employee: Login to the portal, open Face ID, provide consent, capture at least six face samples, and select Finish and Activate. Use the Mark option during an eligible live session to mark attendance.

Note: Users stu01 to stu08 belong to the seeded CS-A live session. Demo users do not have face data by default, so complete face enrollment before testing recognition.

Frequently Asked Questions

1. What is the Attendance Management System?

It is a Django-based application that uses OpenCV face recognition to manage attendance for students and employees.

2. Which database does the project use?

The application uses SQLite.

3. Does the project support automatic attendance?

Yes. Recognized faces meeting the configured confidence and liveness requirements can be marked automatically.

4. Can teachers mark attendance manually?

Yes. Teachers and managers can mark attendance manually with a reason.

5. Does the system generate reports?

Yes. It supports daily, weekly, and monthly attendance reports with CSV and PDF export.

6. Is face enrollment mandatory for recognition?

Yes. Users must provide consent and enroll their face samples before using face recognition.

Final Thoughts

From a student’s perspective, the Attendance Management System Using Python Django and OpenCV is a practical project for understanding role-based applications, database operations, face recognition, and attendance reporting. Its separate user panels and verification workflow demonstrate how Python and Django can support attendance management.,Attendance | Dashboard, AI Attendance System & Management System,student staff attendance management system

Want the complete, ready-to-run project?

Get Source Code
This project Get Source Code

Leave a Reply

Your email address will not be published. Required fields are marked *