How adhishthanashok/adaptivelearn works
AdaptiveLearn is a short-form educational video platform with educator content authoring and student assessment. The main learner loop is sign-in, browse the feed, watch a video, answer its quiz, and review attempts; documented adaptive recommendations build on that learning activity. The graph captures the sampled frontend calls and backend registration/authentication wiring. Other route behavior and recommendation or knowledge-tracking internals are not shown in the sampled source, so their detailed connections are omitted.
Main entry points: main.py API application · api.ts Frontend API client · database.py Database sessions · page.tsx Sign in / register
Components 20
Student learning
- Sign in / register
frontend/app/auth/page.tsx - Browser auth state
frontend/lib/auth.ts - Video feed
frontend/app/page.tsx - Video player
frontend/components/VideoPlayer.tsx - Quiz interaction
frontend/components/QuizOverlay.tsx - Quiz history
frontend/app/history/page.tsx - Frontend API client
frontend/lib/api.ts
Educator authoring
- Educator dashboard
frontend/app/educator/page.tsx
API and identity
- API application
backend/app/main.py - Authentication routes
backend/app/api/routes/auth.py - Feed routes
backend/app/api/routes/feed.py - Quiz routes
backend/app/api/routes/quizzes.py - View routes
backend/app/api/routes/views.py - Educator routes
backend/app/api/routes/educator.py - JWT and roles
backend/app/core/security.py
Persistence
- Learning data models
backend/app/models/models.py - Database sessions
backend/app/db/database.py
Other components
- Student
- Educator
- PostgreSQL
Connections 24
- Student → Sign in / register: signs in
- Sign in / register → Frontend API client: submits credentials
- Sign in / register → Browser auth state: stores session
- Student → Video feed: opens feed
- Video feed → Frontend API client: requests feed
- Video feed → Video player: shows videos
- Video player → Frontend API client: loads quiz, records view
- Video player → Quiz interaction: presents quiz
- Quiz interaction → Frontend API client: submits answer
- Student → Quiz history: reviews attempts
- Quiz history → Frontend API client: requests history
- Educator → Educator dashboard: manages content
- Educator dashboard → Frontend API client: creates and lists content
- Frontend API client → API application: HTTP API requests
- API application → Authentication routes: registers routes
- API application → Feed routes: registers routes
- API application → Quiz routes: registers routes
- API application → View routes: registers routes
- API application → Educator routes: registers routes
- Authentication routes → JWT and roles: hashes and issues tokens
- Authentication routes → Database sessions: queries and updates
- API application → Database sessions: creates tables
- Database sessions → PostgreSQL: connects
- Database sessions → Learning data models: maps schema