FaceAttend is a comprehensive Flutter-based attendance management system that leverages AI-powered face recognition technology to automate student attendance tracking. The application provides both traditional manual attendance methods and cutting-edge facial recognition capabilities.
- AI-Powered Face Recognition: Real-time face detection and student identification
- Manual Attendance: Traditional tap-to-mark attendance system
- Multi-Platform Support: Android, iOS, Web, and Desktop compatibility
- Real-time Data Sync: Firebase Cloud Firestore integration
- User Authentication: Secure login/registration with Firebase Auth
- Attendance Reports: Comprehensive reporting and analytics
- Student Management: Complete student data management
- Document Generation: Export attendance data to Word documents
- Welcome Screen: App introduction and navigation
- Authentication: Login, Registration, and Password Recovery
- Dashboard: Main navigation hub with bottom navigation
- Home: Overview and quick access to features
- Attendance: Face recognition and manual attendance marking
- Reports: Attendance analytics and data visualization
- Profile: User profile management
- Student Data: Student information management
Screenshots would be added here showing the main app interface
- Flutter: Cross-platform mobile development framework
- Dart: Programming language
- GetX: State management and navigation
- Material Design: UI/UX framework
- Firebase Authentication: User authentication and authorization
- Cloud Firestore: NoSQL database for real-time data
- Firebase Dynamic Links: Deep linking capabilities
- TensorFlow Lite: On-device face recognition model (
mobilefacenet.tflite) - Camera Integration: Real-time camera feed processing
- Face Detection: Advanced facial feature recognition
- fl_chart: Data visualization and charts
- table_calendar: Calendar widget for date selection
- image_picker: Image capture and selection
- docx_template: Document generation
- webview_flutter: WebView integration for face recognition
- permission_handler: Device permissions management
Before running this application, ensure you have:
- Flutter SDK (3.5.4 or higher)
- Dart SDK (included with Flutter)
- Android Studio or VS Code with Flutter extensions
- Firebase Project with Authentication and Firestore enabled
- Node.js (for face recognition server - optional)
git clone <repository-url> cd FaceAttendflutter pub get- Download
google-services.jsonfrom your Firebase project - Place it in
android/app/google-services.json - Ensure Firebase project has Authentication and Firestore enabled
- Download
GoogleService-Info.plistfrom your Firebase project - Add it to your iOS project in Xcode
- Configure Firebase for iOS in your project
If you want to use the advanced face recognition features:
# Install Node.js dependencies npm install # Start the face recognition server npm startThe server will run on http://localhost:3000
# For Android flutter run # For iOS flutter run -d ios # For Web flutter run -d weblib/ โโโ main.dart # App entry point โโโ firebase_options.dart # Firebase configuration โโโ src/ โโโ user/ # User-facing features โ โโโ main_screen/ # Authentication screens โ โ โโโ welcome.dart โ โ โโโ login.dart โ โ โโโ register.dart โ โ โโโ forgot_password.dart โ โโโ dashboard/ # Main app dashboard โ โ โโโ dashboard.dart # Bottom navigation โ โ โโโ list_screen/ # Feature screens โ โ โโโ home/ # Home screen โ โ โโโ attendance/ # Attendance management โ โ โโโ report/ # Reports and analytics โ โ โโโ profile/ # User profile โ โ โโโ student_data/ # Student management โ โโโ api_services/ # API service classes โโโ widgets/ # Reusable UI components โโโ color_constant.dart โโโ reusable_function.dart โโโ snackbar_utils.dart - Login: Authenticate using email/password
- Create Attendance: Set up attendance session with date and subject
- Mark Attendance: Use face recognition or manual tap-to-mark
- View Reports: Analyze attendance data and generate reports
- Export Data: Generate Word documents with attendance records
- Start Recognition: Tap the face recognition button
- Camera Access: Grant camera permissions when prompted
- Real-time Detection: View live camera feed with face detection
- Automatic Marking: Students are automatically marked present when recognized
- Manual Override: Option to manually mark students if recognition fails
- Firebase Authentication: Secure user authentication
- Role-based Access: Different access levels for users
- Data Encryption: Secure data transmission and storage
- Permission Management: Proper handling of device permissions
- Users: User profiles and authentication data
- Students: Student information and enrollment data
- Attendance: Attendance records with timestamps
- Subjects: Course and subject information
- Reports: Generated attendance reports
- Word Documents: Export attendance sheets as
.docxfiles - CSV Format: Structured data export for analysis
- PDF Reports: Formatted attendance reports
flutter build apk --release # or flutter build appbundle --releaseflutter build ios --releaseflutter build web --release- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
If you encounter any issues or have questions:
- Check the Issues page
- Create a new issue with detailed information
- Contact the development team
- Multi-language support
- Advanced analytics dashboard
- Integration with school management systems
- Offline mode capabilities
- Enhanced face recognition accuracy
- Biometric authentication
- Push notifications for attendance alerts
Development Team
- Email: [your-email@domain.com]
- Project Link: [https://github.com/your-repo/FaceAttend]
Made with โค๏ธ using Flutter