A production-grade mini AI-driven learning system built with FastAPI, React, PostgreSQL, and OpenAI API.
This platform allows users to:
- Register and log in
- Choose a category and sub-category to learn
- Send prompts to an AI (OpenAI GPT)
- View AI-generated lessons
- Track learning history
- Admin view to manage all users and prompts
Backend: Python (FastAPI), SQLAlchemy, PostgreSQL, Uvicorn
Frontend: React, TypeScript, MUI
AI: OpenAI GPT-3.5
DevOps: Docker & Docker Compose
Tools: dotenv, Axios, React Router, VSCode
AI-Learning-Platform/
├── backend/
│ ├── app/
│ │ ├── models/
│ │ ├── routes/
│ │ ├── services/
│ │ ├── schemas/
│ │ └── main.py
│ ├── Dockerfile
│ └── requirements.txt
├── frontend/
│ ├── src/
│ │ ├── pages/
│ │ ├── features/
│ │ ├── components/
│ │ └── api/
│ ├── Dockerfile
│ └── package.json
└── docker-compose.yml
-
Navigate to backend directory:
cd backend -
Create virtual environment:
python -m venv .venv source .venv/bin/activate -
Install dependencies:
pip install -r requirements.txt
-
Add
.envfile:OPENAI_API_KEY=your_key_here DATABASE_URL=postgresql+asyncpg://postgres:password@db:5432/learning
-
Run backend:
uvicorn app.main:app --reload
-
Navigate to frontend:
cd frontend -
Install packages:
npm install
-
Run React app:
npm run dev
To start everything (backend + db):
docker-compose up --build# backend/.env
OPENAI_API_KEY=sk-************************************
DATABASE_URL=postgresql+asyncpg://postgres:password@db:5432/learningPOST /users/register— Register a userPOST /users/login— Log in a userGET /categories/,GET /sub-categories/:namePOST /prompts/— Submit prompt and get AI answerGET /prompts/user/:id— View user history- Admin:
GET /prompts/,GET /users/, etc.
- Modular architecture (models/routes/services)
- AI integration via OpenAI API
- Dynamic category + sub-category structure
- Admin dashboard for full user & prompt control
- Full error handling & validation
- Clean UI with Material Design
Public repository:
https://github.com/RachelGenauer/AI-Learning-Platform
Built in 2-3 days as part of a technical fullstack assignment.
Focused on clear architecture, modular code, and real-world standards.
© 2025 Rachel Genauer. All rights reserved.
You can clone the project and start working locally with the following command:
git clone https://github.com/RachelGenauer/AI-Learning-Platform.git
cd AI-Learning-Platform