An AI-powered web application that generates personalized courses, schedules, and quizzes on any topic using Google Gemini.
Live Demo: https://tutoru-1v05.onrender.com/
- Project Description
- Features
- Architecture
- How to Install and Run the Project
- How to Use the Project
- How to Contribute to the Project
- Credits
- License
TutorU allows you to type in a topic and instantly receive a fully structured curriculum. It solves the problem of not knowing where to start when learning a new skill. It creates chapters, writes comprehensive markdown lessons, and generates adaptive quizzes to test your knowledge.
The app also features a Retrieval-Augmented Generation (RAG) AI Tutor that can answer questions based strictly on the generated lesson material without hallucinating outside facts.
- AI Course Generation: Auto-generates chapters, lessons, and quizzes based on a single topic prompt.
- Smart Scheduling: Plans out your lessons and quizzes daily.
- Context-Aware AI Tutor: Ask questions about specific lessons using the built-in RAG chatbot.
- Adaptive Quizzes: Auto-generates multiple-choice quizzes with instant grading and feedback.
- Modern Minimal UI: Clean, professional design built with a custom CSS framework on top of Bootstrap.
TutorU is a monolith built on FastAPI, using SQLite for persistence and ChromaDB for local vector storage.
flowchart LR
User([User]) -->|Creates Course| FastAPI[FastAPI App]
FastAPI -->|Stores metadata| DB[(SQLite DB)]
FastAPI <-->|Generates Content| Gemini[Google Gemini AI]
FastAPI -->|Embeds lessons| Chroma[(ChromaDB Vector Store)]
User -->|Asks Question| Tutor[AI Tutor RAG]
Tutor <-->|Fetches Context| Chroma
Tutor <-->|Answers| Gemini
- Python 3.10+
- Google Gemini API Key
- Git
- Clone the repository:
git clone https://github.com/AnandkumarMall/TutorU.git
cd TutorU- Create a virtual environment and install dependencies:
python -m venv .venv
source .venv/bin/activate # On Windows: .venv\Scripts\activate
pip install -r requirements.txt- Configure environment variables:
Create a
.envfile in the project root:
GOOGLE_API_KEY=your_gemini_api_key_here
SECRET_KEY=your_secure_random_string_here- Run the application: Start the FastAPI server using Uvicorn:
uvicorn main:app --reloadThe app will be available at http://127.0.0.1:8000.
- Open the application in your browser.
- Click Create New Course and enter a topic (e.g., "Introduction to Python").
- Wait for the AI to generate the chapters, select the ones you want, and proceed.
- Navigate to your Dashboard to see your daily scheduled tasks.
- Click on a lesson to read it, or use the AI Tutor sidebar to ask questions about the text.
- Take the generated quizzes to track your progress!
We welcome contributions! If you would like to help improve TutorU:
- Fork the repository.
- Create a new branch for your feature (
git checkout -b feature/amazing-feature). - Commit your changes (
git commit -m 'Add some amazing feature'). - Push to the branch (
git push origin feature/amazing-feature). - Open a Pull Request.
Please ensure your code follows standard PEP 8 guidelines and doesn't break any existing routes.
Built and maintained by Anand Kumar Mall.
- GitHub: @AnandkumarMall
- Powered by FastAPI, LangChain, and Google Gemini.
This project is licensed under the MIT License. You are free to modify and use it for commercial purposes.