A modern, fast, and privacy-focused Flutter application for tracking attendance, managing member engagement, and syncing data seamlessly with Google Sheets and Drive.
- Hub Dashboard: Quick overview of all events and recent attendance sessions.
- Member Management: Easily add, search, and edit member records with duplicate prevention.
- Event Tracking: Support for one-time and recurring events with smart "Last Missed" detection.
- Google Drive Sync: Secure, manual, and automatic backups of your attendance data to your personal Google Drive.
- Sheets Export: Integration with Google Sheets for advanced reporting and data analysis.
- Privacy First: No third-party servers; your data stays in your local storage and your Google account.
To use Google Drive Sync, you must enable the Google Drive API in the Google Cloud Console for your project:
- Visit the Google Drive API Overview
- Select your project.
- Click "Enable".
This project uses a .env file to manage sensitive configuration values like Google OAuth Client IDs and Firebase keys.
- Environment Setup:
- Copy the example environment file:
cp .env.example .env - Fill in your specific IDs and keys in the
.envfile.
- Copy the example environment file:
- Android: The project is configured to automatically read the
.envfile for build settings. - iOS: The project is configured to automatically read the
.envfile for build settings. - Run Command:
The app will automatically pick up the configuration from your
flutter run
.envfile at runtime.
Ensure the project's health by running the test suite:
# Static Analysis
flutter analyze
# Unit and Widget Tests
flutter test --coverage
dart run tool/check_coverage.dartlib/data/: Core data models and local repository logic.lib/features/: Feature-sliced architecture (Attendance, Auth, Hub, Settings, etc.).lib/features/auth/: Google OAuth configuration and services.integration_test/: Comprehensive E2E system scenarios.