A comprehensive Django-based attendance management system with face recognition and fingerprint verification capabilities. This system allows organizations to track employee attendance efficiently with multiple verification methods.
- Multiple Authentication Methods:
- Face Recognition (✅ Implemented with real camera access)
- Fingerprint Scanning
- Manual Entry
- User Management:
- User Registration
- Profile Management
- Role-based Access Control
- Attendance Tracking:
- Check-in/Check-out Recording
- Attendance History
- Attendance Reports
- Reporting:
- Detailed and Summary Reports
- Export to CSV
- Date Range Filtering
- Admin Dashboard:
- User Management
- Attendance Overview
- System Configuration
- Camera Integration:
- Real-time camera access using Web API
- Face detection and capture
- Image processing and validation
- Secure file upload handling
- Backend: Django (Python)
- Frontend: HTML, CSS, JavaScript, Bootstrap
- Database: SQLite (default), compatible with PostgreSQL, MySQL
- Authentication: Django Authentication System
- Camera Integration: Web MediaDevices API, Canvas API for image processing
- Biometric Integration: JavaScript APIs for camera and fingerprint scanner
# Clone the repository
git clone https://github.com/Abhishek-max825/project_django.git
cd project_django
# Run the automated installation script
python install.py- Python 3.8 or higher
- pip (Python package manager)
- Virtual environment (recommended)
-
Clone the repository
git clone https://github.com/Abhishek-max825/project_django.git cd project_django -
Create and activate a virtual environment
# Windows python -m venv venv venv\Scripts\activate # Linux/Mac python3 -m venv venv source venv/bin/activate
-
Install dependencies
pip install -r requirements.txt
-
Apply migrations
python manage.py migrate
-
Create a superuser
python manage.py createsuperuser
-
Run the development server
python manage.py runserver
-
Access the application
- Main application: http://127.0.0.1:8000/
- Admin interface: http://127.0.0.1:8000/admin/
- Camera test: http://127.0.0.1:8000/attendance/test-camera/
- No additional system dependencies required
- OpenCV will be installed automatically via pip
- May need to install OpenCV system dependencies:
sudo apt install libgl1-mesa-glx libglib2.0-0
- Install OpenCV via Homebrew:
brew install opencv
If you encounter issues:
- Check Python version: Ensure you have Python 3.8+
- Use the installation script:
python install.py - Check platform-specific requirements in DEPLOYMENT_GUIDE.md
- Verify virtual environment: Make sure it's activated
- Check pip: Ensure pip is up to date
- Log in to the admin interface using the superuser credentials
- Manage users, departments, and attendance records
- Generate and export attendance reports
- Register a new account or log in with existing credentials
- Set up your profile with required information
- Upload face image and/or fingerprint data for biometric verification
- Mark attendance using preferred verification method
- View attendance history and personal reports
- Face Upload: Navigate to "Upload Face" to capture your face image using your device's camera
- Attendance Marking: When marking attendance, select "Face Recognition" as verification method
- Camera Access: The system will request camera permissions - allow access for face verification
- Face Detection: The system includes basic face detection to ensure a face is visible in the captured image
- Image Processing: Captured images are processed and stored securely for attendance verification
- Modern web browser with camera support (Chrome, Firefox, Safari, Edge)
- HTTPS connection (required for camera access in most browsers)
- Camera permissions granted to the website
- Front-facing camera recommended for best results
attendance_system/
├── attendance/ # Attendance app
│ ├── admin.py # Admin configuration
│ ├── forms.py # Form definitions
│ ├── models.py # Data models
│ ├── urls.py # URL routing
│ └── views.py # View functions
├── users/ # Users app
│ ├── admin.py # Admin configuration
│ ├── forms.py # Form definitions
│ ├── models.py # Data models
│ ├── urls.py # URL routing
│ └── views.py # View functions
├── attendance_system/ # Project settings
│ ├── settings.py # Django settings
│ ├── urls.py # Main URL routing
│ └── wsgi.py # WSGI configuration
├── static/ # Static files
│ ├── css/ # CSS files
│ ├── js/ # JavaScript files
│ └── img/ # Image files
├── templates/ # HTML templates
│ ├── attendance/ # Attendance templates
│ └── users/ # User templates
├── media/ # User-uploaded files
├── manage.py # Django management script
└── requirements.txt # Project dependencies
- Biometric data is stored securely and used only for attendance verification
- User passwords are hashed and not stored in plaintext
- CSRF protection is enabled for all forms
- User permissions are strictly enforced
- Mobile application integration
- Real-time notifications
- Advanced analytics dashboard
- Integration with HR systems
- Geolocation-based attendance
This project is licensed under the MIT License - see the LICENSE file for details.
- [Your Name] - Initial work