Live demo (development): https://django-5min-languageapp.onrender.com/
Status: 🚧 Heavy work in progress. Not production-ready.
QuickLesson is a safety-first language conversation platform focused on:
- Student ↔ Approved Tutor only
- Strict 5-minute lesson limit
- No dating / erotic / casual chat misuse
Talk for 5 minutes. Learn. The session ends.
- ❌ No random user-to-user calls
- ❌ No long or endless sessions
- ✅ Short, focused language practice
- ✅ Built for moderation from day one
Internal system roles remain student / tutor / admin.
| Language | Waiting side | Joining side |
|---|---|---|
| Japanese | 相手役 | 参加者 |
| English | Partner | Guest |
| Spanish | Guía | Participante |
| French | Guide | Participant |
- Python / Django
- SQLite (dev only)
- Server-rendered templates + lightweight custom CSS
- LessonLanguage — supported languages
- StudentProfile — minimal student profile
- TutorProfile
- supported languages (ManyToMany)
is_onlinecan_interview- (planned)
is_approved
- QuickLessonRequest
- lesson request (
waiting / matched / cancelled) purpose:lesson / interview
- lesson request (
- QuickLessonMatch
- who matched with whom
started_at / end_at(5-minute slot)price(future credits)- room metadata (future WebRTC)
- Login
- Select a language
- Request a 5-minute lesson
- Backend searches for tutors that are:
- online
- approved
- compatible with the requested language
- If matched → lesson room
- If not → waiting screen with auto-retry
- Login
- Open
/tutor/dashboard/ - Toggle online/offline
- Get matched automatically
- View recent lesson history (minimal)
- Django Admin:
- manage languages
- create users
- link profiles
- Planned:
- role management
- tutor approval workflow
- Enforce strict Student ↔ Tutor only logic everywhere
- Real 5-minute enforcement (server + client)
- In-browser WebRTC video(Daily Prebuilt)
- Admin monitoring & recording
- Reports / bans / moderation tools
- Credit-based payments (anti-abuse)
pip install -r requirements.txt
python manage.py migrate
python manage.py createsuperuser
python manage.py runserver