A cloud-based attendance system that implements face recognition technology with cloud computing and AWS DynamoDB integration.
This project implements an automatic attendance system using face recognition technology, cloud computing, and AWS DynamoDB to enhance accuracy and transparency in attendance recording. The system features a lightweight client application, cloud-based processing, and real-time monitoring capabilities.
The system consists of three main components:
-
Client Application (
client.py
)- Captures real-time video
- Detects faces and sends data to cloud server
- Provides visual feedback for face detection
-
Server Processing (
server.ipynb
)- Runs on Google Colaboratory
- Handles face recognition processing
- Manages AWS DynamoDB interactions
- Processes attendance data
-
Admin Dashboard (
dashboard.py
)- Real-time attendance monitoring
- Interactive reporting interface
- Analytics visualization
- Administrative controls
- Real-time face detection and recognition
- Cloud-based processing for better scalability
- Secure data storage in AWS DynamoDB
- Interactive dashboard for attendance monitoring
- Visual feedback system
- Automatic attendance recording
- Python 3.x
- AWS Account with DynamoDB access
- Google Account (for Colaboratory)
- Stable internet connection
- Required Python packages (see requirements.txt)
-
Clone repository:
git clone [repository-url] cd face-recognition-attendance
-
Install required packages in both side client / cloud:
pip install -r requirements ...
-
Configure
Ngrok
for tunneling:!pip install pyngrok from pyngrok import ngrok # Replace with your token from ngrok dashboard ngrok.set_auth_token("TOKEN") # Start ngrok public_url = ngrok.connect(8765) print('Public URL:', public_url)
Example: Public URL: NgrokTunnel: "https:// URL .app"
Paste the URL into ("Client.py") -> server_uri = "wss:// URL .app"
-
Configure AWS credentials:
- Set up AWS credential file
- Configure DynamoDB access
-
Run components:
# Open and run server.ipynb in Google Colaboratory Server.ipynb # Run client application python client.py # Open and run dashboard python dashboard.py
- Requires stable internet connection
- Face recognition accuracy depends on image quality and lighting
- Google Colaboratory session time limits
- Processing latency depends on network conditions
- Migration to more stable cloud infrastructure
- Implementation of automatic backup mechanisms
- Face recognition accuracy improvements
- Offline mode capabilities
- Advanced security features
Contributions to improve this system are welcome. Please follow these steps:
- Star this repository
- Fork the repository
- Create a feature branch
- Commit your changes
- Push to the branch
- Create Pull Request
If you have any questions or suggestions, please open a new issue in this repository.