Skip to content

rmanales10/FaceAttend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

14 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

FaceAttend - AI-Powered Attendance Management System

Flutter Firebase Dart

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.

๐Ÿš€ Features

Core Functionality

  • 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

Key Screens

  • 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

Screenshots would be added here showing the main app interface

๐Ÿ› ๏ธ Technology Stack

Frontend

  • Flutter: Cross-platform mobile development framework
  • Dart: Programming language
  • GetX: State management and navigation
  • Material Design: UI/UX framework

Backend & Services

  • Firebase Authentication: User authentication and authorization
  • Cloud Firestore: NoSQL database for real-time data
  • Firebase Dynamic Links: Deep linking capabilities

AI & Machine Learning

  • TensorFlow Lite: On-device face recognition model (mobilefacenet.tflite)
  • Camera Integration: Real-time camera feed processing
  • Face Detection: Advanced facial feature recognition

Additional Libraries

  • 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

๐Ÿ“‹ Prerequisites

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)

๐Ÿ”ง Installation & Setup

1. Clone the Repository

git clone <repository-url> cd FaceAttend

2. Install Dependencies

flutter pub get

3. Firebase Configuration

Android Setup

  1. Download google-services.json from your Firebase project
  2. Place it in android/app/google-services.json
  3. Ensure Firebase project has Authentication and Firestore enabled

iOS Setup

  1. Download GoogleService-Info.plist from your Firebase project
  2. Add it to your iOS project in Xcode
  3. Configure Firebase for iOS in your project

4. Face Recognition Server Setup (Optional)

If you want to use the advanced face recognition features:

# Install Node.js dependencies npm install # Start the face recognition server npm start

The server will run on http://localhost:3000

5. Run the Application

# For Android flutter run # For iOS flutter run -d ios # For Web flutter run -d web

๐Ÿ“ Project Structure

lib/ โ”œโ”€โ”€ 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 

๐ŸŽฏ Usage

Basic Attendance Flow

  1. Login: Authenticate using email/password
  2. Create Attendance: Set up attendance session with date and subject
  3. Mark Attendance: Use face recognition or manual tap-to-mark
  4. View Reports: Analyze attendance data and generate reports
  5. Export Data: Generate Word documents with attendance records

Face Recognition Features

  1. Start Recognition: Tap the face recognition button
  2. Camera Access: Grant camera permissions when prompted
  3. Real-time Detection: View live camera feed with face detection
  4. Automatic Marking: Students are automatically marked present when recognized
  5. Manual Override: Option to manually mark students if recognition fails

๐Ÿ” Security Features

  • 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

๐Ÿ“Š Data Management

Firebase Collections

  • 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

Data Export

  • Word Documents: Export attendance sheets as .docx files
  • CSV Format: Structured data export for analysis
  • PDF Reports: Formatted attendance reports

๐Ÿš€ Deployment

Android

flutter build apk --release # or flutter build appbundle --release

iOS

flutter build ios --release

Web

flutter build web --release

๐Ÿค Contributing

  1. Fork the repository
  2. Create a feature branch (git checkout -b feature/AmazingFeature)
  3. Commit your changes (git commit -m 'Add some AmazingFeature')
  4. Push to the branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

๐Ÿ“ License

This project is licensed under the MIT License - see the LICENSE file for details.

๐Ÿ†˜ Support

If you encounter any issues or have questions:

  1. Check the Issues page
  2. Create a new issue with detailed information
  3. Contact the development team

๐Ÿ”ฎ Future Enhancements

  • 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

๐Ÿ“ž Contact

Development Team


Made with โค๏ธ using Flutter

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages