Skip to content

prakhar362/Edumate-app

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

69 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸŽ“ Edumate: Your AI-Powered Learning Companion

Standard - Expo Standard - FastAPI Standard - MongoDB Standard - Gemini

Edumate is a state-of-the-art educational application designed to transform how you consume and learn from documents. By leveraging advanced AI, Edumate converts static PDFs into interactive summaries, audio experiences, and smart quizzes.

Want to see the App?

Click here: https://appetize.io/app/b_zdef4khdymkld5dwifymkj5dea

Want to download the App (Android version)?

Click here: https://drive.google.com/file/d/1-haxJelWiwj_aRDNgr2MBb75OFtxLYHN/view?usp=sharing


πŸ“Έ App Screenshots

Auth & Google Login Home Screen Library View Create Page
Auth Home Library Create
Summary Page Interactive Quiz User Profile Forgot Password (OTP)
Summary Quiz Profile Forgot Password

πŸ”„ How it Works

Edumate uses a sophisticated pipeline to ensure you get the best learning experience:

  1. Upload: You upload a study document (PDF).
  2. Analysis: The backend extracts the text, breaks it into semantic chunks, and creates vector embeddings to understand the context.
  3. Summarization: Google Gemini processes the content to generate a structured, easy-to-read summary.
  4. Interactive Learning:
    • Audio Generation: The summary is converted to speech.
    • Visual Sync: As you listen, the app highlights the corresponding text in real-time.
    • Quiz Time: Edumate generates 5-10 multiple-choice questions based on the source material to test your retention.
  5. Organization: Your summaries are stored in your library and can be organized into playlists for later review.

✨ Key Features

  • πŸš€ Advanced Seq2Seq Summarization: Upload any PDF and get a structured "Concept Map + Summary" generated natively bypassing basic prompts using Hugging Face BART-large-cnn pipelines.
  • 🎡 Emotion-Aware Audio Experience: Listen to your summaries with high-quality Text-to-Speech adapting pacing automatically based on your RL performance and adopting unique voice expressions depending on subject matter semantics. Data synchronizes visually with highlighting.
  • 🧠 Reinforcement Learning Quizzes: Deep Learning quiz generation tuned via T5 inference limits and logic-based distractors. Content difficulty automatically adapts to your past scores using a built-in Epsilon-greedy Bandits RL Tracker.
  • πŸ” Intelligent RAG Retrieval: Powerful search using Hierarchical Chunking mapped directly through ChromaDB, explicitly verified and scored before generation using an MS-Marco Cross-Encoder Model ensuring zero-hallucination tracking.
  • πŸ“‚ Personalized Playlists: Organize your summaries and quizzes into custom playlists for structured learning sessions.
  • πŸ” Secure Authentication: Full authentication system supporting both Email/Password and Google Sign-in.
  • πŸ“Š Adaptive Progress Tracking: Earn scores on quizzes mapped secretly to your personalized learning Knowledge Vectors securely in MongoDB scaling your next outputs.

πŸ—οΈ Technical Architecture

Backend (FastAPI)

The backend is built with a seamlessly proxied and decentralized service-oriented architecture:

  • API Layer: FastAPI provides high-performance, asynchronous endpoints tightly protecting schema signatures.
  • Machine Learning Integration:
    • Seq2Seq Inference (BART): Powers abstraction over long documents locally reducing latency overhead across REST endpoints.
    • T5 Inference: Specifically tuned for deep learning quiz structure logic avoiding basic LLM hallucinations.
    • Adaptive Engine (RL Tracker): Secure algorithm hooking MongoDB scores organically into personalized future generation pacing/metrics.
    • ChromaDB + Cross Encoder RAG: A localized vector database managing hierarchical structures seamlessly re-ranked for ultimate query-awareness dynamically.
  • Media Processing:
    • Emotion-Aware TTS: Converts text summaries into adaptive natural-sounding audio natively scaling speeds alongside the RL engines.
    • PDF Service: Hierarchical extraction clustering semantic sections contextually.
  • Storage & Databases:
    • MongoDB: Primary database for user profiles, summary metadata, quizzes, recursive embedded user vectors, and playlists.
    • Cloudinary: Secure cloud storage for all uploaded PDFs and generated audio assets.
    • Redis: Used for caching and session management.

Frontend (Expo / React Native)

A premium mobile experience built for performance:

  • Expo Router: File-based routing for seamless navigation.
  • NativeWind: Utility-first styling with Tailwind CSS for a sleek, modern UI.
  • Zustand: Lightweight and fast state management.
  • Audio Synchronization: Custom implementation using expo-av to sync audio playback with text highlighting.

πŸ› οΈ Project Structure

Edumate-app/
β”œβ”€β”€ Edumate/                # Frontend (Expo/React Native)
β”‚   β”œβ”€β”€ app/                # Expo Router screens
β”‚   β”œβ”€β”€ components/         # Reusable UI components
β”‚   β”œβ”€β”€ store/              # Zustand state management
β”‚   └── api/                # Axios API services
└── backend/                # Backend (FastAPI)
    β”œβ”€β”€ app/
    β”‚   β”œβ”€β”€ routes/         # API Endpoints (Auth, Summarizer, Playlists)
    β”‚   β”œβ”€β”€ services/       # Business logic (Gemini, MongoDB, Cloudinary, TTS)
    β”‚   └── models/         # Pydantic & MongoDB models
    └── main.py             # Entry point

πŸš€ Getting Started

Prerequisites

  • Node.js (v18+)
  • Python (v3.10+)
  • MongoDB Instance
  • API Keys: Google Gemini, Cloudinary, Resend (for emails)

Backend Setup

  1. Navigate to the backend directory:
    cd backend
  2. Create and activate a virtual environment:
    python -m venv .venv
    source .venv/bin/activate  # On Windows: .venv\Scripts\activate
  3. Install dependencies:
    pip install -r requirements.txt
  4. Create a .env file based on the environment variables needed:
    MONGODB_URI=your_mongodb_uri
    GEMINI_API_KEY=your_gemini_key
    CLOUDINARY_CLOUD_NAME=your_name
    CLOUDINARY_API_KEY=your_key
    CLOUDINARY_API_SECRET=your_secret
  5. Run the server:
    uvicorn main:app --reload

Frontend Setup

  1. Navigate to the Edumate directory:
    cd Edumate
  2. Install dependencies:
    npm install
  3. Start the Expo development server:
    npx expo start

🀝 Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

πŸ“„ License

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


Made by Prakhar Shrivastava for better learning !

About

designed to transform how you consume and learn from documents. By leveraging advanced AI, Edumate converts static PDFs into interactive summaries, audio experiences, and smart quizzes.

Resources

License

Stars

1 star

Watchers

0 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors