Skip to content

Add a feature that goes beyond CRUD #30

Description

@robert-7

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

  • Choose a feature from the list above (or propose your own)
  • Implement it with clean, tested code
  • Update the README to highlight the new feature
  • Add tests for the new functionality

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)

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions