StudyBuddy is a web‑based AI chatbot that ingests your Python‑course syllabus, generates leveled coding challenges, checks solutions, hints when you’re stuck, and keeps you on track with customizable notifications.
| Link | |
|---|---|
| Live App | http://uchipython.duckdns.org/ |
| Demo Video | https://disk.yandex.ru/i/kHkq3orwnzELYw |
Learning to program is equal parts practice and pacing. Students often fall behind because they (a) don’t know which exercises match the current topic, or (b) not enough practice.
StudyBuddy solves both problems in one place:
- Auto‑curated practice – Upload a course syllabus and the bot proposes relevant tasks for each lecture, from beginner to advanced.
- Real‑time checking & hints – The built‑in evaluator runs submitted code in a sandbox and reports pass/fail, plus incremental hints.
- Progress tracker – Tracks your overall practice progress, such as total number of problems solved.
- Smart reminders – Customizable email notifications nudge students to practice just enough, right on schedule.
Together this forms a lightweight learning‑platform experience without the overhead of a full LMS.
| Role | Details |
|---|---|
| Client | Naveed Zafar |
| Target Users | University students taking Programming in Python |
| External Services | • DeepSeek – task & hint generation |
| • SQLite – persistent user data & progress | |
| • Email – outbound reminders |
- Chat interface skeleton
- AI task‑generation logic
- Difficulty level selector
- Code submission & instant eval
- Syllabus .txt and .pdf upload
- Registration & login
- Admin mode via special password
- Teacher syllabus upload
- Email reminders
- Progress tracker dashboard
- “Learning‑platform” niceties (badges, streaks)
- Full QA & edge‑case handling
- Responsive design audit
- Load‑test & performance tweaks
- Live deployment & DNS
- Public demo video
-
Visit the app → http://uchipython.duckdns.org/.
-
Sign Up / Log In: email + password. Admin? Click “Admin Login” and enter password.
-
Students:
- Pick topic.
- Choose difficulty (Easy / Medium / Hard) → receive auto‑generated tasks.
- Code in the built‑in editor, hit Run & Check.
- View result, ask for a Hint if needed.
- Track your progress bar.
-
Admins:
- Upload or edit the course syllabus.
Requires Python 3.11+.
# 1. Clone the repository
git clone https://github.com/<your-org>/studybuddy.git
cd studybuddy
# 2. Create & activate a virtual environment
python -m venv .venv
# On Windows:
.\.venv\Scripts\activate
# On macOS/Linux:
# source .venv/bin/activate
# 3. Install Python dependencies
pip install requirements.txt
# 4. Set environment variables (in a .env file):
# OPENROUTER_API_KEY=your_openrouter_key
# ADMIN_PASSWD=your_admin_password
# DATABASE_URL=postgresql://user:pass@localhost/dbname
# EMAIL_API_KEY=your_email_service_key
# 5. Run the backend server
uvicorn main:app --reload --port 8005# Build and start services (FastAPI + Nginx)
docker compose up --build
See LICENSE.txt for information.
