StudyRAG is a premium, AI-powered study assistant designed to help students master their subjects through Retrieval-Augmented Generation (RAG). It transforms your static notes into an interactive knowledge base with automated flashcards, quizzes, and visual analytics.
- Ask questions directly to your uploaded notes.
- "Exam Mode" for strict, syllabus-focused tutoring.
- Asymmetric, modern chat UI for intuitive interaction.
- Automatically generate flashcards from PDFs and images.
- Spaced Repetition System (SRS) for long-term retention.
- Tinder-style swipe interface for active recall.
- Dynamic MCQ generation based on note content.
- Real-time scoring and performance summary.
- Progressive difficulty scaling.
- Weekly activity tracking with interactive bar charts.
- Retention trend lines to visualize your progress.
- Mastery stats for every subject.
- Automated notification system for upcoming exams.
- Color-coded urgency badges (Red/Orange/Green).
Built with a Premium Glassmorphism aesthetic:
- Sleek Dark Mode: Deep slate and neon violet palette.
- Floating Navigation: Custom frosted-glass bottom navbar.
- Smooth Animations: Staggered list entries and micro-interactions powered by
flutter_animate.
- State Management:
flutter_riverpod(MVVM Architecture) - Navigation: Custom Floating Glass Navbar
- Database:
Hive(High-speed local persistence) - Charts:
fl_chart - Typography:
Google Fonts (Inter)
- Core: FastAPI for high-performance async requests.
- LLM: OpenAI/LangChain for RAG and content generation.
- OCR: Automated text extraction from images and PDFs.
-
Clone the repository:
git clone https://github.com/dj2313/StudyRAG.git cd StudyRAG -
Setup Backend:
cd studyrag/backend python -m venv venv source venv/bin/activate # or venv\Scripts\activate on Windows pip install -r requirements.txt # Configure your .env file with API keys uvicorn app.main:app --reload
-
Setup Frontend:
cd ../../persona flutter pub get flutter run
The project follows a strict separation of concerns:
- Models: Data entities and schemas.
- Views: UI components and screens.
- ViewModels: Riverpod providers managing state and business logic.
- Services: API and storage handlers.
This project is licensed under the MIT License - see the LICENSE file for details.
Contributions are welcome! Feel free to open an issue or submit a pull request.
Made with ❤️ by dj2313
