The Smart Attendance System is a Face Recognition-Based Attendance Tracker designed for educational institutions and workplaces.
It automates the process of marking attendance by recognizing faces in real-time and securely logging them in a database.
- Contactless & hygienic ๐
- Prevents proxy/buddy attendance ๐ซ
- Real-time data storage & reporting ๐
- Secure, scalable & cloud-ready โ๏ธ
flowchart TD
A[User Face] --> B[Camera Capture]
B --> C[OpenCV Haarcascade Detection]
C --> D[Feature Extraction & Encoding]
D --> E[Compare with Stored Database]
E -->|Match| F[Attendance Marked โ
]
E -->|No Match| G[Reject/Registration โ]
F --> H[Attendance Stored in DB & CSV]
H --> I[Reports for Admin/Teacher]
- ๐จโ๐ซ Role-Based Access โ Admin, Teacher, Student
- ๐ท Real-Time Face Detection & Recognition
- ๐ Automated Attendance Logging (DB + CSV)
- ๐ Downloadable Reports (Daily/Weekly/Monthly)
- ๐ฑ Responsive Web UI with Flask + Bootstrap
- ๐ Secure Authentication with hashed passwords
- โ๏ธ Cloud-ready Deployment
Frontend: HTML5, CSS3, JavaScript, Bootstrap
Backend: Python (Flask Framework)
Libraries: OpenCV, NumPy, Pickle, bcrypt
Database: SQLite (default) | MySQL (scalable)
Tools: Git, Heroku/Railway/AWS for deployment
FaceRecognitionAttendanceSystem/
โ
โโโ app.py # Main Flask app
โโโ schema.sql # Database schema
โโโ attendance.db # SQLite database
โ
โโโ /Attendance/ # Attendance CSV reports
โ โโโ Attendance_YYYY-MM-DD.csv
โ
โโโ /data/ # Saved facial data
โ โโโ faces_data.pkl
โ โโโ names.pkl
โ โโโ settings.pkl
โ
โโโ /static/ # Static files (CSS, images)
โ โโโ css/style.css
โ โโโ bg.png
โ
โโโ /templates/ # HTML Templates
โ โโโ index.html
โ โโโ login.html
โ โโโ dashboard.html
โ โโโ capture.html
โ โโโ recognize.html
โ โโโ attendance.html
โ โโโ settings.html
โ
โโโ haarcascade_frontalface_default.xml # Face detection model
- Python 3.8+
- Webcam/Camera
- SQLite (default)
git clone https://github.com/themanishpndt/Face-Recognition-Attendance-System.git
cd Face-Recognition-Attendance-Systempython -m venv venv
venv\Scripts๏ฟฝctivate # Windows
source venv/bin/activate # Mac/Linuxpip install -r requirements.txtsqlite3 attendance.db < schema.sqlpython app.pyhttp://127.0.0.1:5000/
Example CSV Report:
Student_ID, Name, Date, Time, Status
101, Rahul Sharma, 2025-09-11, 09:05, Present
102, Priya Singh, 2025-09-11, 09:07, Present
103, Manish Sharma, 2025-09-11, 09:10, Present
- Password hashing (bcrypt) ๐
- Role-based access control ๐งโ๐ป
- Input validation & CSRF protection ๐ก๏ธ
- Data encryption for facial embeddings ๐
- Logging & monitoring for admin audit ๐
- โ Unit Testing โ Individual modules
- ๐ Integration Testing โ Face recognition + DB + UI
- ๐ System Testing โ End-to-end workflow
- ๐ Debugging Report maintained
- Requires good lighting conditions ๐ก
- Accuracy decreases with poor camera quality ๐ท
- Limited by hardware performance โ๏ธ
- Privacy/legal concerns around biometric data โ๏ธ
- ๐ฑ Mobile app (Android/iOS) integration
- ๐ Cloud database (Firebase/AWS RDS)
- ๐ค AI-based engagement & emotion detection
- ๐ Multi-Factor Authentication (Face + OTP)
- ๐ฏ Integration with IoT smart classrooms
- ๐ซ Schools & Colleges โ Student attendance
- ๐ข Offices โ Employee time tracking
- ๐ค Events โ Entry management
- ๐ฅ Healthcare โ Staff attendance logging
- ๐ Security โ Access control in sensitive areas
Manish Sharma
๐ Ghaziabad, Uttar Pradesh, India
๐ +91 7982682852
๐ง manishsharma93155@gmail.com
๐ LinkedIn
๐ป GitHub
๐ Portfolio
This project is licensed under the MIT License โ feel free to use, modify, and distribute with proper attribution.
Contributions, issues, and feature requests are welcome!
- Fork the repo
- Create your feature branch (
git checkout -b feature-name) - Commit changes (
git commit -m 'Added new feature') - Push branch (
git push origin feature-name) - Open Pull Request
If you like this project, please โญ the repository ๐