Skip to content

Latest commit

ย 

History

17 Commits

Folders and files

NameName
Last commit message
Last commit date
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

TutorU

License: MIT Python 3.10+ FastAPI Google Gemini Render

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/


Table of Contents

  1. Project Description
  2. Features
  3. Architecture
  4. How to Install and Run the Project
  5. How to Use the Project
  6. How to Contribute to the Project
  7. Credits
  8. License

Project Description

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.

Features

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

Architecture

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
Loading

How to Install and Run the Project

Prerequisites

  • Python 3.10+
  • Google Gemini API Key
  • Git

Installation Steps

  1. Clone the repository:
git clone https://github.com/AnandkumarMall/TutorU.git
cd TutorU
  1. 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
  1. Configure environment variables: Create a .env file in the project root:
GOOGLE_API_KEY=your_gemini_api_key_here
SECRET_KEY=your_secure_random_string_here
  1. Run the application: Start the FastAPI server using Uvicorn:
uvicorn main:app --reload

The app will be available at http://127.0.0.1:8000.

How to Use the Project

  1. Open the application in your browser.
  2. Click Create New Course and enter a topic (e.g., "Introduction to Python").
  3. Wait for the AI to generate the chapters, select the ones you want, and proceed.
  4. Navigate to your Dashboard to see your daily scheduled tasks.
  5. Click on a lesson to read it, or use the AI Tutor sidebar to ask questions about the text.
  6. Take the generated quizzes to track your progress!

How to Contribute to the Project

We welcome contributions! If you would like to help improve TutorU:

  1. Fork the repository.
  2. Create a new branch for your feature (git checkout -b feature/amazing-feature).
  3. Commit your changes (git commit -m 'Add some amazing feature').
  4. Push to the branch (git push origin feature/amazing-feature).
  5. Open a Pull Request.

Please ensure your code follows standard PEP 8 guidelines and doesn't break any existing routes.

Credits

Built and maintained by Anand Kumar Mall.

License

This project is licensed under the MIT License. You are free to modify and use it for commercial purposes.

About

AI-Powered Learning Platform: Generate personalized courses with chapters, lessons, quizzes, and an RAG-based AI tutor using Google's Gemini. Built with Flask, LangChain, and Bootstrap. ๐Ÿš€

Resources

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages