Skip to content

trillionclues/glypha

Repository files navigation

Glypha

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.

Features

  • 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.

Installation

Prerequisites

  • Flutter SDK (>= 3.1.0)
  • Dart SDK
  • Firebase CLI (for backend configuration)

Setup Steps

  1. Clone the Repository

    git clone https://github.com/trillionclues/micro_habits.git
    cd glypha
  2. Install Dependencies

    flutter pub get
  3. Configure Firebase Ensure you have your google-services.json (Android) and GoogleService-Info.plist (iOS) placed in the respective directories. You can also use the FlutterFire CLI:

    flutterfire configure
  4. Run Code Generation The project uses build_runner for dependency injection and serialization.

    dart run build_runner build --delete-conflicting-outputs
  5. Launch the Application

    flutter run

Usage

Database Seeding

To populate your Firestore instance with sample educational content, use the provided seeding script. This is essential for testing the context-aware features.

  1. Navigate to the project root.
  2. Run the following command:
    dart scripts/seed_questions.dart

Note: Ensure your Firestore rules allow writes during this process or use an authorized environment.

Development Workflow

  • 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 Flame engine is utilized for specific interactive modules within the learning path.

Technologies Used

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

Author Info


Flutter Firebase Dart

Readme was generated by Dokugen

About

An AI-powered micro-knowledge builder that helps you learn in bite-sized chunks, supports fully offline-first architecture for uploading docs and learning anywhere

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages