A FastAPI + Alpine.js single-page app for running learning tracks with sprint planning, review boards, deadlines, spaced repetition, and revision history.
- Full SPA dashboard for creating tracks, filtering lanes, completing reviews, and logging study sessions without page reloads.
- Learning tracks with sprint focus, difficulty, weekly target hours, deadlines, progress, mastery score, and streak tracking.
- Spaced repetition workflow powered by review intervals and auto-generated review board cards.
- Review board with due, overdue, and upcoming cards plus one-click completion paths (
strong,solid,wobbly). - Revision history feed with session type, duration, confidence score, result, and scheduled next review snapshot.
- Lane pulse map for grouped progress and mastery visibility across backend, frontend, platform, AI, career, and algorithms tracks.
- Background scheduler that keeps due review cards in sync for active tracks.
- Render-ready deployment via
render.yamlwith demo data seeded on start.
This dashboard is optimized for desktop screens.
- Desktop: full support
- Tablet (landscape): full support
- Tablet (portrait): partial support
- Mobile: limited support
Some wide data tables require horizontal scrolling on smaller screens. For the best experience, use desktop or tablet in landscape mode.
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/snapshot |
Full dashboard payload (stats, tracks, review board, revision history, lane map) |
POST |
/api/tracks |
Create learning track |
PATCH |
/api/tracks/{track_id}/toggle-active |
Pause or reactivate track |
DELETE |
/api/tracks/{track_id} |
Delete track with related sessions and review cards |
POST |
/api/tracks/{track_id}/quick-review |
Log a quick revision session for a track |
POST |
/api/reviews/sync-due |
Generate due review cards for active tracks |
POST |
/api/reviews/{review_id}/complete |
Complete a review board card and log revision data |
GET |
/health |
Health check |
cd python-fastapi-learning-sprint-manager
python -m venv .venv
source .venv/bin/activate
pip install -r requirements.txt
uvicorn app.main:app --reloadOpen:
- UI:
http://127.0.0.1:8000 - API docs:
http://127.0.0.1:8000/docs
Seed a realistic local dataset (tracks, revision history, review cards):
cd python-fastapi-learning-sprint-manager
.venv/bin/python scripts/seed_demo.pyReset local demo data:
cd python-fastapi-learning-sprint-manager
.venv/bin/python scripts/reset_demo.pyrender.yaml is included in the repository. You can deploy directly from this config.