Glypha is a context-aware learning app that enhances how kids and adult alike engage with educational content. By combining robust state management, cloud-based data synchronization, and gamified learning elements, the app provides a personalized and immersive educational journey.
Designed with a focus on scalability and clean architecture, Glypha leverages the power of Flutter and Firebase to deliver a seamless experience across multiple platforms, ensuring that learning is both accessible and engaging.
- Intelligent content delivery based on user progression and interaction.
- Integrated Flame engine components for engagement & interactive learning modules.
- Secure user access w/firebase auth, including Google and Apple Sign-in integration.
- Cloud firestore integration for data persistence & cross-device syncing.
- Local storage using Hive for a flexible experience without active internet connection.
- Responsive design using Flutter ScreenUtil & smooth transitions with Flutter Animate.
- Built with Riverpod for state management & Go Router for declarative navigation.
- Flutter SDK (>= 3.1.0)
- Dart SDK
- Firebase CLI (for backend configuration)
-
Clone the Repository
git clone https://github.com/trillionclues/micro_habits.git cd glypha -
Install Dependencies
flutter pub get
-
Configure Firebase Ensure you have your
google-services.json(Android) andGoogleService-Info.plist(iOS) placed in the respective directories. You can also use the FlutterFire CLI:flutterfire configure
-
Run Code Generation The project uses
build_runnerfor dependency injection and serialization.dart run build_runner build --delete-conflicting-outputs
-
Launch the Application
flutter run
To populate your Firestore instance with sample educational content, use the provided seeding script. This is essential for testing the context-aware features.
- Navigate to the project root.
- Run the following command:
dart scripts/seed_questions.dart
Note: Ensure your Firestore rules allow writes during this process or use an authorized environment.
- State Management: Riverpod providers are located in the logic layers.
- Routing: All routes are managed via Go Router for deep-linking support.
- Game Elements: The
Flameengine is utilized for specific interactive modules within the learning path.
| Technology | Purpose |
|---|---|
| Flutter | Cross-platform UI Framework |
| Firebase | Backend, Auth, and Database |
| Riverpod | Reactive State Management |
| Flame | 2D Game Engine for Gamification |
| Hive | Lightweight NoSQL Local Database |
| Dio | HTTP Client |
| Go Router | Declarative Routing |
- Twitter: @trillionclues
- LinkedIn: Excel Nwachukwu
- Portfolio: trillionclues.dev