Skip to content

0xteamMuffin/LearnAbility

Repository files navigation

LearnAbility: Personalized & Accessible Learning 🚀

Platforms License: GPL v3 GitHub stars GitHub forks

Important Backend Notice:

The backend code (API, database setup, AI service integration) resides in its own repository. Please refer to the LearnAbility Backend Repository for backend setup instructions and code. You will need to have the backend services running for the frontend application to function fully.


✨ Our Solution: LearnAbility

Meet LearnAbility – your personalized learning co-pilot! 🧑‍✈️ We're transforming how students learn using AI to turn standard course materials (notes, PDFs, etc.) into tailored, interactive lessons.

Key Ideas:

  • 🧠 Personalized Paths: Content adapts to individual learning styles and pace.
  • Accessibility Core: Built with features for visual, auditory, and cognitive accessibility.
  • 📱 Mobile First: Delivered through a cross-platform Flutter application.

We aim to provide an equitable and engaging learning experience for every student.

🌟 Core Features

  • 🤖 AI Content Generation: Automatically creates lessons, quizzes, and summaries from your uploaded materials (notes, PDFs, etc.).
  • 📈 Adaptive Learning: Intelligently adjusts content difficulty and provides personalized feedback based on your progress.
  • Accessibility Suite: Includes high-contrast themes, adjustable text sizes, dyslexia-friendly fonts (like OpenDyslexic), text-to-speech output, and potential for voice navigation.
  • 🎮 Interactive Learning: Offers engaging lesson formats, dynamic quizzes, and visual progress tracking to keep you motivated.
  • 🔍 Smart Search: Leverages vector search (Milvus) to quickly find the most relevant information within your study materials.

🛠️ Technology Stack

  • Frontend: Flutter, Dart 📱
  • Backend: Node.js, Express.js, TypeScript ⚙️
  • Database: PostgreSQL, Milvus (Vector DB) 💾
  • AI: Google Vertex AI (Gemini API, RAG) 🧠
  • Validation: Zod (Backend) ✅
  • Authentication: JWT 🔑
  • Containerization: Docker & Docker Compose (for Backend Services) 🐳

🏗️ Architecture Overview

  • The application consists of a Flutter frontend communicating with the backend API built with Node.js and written in TypeScript. The backend handles business services logic, data storage, and AI interactions.
  • Prisma ORM for PostgreSQL, Milvus for vector search, and Google Vertex AI (Gemini) for AI tasks.
flowchart LR
    User[User via Flutter App] --> API[Backend Express API]
    API --> Auth[Auth Middleware]
    Auth --> Routes[API Routes]
    Routes --> Handlers[Request Handlers]
    Handlers --> Services[Business Logic Services]
    Services --> Gemini[Gemini AI Service]
    Services --> Milvus[Milvus Service]
    Services --> Prisma[Prisma ORM]
    Prisma --> DB[(PostgreSQL DB)]
    Milvus --> MilvusDB[(Milvus Vector DB)]
    Gemini --> VertexAI[Google Vertex AI]

    style API fill:#f9f,stroke:#333,stroke-width:2px
    style DB fill:#ccf,stroke:#333,stroke-width:2px
    style MilvusDB fill:#cdf,stroke:#333,stroke-width:2px
    style VertexAI fill:#fca,stroke:#333,stroke-width:2px
Loading

🚀 Getting Started (Overview)

This repository contains the Flutter Frontend for LearnAbility. The backend service is maintained in a separate repository.

Important Backend Notice:

The backend code (API, database setup, AI service integration) resides in its own repository. Please refer to the LearnAbility Backend Repository for backend setup instructions and code. You will need to have the backend services running for the frontend application to function fully.

Frontend Setup:

  1. Ensure you have the Flutter SDK installed.
  2. Clone this repository: git clone https://github.com/0xteamMuffin/LearnAbility.git
  3. Navigate to the project directory: cd LearnAbility
  4. Install dependencies: flutter pub get
  5. Ensure the backend services are running (see the Backend Repository for instructions).
  6. Run the Flutter application: flutter run (select your target device/emulator).

(Prerequisites: Flutter, Dart, Git. See backend repository for its prerequisites like Node.js, Docker)

🔗 Project Repositories

🍪 Meet the Team

📜 License

Licensed under the GNU General Public License v3.0.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors