Summary
Right now the app is registration + login + enroll in course — the absolute baseline of a tutorial. Adding one non-trivial feature transforms it from "I can follow instructions" to "I can build things."
Feature Ideas (Pick One or More)
| Feature |
Complexity |
What It Demonstrates |
| Search/filter courses by term, credits, or keyword |
Low |
Query building, UX thinking |
| Admin panel for managing courses (add/edit/delete) with role-based access |
Medium |
Authorization, RBAC, form design |
| User dashboard with enrollment history |
Low-Medium |
Aggregation pipelines, data presentation |
| Email confirmation on registration (via Flask-Mail) |
Medium |
Async workflows, external service integration |
| Rate limiting on API endpoints |
Low |
Security awareness, middleware patterns |
| Export enrollment as CSV or PDF |
Low |
File generation, content-type handling |
| Background task for email notifications on enrollment (Celery + Redis) |
High |
Task queues, distributed architecture |
Tasks
Why This Matters
The difference between a tutorial project and a portfolio project is originality. One feature that wasn't in the tutorial demonstrates independent problem-solving and creativity — exactly what interviewers are looking for.
Priority
P2 — Strengthens it | Effort: Large (varies by feature)
Summary
Right now the app is registration + login + enroll in course — the absolute baseline of a tutorial. Adding one non-trivial feature transforms it from "I can follow instructions" to "I can build things."
Feature Ideas (Pick One or More)
Tasks
Why This Matters
The difference between a tutorial project and a portfolio project is originality. One feature that wasn't in the tutorial demonstrates independent problem-solving and creativity — exactly what interviewers are looking for.
Priority
P2 — Strengthens it | Effort: Large (varies by feature)