Project Status Dashboard
German Language Tutoring Marketplace for Medical Professionals
◈ Executive Summary
The feature/Sprint-1 branch contains significant unmerged work (admin panel, instructor invitations, legal pages, 4 DB migrations). Sprint-3 through Sprint-8 have not yet started development. There are 0 open bugs and 4 Critical-priority backlog items requiring attention. Since the last report, MED-102 (Instructor Approval Workflow) has moved from In Progress to Testing, leaving MED-88 (Magic Link Invitation) as the sole active development item.
★ Current Focus Areas
Development Focus
Active Work (In Progress)
- MED-88 — Implement Instructor Magic Link Invitation (Sprint-1, Medium priority)
SRS Ref: FR-1.2 (Registration & Authentication) — The only ticket currently in active development across the entire project
Next Up (highest priority ready items)
- MED-242 — Implement Participant Profile Editing (Sprint-2, Critical, Backlog)
SRS Ref: FR-1.3 — Needs promotion from Backlog to Selected for Development - MED-248 — Implement Stripe Webhook Infrastructure (Sprint-4, Critical, Backlog)
SRS Ref: FR-1.7 — Blocks MED-230 (Payment Success) and MED-231 (Payment Failure) — both regressed to Backlog - MED-247 — Implement Auto Account Suspension on Fraud Flag (Sprint-6, Critical, Backlog)
- MED-240 — Implement Follow-Up Email Consent & Unsubscribe (Sprint-7, Critical, Backlog)
Sprint-1 Completion Items
- Once MED-88 completes, all 8 Sprint-1 stories will be in Testing → sprint can be closed after QA pass
- 11 [BE] sub-tasks remain at "Selected for Development" — status not being tracked individually
Key SRS Requirements Being Addressed
- FR-1.2 (Registration & Authentication) — MED-88 is the last In Progress item; 6/7 stories are in Testing
- FR-1.1 (Landing Page) — fully in Testing (2/2 stories)
- FR-1.3, FR-1.5 — Sprint-2 stories all in Testing, awaiting QA completion
Testing Focus
Ready for Testing (20 stories in Testing status)
Sprint-1 (8 stories):
- MED-21 — Landing Page with Category Cards and Featured Instructors
- MED-27 — Role-Adaptive Top Navigation Bar
- MED-53 — Participant Registration Flow
- MED-74 — Instructor Self-Registration Flow
- MED-102 — Instructor Approval Workflow (Admin) newly entered Testing
- MED-121 — Email Verification Flow
- MED-131 — Login with Role-Based Redirect and Session Timeout
- MED-145 — Password Reset Flow
Sprint-2 (12 stories):
- MED-86 — Instructor Profile Creation and Editing
- MED-101 — Instructor Course Assignment Change Request
- MED-132 — Admin Instructor Profile Editing and Suspension
- MED-148 — Admin Course Assignment Approval/Rejection
- MED-161 — Custom Instructor Hourly Rate Override (Admin)
- MED-165 — Category CRUD in Admin Panel
- MED-172 — Course CRUD in Admin Panel
- MED-184 — Package Management in Admin Panel
- MED-196 — Package-to-Course Assignment and Single-Lesson Config
- MED-205 — Trial Session (Probestunde) Config per Course
- MED-211 — Default Hourly Rate Configuration (Admin)
- MED-217 — Course & Category Browsing for Visitors and Participants
Testing Priority Order
- Sprint-1 stories first (closer to completion — 8/8 stories in Testing once MED-88 finishes)
- Sprint-2 stories second (12/12 stories in Testing, but MED-242 Critical item still in Backlog)
Key SRS Acceptance Criteria to Validate
- FR-1.1: Landing page displays category cards, featured instructors, responsive layout
- FR-1.2: Registration flows (participant + instructor), email verification, login with role redirect, password reset, instructor approval workflow
- FR-1.3: Course/category CRUD, package management, trial session config, browsing for visitors
- FR-1.5: Instructor profile creation/editing, course assignment, hourly rate override, admin suspension
Blocked / Awaiting Dev
- MED-242 (Participant Profile Editing) — Critical, still in Backlog. Cannot fully validate FR-1.3 without this.
- All [BE] sub-tasks (28 total across Sprint-1 and Sprint-2) remain at "Selected for Development" — these are not blocking testing but indicate backend work tracking is not being maintained in Jira.
▦ Summary Metrics
✓ SRS Feature Coverage
| # | SRS Ref | Feature | Epic | Sprint(s) | Status | Notes |
|---|---|---|---|---|---|---|
| 1 | FR-1.1 | Landing Page & Navigation | MED-2 | Sprint-1 | In Testing | 2/2 stories in Testing |
| 2 | FR-1.2 | Registration & Authentication | MED-3 | Sprint-1, 2 | In Testing | 6/7 stories Testing, 1 In Progress (MED-88) |
| 3 | FR-1.3 | Course & Category Management | MED-4 | Sprint-2 | In Testing | 6/7 stories Testing; MED-242 (Profile Editing) in Backlog (Critical) |
| 4 | FR-1.4 | Instructor Discovery & Selection | MED-5 | Sprint-3 | Not Started | All stories Selected for Development |
| 5 | FR-1.5 | Instructor Profile Management | MED-6 | Sprint-2, 3 | Partially In Testing | 5 stories Testing (Sprint-2), 2 stories Selected (Sprint-3) |
| 6 | FR-1.6 | Booking & Scheduling | MED-7 | Sprint-3, 4 | Not Started | 10 stories, all Selected/Backlog |
| 7 | FR-1.7 | Payment & Billing | MED-8 | Sprint-4, 5 | Not Started | Stories across Sprint-4/5; MED-248 Stripe Webhook (Critical, Backlog); MED-230/231 regressed to Backlog |
| 8 | FR-1.8 | Session Delivery (Zoom) | MED-9 | Sprint-5 | Not Started | 4 stories, all Selected |
| 9 | FR-1.9 | Dashboards | MED-10 | Sprint-6 | Not Started | 3 stories, all Selected |
| 10 | FR-1.10 | In-App Messaging & Chat Monitoring | MED-11 | Sprint-5, 6 | Not Started | 7 stories; GDPR compliance (High, Backlog) |
| 11 | FR-1.11 | Ratings, Badges & Gamification | MED-12 | Sprint-6 | Not Started | 4 stories, all Selected |
| 12 | FR-1.12 | Feedback & Support | MED-13 | Sprint-7 | Not Started | 3 stories, all Selected |
| 13 | FR-1.13 | FAQ ChatBot & Virtual Assistance | MED-14 | Sprint-7 | Not Started | 3 stories (includes virtual assistance fallback) |
| 14 | FR-1.15 | Hour Counter | MED-15 | Sprint-7 | Not Started | 2 stories, all Selected |
| 15 | FR-1.16 | External Partner Integration | MED-16 | Sprint-7 | Not Started | 2 stories, all Selected |
| 16 | FR-1.17 | Multilingual Support | MED-17 | Sprint-2, 8 | Discrepancy | MED-46 (i18n) still Selected, but git shows DE/EN i18n already on main |
| 17 | FR-1.18 | Exam Reports | MED-18 | Sprint-8 | Not Started | 2 stories, all Selected |
| 18 | FR-1.19 | Post-Course Follow-Up | MED-19 | Sprint-7, 8 | Not Started | 4 stories; MED-240 Follow-Up Consent (Critical, Backlog) |
| 19 | — | Admin Configuration Panel | MED-20 | Sprint-7 | Not Started | 7 stories, cross-cutting admin parameters |
▶ Sprint Progress
Registration & Authentication, Landing Page
Branch: feature/Sprint-1 (2 commits ahead of develop, not merged)
Completion: 0% (formal) · 45% (effective — 9/20 in Testing or further)
Tickets: 20 total | 0 Done | 8 Testing | 1 In Progress | 11 Selected
| Key | Type | Summary | Status | Priority |
|---|---|---|---|---|
| MED-2 | Epic | Landing Page & Navigation | Selected | Medium |
| MED-3 | Epic | Registration & Authentication | Selected | Medium |
| MED-21 | Story | Implement Landing Page with Category Cards and Featured Instructors | Testing | Medium |
| MED-27 | Story | Implement Role-Adaptive Top Navigation Bar | Testing | Medium |
| MED-53 | Story | Implement Participant Registration Flow | Testing | Medium |
| MED-74 | Story | Implement Instructor Self-Registration Flow | Testing | Medium |
| MED-88 | Story | Implement Instructor Magic Link Invitation | In Progress | Medium |
| MED-102 | Story | Implement Instructor Approval Workflow (Admin) | Testing | Medium |
| MED-121 | Story | Implement Email Verification Flow | Testing | Medium |
| MED-131 | Story | Implement Login with Role-Based Redirect and Session Timeout | Testing | Medium |
| MED-145 | Story | Implement Password Reset Flow | Testing | Medium |
| MED-24 | Sub-task | [BE] Landing Page with Category Cards | Selected | Medium |
| MED-34 | Sub-task | [BE] Role-Adaptive Top Navigation Bar | Selected | Medium |
| MED-68 | Sub-task | [BE] Participant Registration Flow | Selected | Medium |
| MED-83 | Sub-task | [BE] Instructor Self-Registration Flow | Selected | Medium |
| MED-97 | Sub-task | [BE] Instructor Magic Link Invitation | Selected | Medium |
| MED-115 | Sub-task | [BE] Instructor Approval Workflow (Admin) | Selected | Medium |
| MED-129 | Sub-task | [BE] Email Verification Flow | Selected | Medium |
| MED-140 | Sub-task | [BE] Login with Role-Based Redirect | Selected | Medium |
| MED-154 | Sub-task | [BE] Password Reset Flow | Selected | Medium |
Git Branch (feature/Sprint-1) Contains:
- Admin instructor management (src/app/(app)/admin/instructors/page.tsx)
- Instructor invitation system (invite page, API routes)
- Legal pages (imprint, privacy, terms) under src/app/(legal)/
- Public header component
- Landing page API enhancements
- Email check API
- 4 new DB migrations (instructor approval, invitations, suspended field, participant extra fields)
- Full DE/EN i18n message files
- API fetch helper, session auth improvements, email templates
Course Management, Instructor Profiles, i18n
Branch: No dedicated branch (work appears to be on main)
Completion: 0% (formal) · 40% (effective — 12/30 in Testing)
| Key | Type | Summary | Status | Priority |
|---|---|---|---|---|
| MED-3 | Epic | Registration & Authentication | Selected | Medium |
| MED-4 | Epic | Course & Category Management | Selected | Medium |
| MED-6 | Epic | Instructor Profile Management | Selected | Medium |
| MED-17 | Epic | Multilingual Support | Selected | Medium |
| MED-46 | Story | Implement Language Selection and i18n Framework (DE/EN) | Selected | Medium |
| MED-86 | Story | Implement Instructor Profile Creation and Editing | Testing | Medium |
| MED-101 | Story | Implement Instructor Course Assignment Change Request | Testing | Medium |
| MED-132 | Story | Implement Admin Instructor Profile Editing and Suspension | Testing | Medium |
| MED-148 | Story | Implement Admin Course Assignment Approval/Rejection | Testing | Medium |
| MED-161 | Story | Implement Custom Instructor Hourly Rate Override (Admin) | Testing | Medium |
| MED-165 | Story | Implement Category CRUD in Admin Panel | Testing | Medium |
| MED-172 | Story | Implement Course CRUD in Admin Panel | Testing | Medium |
| MED-184 | Story | Implement Package Management in Admin Panel | Testing | Medium |
| MED-196 | Story | Implement Package-to-Course Assignment and Single-Lesson Config | Testing | Medium |
| MED-205 | Story | Implement Trial Session (Probestunde) Config per Course | Testing | Medium |
| MED-211 | Story | Implement Default Hourly Rate Configuration (Admin) | Testing | Medium |
| MED-217 | Story | Implement Course & Category Browsing for Visitors and Participants | Testing | Medium |
| MED-221 | Sub-task | [BE] Implement Course & Category Browsing for Visitors and Participants | Selected | Medium |
| MED-242 | Story | Implement Participant Profile Editing | Backlog | Critical |
| + 12 [BE] sub-tasks — all Selected for Development | ||||
Instructor Discovery, Booking (partial)
Branch: None
Completion: 0%
Key stories: Instructor Listing, Instructor Profile View, Swipe/Carousel Browsing, Instructor Action Options, Visitor Booking Intent, Calendar View, Package/Slot Selection, Trial Session Booking, Instructor Availability Calendar
| Key | Summary | Priority |
|---|---|---|
| MED-244 | Instructor Profile Self-Editing Post-Registration | High |
| MED-245 | Audit Logging Infrastructure | High |
Booking (continued), Payment (partial)
Branch: None
Completion: 0%
Key stories: Payment Initiation (Stripe), Booking Confirmation w/ Zoom, Early/Late Cancellation, No-Show Handling, Abandoned Booking Cleanup, Appointment Reminders, Package Expiration
| Key | Summary | Priority |
|---|---|---|
| MED-248 | Stripe Webhook Infrastructure | Critical |
| MED-230 | Payment Success Handling | Backlog (regressed from Selected) |
| MED-231 | Payment Failure Handling | Backlog (regressed from Selected) |
Changes since last report: Total dropped from 20 → 19 (MED-249/MED-250 appear obsoleted). MED-230 and MED-231 regressed from Selected for Development to Backlog.
Messaging, Session Delivery, Payment (continued)
Branch: None
Completion: 0%
Key stories: In-App Messaging, Zoom Meeting Creation, Virtual Background, Material Sharing, Instructor Earnings/Payout, Admin Payout Management, Admin Manual Refund, Participant Refund Request, Commission/Payout Config
Backlog items: Participant Payment History (Backlog), Zoom Annotation Tools (Low)
Dashboards, Chat Monitoring, Gamification
Branch: None
Completion: 0%
Key stories: Admin Chat Monitoring, Fraud Detection, Milestone-Based Rating, Instructor Badges, Instructor of the Month, Admin Badge Config, Participant/Instructor/Admin Dashboards
| Key | Summary | Priority |
|---|---|---|
| MED-247 | Auto Account Suspension on Fraud Flag | Critical |
| MED-243 | GDPR/Data Privacy for Chat Monitoring | High |
| MED-246 | Message Notification System | High |
ChatBot, Hour Counter, Feedback, Partners, Admin Config
Branch: None
Completion: 0%
Key stories: FAQ ChatBot, Virtual Assistance Fallback, Hour Counter (Participant + Instructor), Feedback Form, Admin Feedback Panel, Support Contact, Partner Referral Display, Admin Partner Management, Admin Pricing/Package/Booking/Gamification/Fraud Config, Follow-Up Communication, Content Management Hub
| Key | Summary | Priority |
|---|---|---|
| MED-240 | Follow-Up Email Consent & Unsubscribe | Critical |
| MED-238 | Admin Proficiency Level Config | High |
Changes since last report: Total grew from 30 → 33 (+3 new tickets added to Selected for Development).
Follow-Up, Translations, Exam Reports
Branch: None
Completion: 0%
Key stories: Post-Course Follow-Up, Admin Follow-Up Template Management, Email Storage per Course, Admin Translation Management, Exam Reports Section, Admin Exam Report Management, Admin Configurable Parameters Panel
◆ Epic Progress
| Epic | Key | Stories | Testing | In Progress | Not Started | Progress |
|---|---|---|---|---|---|---|
| Landing Page & Navigation | MED-2 | 2 | 2 | 0 | 0 | |
| Registration & Authentication | MED-3 | 8 | 6 | 1 | 1 | |
| Course & Category Management | MED-4 | 7 | 6 | 0 | 1 | |
| Instructor Discovery & Selection | MED-5 | 5 | 0 | 0 | 5 | |
| Instructor Profile Management | MED-6 | 7 | 5 | 0 | 2 | |
| Booking & Scheduling | MED-7 | 10 | 0 | 0 | 10 | |
| Payment & Billing | MED-8 | 11 | 0 | 0 | 11 | |
| Session Delivery (Zoom) | MED-9 | 4 | 0 | 0 | 4 | |
| Dashboards | MED-10 | 3 | 0 | 0 | 3 | |
| Messaging & Chat Monitoring | MED-11 | 7 | 0 | 0 | 7 | |
| Ratings, Badges & Gamification | MED-12 | 4 | 0 | 0 | 4 | |
| Feedback & Support | MED-13 | 3 | 0 | 0 | 3 | |
| FAQ ChatBot & Virtual Assistance | MED-14 | 3 | 0 | 0 | 3 | |
| Hour Counter | MED-15 | 2 | 0 | 0 | 2 | |
| External Partner Integration | MED-16 | 2 | 0 | 0 | 2 | |
| Multilingual Support | MED-17 | 2 | 0 | 0 | 2 | |
| Exam Reports | MED-18 | 2 | 0 | 0 | 2 | |
| Post-Course Follow-Up | MED-19 | 4 | 0 | 0 | 4 | |
| Admin Configuration Panel | MED-20 | 7 | 0 | 0 | 7 |
Note: "0% (formal)" indicates stories are developed (in Testing) but not yet marked Done in Jira. Effective development progress for MED-2, MED-3, MED-4, and MED-6 is significantly higher. Progress bars above reflect effective progress (Testing + In Progress stories / total stories).
☍ Branch Status
● Production (main)
- Last commit: f6a5872 — add project status report files to .gitignore
- Total commits: 52
- Contains: Full platform foundation — auth, booking, messaging, goals, community, DE/EN i18n, email notifications, profile editing, instructor discovery filters, appointments, autocomplete components, atomic cancellation locking, mobile responsiveness fixes
● Integration/QA (develop)
- 3 commits behind main (missing playwright config + .gitignore updates)
- 0 commits ahead of main
- develop and main are at feature parity — develop is missing only testing infrastructure commits added directly to main
● In Development (feature/Sprint-1)
- 2 commits ahead of develop — Complete, unmerged
- Admin instructor mgmt, invitation system, legal pages, landing API, 4 DB migrations, i18n messages
- 71 files changed, 3,297 insertions, 506 deletions vs main
Observations
- develop is behind main — the typical flow (develop ahead of main) is inverted. Some commits (playwright config, .gitignore) were pushed directly to main.
- feature/Sprint-1 has significant unmerged work — 71 files changed, 3,297 insertions, 506 deletions vs main. This work includes admin features, invitation system, legal pages, and 4 DB migrations.
- No tags or releases exist in the repository.
- No Sprint-2+ branches exist — Sprint-2 Testing-status work appears to already be on main.
✔ Open Bugs
⚠ Risks & Gaps
| Key | Summary | Sprint | Priority |
|---|---|---|---|
| MED-242 | Implement Participant Profile Editing | Sprint-2 | Critical |
| MED-248 | Stripe Webhook Infrastructure | Sprint-4 | Critical |
| MED-240 | Follow-Up Email Consent & Unsubscribe | Sprint-7 | Critical |
| MED-247 | Auto Account Suspension on Fraud Flag | Sprint-6 | Critical |
| Key | Summary | Sprint | Priority |
|---|---|---|---|
| MED-238 | Admin Proficiency Level Config | Sprint-7 | High |
| MED-243 | GDPR/Data Privacy for Chat Monitoring | Sprint-6 | High |
| MED-244 | Instructor Profile Self-Editing Post-Registration | Sprint-3 | High |
| MED-245 | Audit Logging Infrastructure | Sprint-3 | High |
| MED-246 | Message Notification System | Sprint-6 | High |
- i18n already on main: Git shows full DE/EN internationalization on main, but MED-46 (Language Selection / i18n Framework) is still "Selected for Development" in Jira
- Sprint-2 work on main: Multiple Sprint-2 features appear to already be in production code (profile editing, instructor discovery, course management), but Jira shows them as "Testing" — tickets have not been transitioned to Done
- Sub-tasks not updated: All 67 [BE] sub-tasks remain at "Selected for Development" regardless of parent story status — sub-task statuses are not being maintained
- MED-230 (Payment Success Handling) and MED-231 (Payment Failure Handling) regressed from "Selected for Development" to "Backlog"
- MED-249 and MED-250 appear to have been obsoleted/removed from Sprint-4
- A1: Instructor nav rename to "Andere Dozenten"
- A2: Zoom plan selection (assumed Pro for MVP)
- A3: Performance metric values
- A4: Pass/fail self-reporting flow details
- A5: Platform chat file sharing limits
- Stripe: Supported payment methods (TBD)