A web-based attendance system with facial recognition capabilities, time tracking, and admin dashboard. The system features a modern UI with animations and interactive elements for an enhanced user experience.
- Employee login system
- Camera capture for attendance verification
- Time and date stamping on images
- Admin dashboard to monitor check-in and check-out times
- Modern responsive UI with Tailwind CSS
- Animated UI elements using Animate.css
- Interactive data tables with sorting and filtering
- Real-time feedback for user actions
- Profile image management for employees
- Attendance record management with delete functionality
- Enhanced admin dashboard with animated statistics cards
- Improved check-in/check-out process with better error handling
- Added loading indicators during attendance processing
- Implemented animated alerts for success and error messages
- Fixed check-in error by improving image handling and error reporting
- Added profile image support for employees
- Place the project in your web server directory (e.g., xampp/htdocs/punch)
- Ensure the following directories exist and are writable:
uploads/attendance_images
uploads/profile_images
- Access the system via web browser at
http://localhost/punch
- Login with your employee ID and password
- Click "Start Camera" to activate your webcam
- Click "Check In" at the start of your workday
- Click "Check Out" when you finish your workday
- View your attendance history in the dashboard
- Login with admin credentials
- View overall attendance statistics
- Manage employee attendance records
- View and delete attendance records as needed
- Export attendance data to CSV
- PHP 7.4+
- Web server (Apache/Nginx)
- Modern web browser with camera access support
- Internet connection for CDN resources (Tailwind CSS, Font Awesome, etc.)
If you encounter issues with check-in or check-out:
- Ensure your camera is properly connected and permissions are granted
- Check that the uploads directories have proper write permissions
- Clear browser cache and cookies
- Try using a different browser if problems persist