Project Status Dashboard
German Language Tutoring Marketplace for Medical Professionals
◈ Executive Summary
Key branch change: PR #20 (remove_kv → D1 migration) merged to develop, increasing develop to 52 commits ahead of origin/main (was 30). PRs #9, #18, #19, #21, #22 were all closed without merge — only PR #11 (develop → main) remains open.
Total: 34 stories/bugs Done, 31 stories in Testing, 16 In Progress, 21 open bugs. The project is in active parallel development across Sprints 3-4 (bug fixes) and 6-8 (new features), with a major infrastructure change (KV → D1) now merged to develop.
★ Current Focus Areas
Development Focus
16 stories/bugs are now In Progress across 4 sprints — major shift from 0 last report
Sprint-3 — 5 stories In Progress (bug fix rework)
- MED-35 — Implement Instructor Profile View Page
- MED-48 — Implement Instructor Action Options (Probestunde, Kurs buchen, Kontakt)
- MED-54 — Implement Visitor Booking Intent Preservation
- MED-175 — Implement Package and Slot Selection Flow
- MED-186 — Implement Trial Session Booking (Probestunde)
SRS Refs: FR-1.4 (Instructor Discovery), FR-1.6 (Booking & Scheduling)
Sprint-4 — 5 stories In Progress (moved from Testing)
- MED-197 — Implement Booking Confirmation with Zoom Link Generation
- MED-204 — Implement Early Cancellation with Automatic Refund
- MED-210 — Implement Late Cancellation Policy
- MED-216 — Implement No-Show Handling and Reporting
- MED-224 — Implement Package Expiration Tracking and Reminders
SRS Refs: FR-1.6 (Booking & Scheduling), FR-1.7 (Payment & Billing)
Sprint-7 — 1 story In Progress
- MED-134 — Implement Contextual Partner Referral Display
SRS Ref: FR-1.16 (External Partner Integration)
Sprint-8 — 3 stories In Progress
- MED-69 — Implement Admin Translation Management
- MED-94 — Implement Exam Reports Section (Blog-Style Listing)
- MED-114 — Implement Admin Exam Report Management
SRS Refs: FR-1.17 (Multilingual Support), FR-1.18 (Exam Reports)
8 new High-priority Sprint-3 bugs awaiting pickup (Selected for Development)
- MED-259 — "Kontakt" button redirects authenticated participants to /login
- MED-260 — "Probestunde buchen" shown even if trial already booked
- MED-261 — Stale booking intent not detected when slot unavailable
- MED-262 — Expired booking intent not cleared from sessionStorage
- MED-263 — "Kurs buchen" button fails to capture courseId in booking intent
- MED-264 — No recovery link after stale slot detected on Courses page
- MED-265 — slotUnavailable error cleared by availability reload (MED-175)
- MED-266 — slotUnavailable error cleared by trial slots reload (MED-186)
5 new High-priority Sprint-4 bugs awaiting pickup (Selected for Development)
- MED-269 — Missing API endpoint: POST /api/admin/appointments/[id]/zoom-link
- MED-270 — Missing access control on /admin/* routes
- MED-271 — Instructor earnings page doesn't display late-cancelled session balance
- MED-272 — Late cancellation dialog shows "Gesamten Kurs stornieren" instead of per-session
- MED-273 — noShowEligible check blocks counter-report UI for no_show statuses
Next Up (Critical/High backlog items)
Testing Focus
Sprint-3 — 0 stories in Testing (was 8 — all moved: 3 to Done, 5 to In Progress)
Testing emptied as bugs were found and filed as separate tickets (MED-259–266)
Sprint-4 — 0 stories in Testing (was 8 — 5 moved to Done, 5 moved to In Progress)
Testing emptied; 8 new bugs filed (MED-269–276), 2 already Done
Sprint-5 — 9 stories in Testing (unchanged)
- MED-32 — Implement In-App Messaging System
- MED-37 — Implement Admin Payout Management Dashboard
- MED-44 — Implement Rule-Based Suspicious Pattern Detection and Masking
- MED-52 — Implement Instructor Earnings and Payout View
- MED-72 — Implement Admin Manual Refund
- MED-85 — Implement Participant Refund Request Flow
- MED-100 — Implement Commission and Payout Configuration (Admin)
- MED-130 — Implement Zoom Meeting Creation and Session Management
- MED-151 — Implement Material Sharing via Platform Messaging
Sprint-6 — 9 stories in Testing (NEW — all advanced from Selected)
- MED-49 — Implement Admin Chat Monitoring Panel
- MED-70 — Implement Admin Fraud Detection Keyword/Pattern Management
- MED-104 — Implement Milestone-Based Instructor Rating
- MED-123 — Implement Instructor Badge System (Silver, Gold, Diamond)
- MED-137 — Implement Instructor of the Month
- MED-152 — Implement Admin Badge Thresholds and Rating Milestone Configuration
- MED-167 — Implement Participant Dashboard
- MED-178 — Implement Instructor Dashboard
- MED-190 — Implement Admin Dashboard with Platform Statistics
Sprint-7 — 10 stories in Testing (NEW — all advanced from Selected)
- MED-38 — Implement Rule-Based FAQ ChatBot Widget
- MED-51 — Implement Admin FAQ Catalog Management
- MED-73 — Implement Virtual Assistance Fallback
- MED-89 — Implement Participant Hour Counter
- MED-103 — Admin Panel: Pricing & Package Configuration
- MED-107 — Implement Instructor Hour Counter
- MED-149 — Implement Admin Partner Management
- MED-168 — Implement Feedback Submission Form
- MED-177 — Implement Instructor Support Contact Form
- MED-191 — Implement Admin Feedback and Support Review Panel
Sprint-8 — 3 stories in Testing (NEW)
Bugs in Testing (5 — unchanged)
- MED-250 — Instructor self-registration skips pending approval state (High, Sprint-1)
- MED-251 — Password reset success page does not auto-redirect to /login (Low, Sprint-1)
- MED-252 — Language switcher (DE/EN) missing on /instructors public page (Medium, Sprint-2)
- MED-253 — Admin concurrent edit notification not shown to instructor (Medium, Sprint-2)
- MED-254 — Instructor not notified when course change request is auto-cancelled (Medium, Sprint-2)
Testing Priority Order
- Sprint-1/2 bugs (MED-250 High priority first) — regressions in released code
- Sprint-5 stories (9) — code on branch, no open PR, awaiting merge and QA
- Sprint-6 stories (9) — code on branch, no open PR, new feature QA
- Sprint-7 stories (10) — code on branch, no open PR, new feature QA
- Sprint-8 stories (3) — code on branch, no PR yet, new feature QA
Key SRS Acceptance Criteria to Validate
- FR-1.2: Registration approval flow (MED-250 bug), password reset redirect (MED-251 bug)
- FR-1.3/FR-1.5: Language switcher (MED-252), concurrent edit notifications (MED-253), course change notifications (MED-254)
- FR-1.7: Payment initiation (MED-26 Done), payouts (MED-37, MED-52), refunds (MED-72, MED-85), commission config (MED-100)
- FR-1.8: Zoom session management (MED-130)
- FR-1.9: Participant/Instructor/Admin dashboards (MED-167, MED-178, MED-190)
- FR-1.10: Messaging (MED-32), fraud detection (MED-44, MED-70), material sharing (MED-151), chat monitoring (MED-49)
- FR-1.11: Ratings (MED-104), badges (MED-123), instructor of the month (MED-137), badge config (MED-152)
- FR-1.12: Feedback form (MED-168), support contact (MED-177), admin review (MED-191)
- FR-1.13: FAQ ChatBot (MED-38), admin FAQ (MED-51), virtual assistance fallback (MED-73)
- FR-1.15: Participant/Instructor hour counters (MED-89, MED-107)
- FR-1.16: Partner referral display (MED-134 In Progress), partner management (MED-149)
- FR-1.17: Translation management (MED-69 In Progress)
- FR-1.18: Exam reports (MED-94, MED-114 In Progress)
- FR-1.19: Post-course follow-up (MED-50), email storage (MED-71), admin templates (MED-78)
Blocked / Awaiting Dev
- MED-242 (Participant Profile Editing) — Critical, still in Backlog. Cannot fully close Sprint-2 without this.
- MED-248 (Stripe Webhook Infrastructure) — Critical, Backlog. Blocks MED-230 (Payment Success) and MED-231 (Payment Failure).
- MED-247 (Auto Account Suspension on Fraud Flag) — Critical, Sprint-6, Backlog. Not picked up.
- MED-240 (Follow-Up Email Consent & Unsubscribe) — Critical, Sprint-7, Backlog. Not picked up.
- MED-244 (Instructor Profile Self-Editing Post-Registration) — High, Backlog. Sprint-3 item not yet started.
- MED-245 (Audit Logging Infrastructure) — High, Backlog. Sprint-3 item not yet started.
- MED-230/MED-231 (Payment Success/Failure Handling) — Sprint-4, Backlog. Blocked on MED-248.
- MED-146 (Virtual Background for Zoom) — Sprint-5, regressed to Selected for Development.
- 13 new bugs in Selected for Development (8 Sprint-3 + 5 Sprint-4) — awaiting dev pickup.
- All [BE] sub-tasks across all sprints remain in Backlog — backend work tracking is not being maintained in Jira.
▦ Summary Metrics
| Metric | Value | Change |
|---|---|---|
| Stories Done | 32 (10 S1 + 12 S2 + 4 S3 + 3 S4 + 0 S5-8) | +9 |
| Bugs Done | 2 (MED-274, MED-275 Sprint-4) | +2 |
| Stories In Testing | 31 (0 S3 + 0 S4 + 9 S5 + 9 S6 + 10 S7 + 3 S8) | +6 |
| Bugs In Testing | 5 (2 Sprint-1 + 3 Sprint-2) | — |
| Stories In Progress | 16 (5 S3 + 5 S4 + 1 S7 + 3 S8 + MED-256) | +16 |
| Open Bugs (not Done) | 19 (4 S1 + 3 S2 + 8 S3 + 6 S4) | +14 |
| Critical Backlog Items | 4 | — |
| High Backlog Items | 5 | — |
| Sprints Released (on main) | 3 (Sprint-1, Sprint-2, Sprint-3) | — |
| Sprints in bug fix rework | 2 (Sprint-3: 5 In Progress; Sprint-4: 5 In Progress) | +2 |
| Sprints in testing (on develop) | 1 (Sprint-4 code on develop, PR #11 open) | — |
| Sprints in testing (on branch) | 4 (Sprint-5, 6, 7, 8 — active branches, no open PRs) | — |
| Sprints Not Started | 0 | — |
| develop ahead of origin/main | 52 commits | +22 (PR #20 merge) |
| Open PRs | 1 (#11 only) | -6 (PRs #9,18,19,20,21,22 closed/merged) |
| SRS Feature Areas Active | 19/19 (100%) | — |
| SRS Feature Areas Done | 1/19 (5%) | — |
✓ SRS Feature Coverage
| # | SRS Ref | Feature | Epic | Sprint(s) | Status | Notes |
|---|---|---|---|---|---|---|
| 1 | FR-1.1 | Landing Page & Navigation | MED-2 | Sprint-1 | Done | 2/2 stories Done |
| 2 | FR-1.2 | Registration & Authentication | MED-3 | Sprint-1, 2 | Mostly Done | 10 stories Done; MED-242 Backlog (Critical); 4 bugs (2 Testing, 2 Selected) |
| 3 | FR-1.3 | Course & Category Management | MED-4 | Sprint-2 | Mostly Done | 12 stories Done; MED-242 Backlog (Critical); 3 bugs in Testing |
| 4 | FR-1.4 | Instructor Discovery & Selection | MED-5 | Sprint-3 | In Progress | 3 Done; 2 In Progress (MED-35, MED-54); 8 High bugs in Selected; MED-256 Selected |
| 5 | FR-1.5 | Instructor Profile Management | MED-6 | Sprint-2, 3 | Mostly Done | 7 Done (Sprint-2); MED-244 Backlog (High) |
| 6 | FR-1.6 | Booking & Scheduling | MED-7 | Sprint-3, 4 | In Progress | 2 Done; 8 In Progress (3 Sprint-3 + 5 Sprint-4 rework); 13 bugs found |
| 7 | FR-1.7 | Payment & Billing | MED-8 | Sprint-4, 5 | In Testing | MED-26 Done; 6 in Testing (Sprint-5); MED-248 Critical Backlog |
| 8 | FR-1.8 | Session Delivery (Zoom) | MED-9 | Sprint-5 | Partially In Testing | MED-130 Testing; MED-146 regressed to Selected; 2 remaining |
| 9 | FR-1.9 | Dashboards | MED-10 | Sprint-6 | In Testing | 3 stories in Testing (all advanced) |
| 10 | FR-1.10 | In-App Messaging & Chat Monitoring | MED-11 | Sprint-5, 6 | In Testing | 4 stories Testing (3 Sprint-5 + MED-49 Sprint-6); 3 remaining |
| 11 | FR-1.11 | Ratings, Badges & Gamification | MED-12 | Sprint-6 | In Testing | 4 stories in Testing (all advanced) |
| 12 | FR-1.12 | Feedback & Support | MED-13 | Sprint-7 | In Testing | 3 stories in Testing (all advanced) |
| 13 | FR-1.13 | FAQ ChatBot & Virtual Assistance | MED-14 | Sprint-7 | In Testing | 3 stories in Testing (MED-38, 51, 73) |
| 14 | FR-1.15 | Hour Counter | MED-15 | Sprint-7 | In Testing | 2 stories in Testing (MED-89, MED-107) |
| 15 | FR-1.16 | External Partner Integration | MED-16 | Sprint-7 | In Progress | MED-149 Testing; MED-134 In Progress |
| 16 | FR-1.17 | Multilingual Support | MED-17 | Sprint-1, 8 | In Progress | MED-46 Done; MED-69 In Progress (Sprint-8) |
| 17 | FR-1.18 | Exam Reports | MED-18 | Sprint-8 | In Progress | MED-94, MED-114 In Progress |
| 18 | FR-1.19 | Post-Course Follow-Up | MED-19 | Sprint-7, 8 | In Testing | MED-50, MED-71 Testing; MED-240 Critical Backlog |
| 19 | — | Admin Configuration Panel | MED-20 | Sprint-7 | Partially In Testing | MED-103 (Pricing Config) in Testing; 6 stories in Backlog |
▶ Sprint Progress
Registration & Authentication, Landing Page
Branch: feature/Sprint-1 → merged to develop (PR #3) → merged to main (PR #10)
Completion: 42% (formal — 10/24 Done) · 100% story-level completion + 4 bugs
Tickets: 24 total | 10 Done | 2 Testing | 0 In Progress | 4 Selected | 8 Backlog
Changes since last report: +2 new bugs (MED-267 Low, MED-268 Medium) in Selected for Development. MED-250 and MED-251 remain in Testing. No status changes on existing tickets.
| 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 | Done | Medium |
| MED-27 | Story | Implement Role-Adaptive Top Navigation Bar | Done | Medium |
| MED-46 | Story | Implement Language Selection and i18n Framework (DE/EN) | Done | Medium |
| MED-53 | Story | Implement Participant Registration Flow | Done | Medium |
| MED-74 | Story | Implement Instructor Self-Registration Flow | Done | Medium |
| MED-88 | Story | Implement Instructor Magic Link Invitation | Done | Medium |
| MED-102 | Story | Implement Instructor Approval Workflow (Admin) | Done | Medium |
| MED-121 | Story | Implement Email Verification Flow | Done | Medium |
| MED-131 | Story | Implement Login with Role-Based Redirect and Session Timeout | Done | Medium |
| MED-145 | Story | Implement Password Reset Flow | Done | Medium |
| MED-250 | Bug | Instructor self-registration skips pending approval state | Testing | High |
| MED-251 | Bug | Password reset success page does not auto-redirect to /login | Testing | Low |
| MED-267 | Bug | /api/locale POST crashes with 500 when request body is empty or non-JSON | Selected | Low |
| MED-268 | Bug | Instructor registration navigates away instead of showing inline pending approval screen | Selected | Medium |
Course Management, Instructor Profiles
Branch: Work on develop → merged to main (PR #10)
Completion: 38% (formal — 12/32 Done) · 92% story-level (12/13 Done, MED-242 Backlog)
Tickets: 32 total | 12 Done | 3 Testing | 0 In Progress | 4 Selected | 13 Backlog
Changes since last report: +2 tickets (MED-252, MED-253, MED-254 bugs added; MED-46 relabeled to Sprint-1). Done count 13 → 12 (MED-46 moved). 3 bugs now in Testing. MED-242 (Critical) still in Backlog.
Instructor Discovery, Booking (partial)
Branch: feature/sprint-3 → merged to develop (PR #6) → merged to main (PR #10)
Completion: 13% (formal — 4/30 Done) · stories being reworked after testing found 8 bugs
Tickets: 30 total | 4 Done | 0 Testing | 5 In Progress | 12 Selected | 9 Backlog
Changes: +8 new tickets (MED-259–266, all High bugs in Selected). 3 stories advanced to Done (MED-31, MED-119, MED-227). 5 stories moved to In Progress (MED-35, MED-48, MED-54, MED-175, MED-186 — rework). Testing emptied (was 8).
Booking (continued), Payment (partial)
Branch: feature/Sprint-4 → merged to develop (PR #8) — PR #11 open: develop → main
Completion: 19% (formal — 5/27 Done) · stories being reworked after testing found 8 bugs
Tickets: 27 total | 5 Done | 0 Testing | 5 In Progress | 7 Selected | 10 Backlog
Changes: +8 new bug tickets (MED-269–276, all High). 5 stories moved to Done (MED-26, MED-222, MED-223 passed testing; MED-274, MED-275 bugs fixed). 5 stories moved to In Progress (rework). Testing emptied (was 8). MED-248 (Critical) still in Backlog.
Sprint-4 Git Branch (feature/Sprint-4) — merged to develop via PR #8:
- Payment initiation (Stripe redirect), booking confirmation with Zoom
- Cancellation policies (early/late), no-show handling
- Abandoned booking cleanup, appointment reminders, package expiration
- Quality fixes from PR #8 review (Critical, High, Medium, Low findings resolved)
Messaging, Session Delivery, Payment (continued)
Branch: feature/Sprint-5 (9 commits ahead of develop, 188 files changed, 17,656+/18,320-) — PR #9 closed (not merged)
Completion: 0% (formal) · 9/13 stories in Testing (69% advanced)
Tickets: 24 total | 0 Done | 9 Testing | 0 In Progress | 4 Selected | 11 Backlog
Sprint-5 Git Branch (feature/Sprint-5) Contains:
- Payouts, refunds, materials sharing, messaging safety & billing
- Zoom meeting creation and virtual background configuration
- In-app messaging system with fraud/pattern detection
- Quality fixes from Sprint-5 review (H1-H5, M1-M18, L1-L22 resolved)
- Full line-by-line audit gap closures (17 remaining items fixed)
Dashboards, Chat Monitoring, Gamification
Branch: feature/Sprint-6 (44 commits ahead of develop, 221 files changed, 23,061+/18,760-) — PR #19 closed (not merged)
Completion: 0% (formal) · 9/12 stories in Testing (75% advanced)
Tickets: 24 total | 0 Done | 9 Testing | 0 In Progress | 3 Selected | 12 Backlog
Changes: 9 stories advanced from Selected to Testing. Feature branch now at 44 commits ahead of develop. PR #19 was closed without merge on 2026-04-08. MED-247 (Critical), MED-243/246 (High) still in Backlog.
Sprint-6 Git Branch (feature/Sprint-6) Contains:
- Admin chat monitoring with inline flag review
- Fraud detection keyword/pattern management with sortable headers
- Milestone-based ratings, badge system, instructor of the month
- Participant/Instructor/Admin dashboards
- Audit log improvements, i18n fixes
- PR #19 review findings resolved (critical, high, medium)
ChatBot, Hour Counter, Feedback, Partners, Admin Config
Branch: feature/Sprint-7 (77 commits ahead of develop, 258 files changed, 28,898+/18,923-) — PR #22 closed (not merged)
Completion: 0% (formal) · 11/16 stories in Testing or In Progress (69% advanced)
Tickets: 33 total | 0 Done | 10 Testing | 1 In Progress | 6 Selected | 16 Backlog
Changes: 10 stories advanced to Testing (from Selected). 1 story In Progress (MED-134). Feature branch at 77 commits ahead of develop. PR #22 was closed without merge on 2026-04-08. MED-240 (Critical), MED-238 (High) still in Backlog.
Sprint-7 Git Branch (feature/Sprint-7) Contains:
- FAQ ChatBot with Teknora-style UI/UX, bilingual responses, off-topic detection
- 12 seed FAQ entries
- Participant/Instructor hour counters
- Feedback/support forms and admin review panel
- Partner management and contextual referral display
- Admin pricing & package configuration
- Support/Feedback quick action cards on dashboards
- PR #22 review findings resolved (3H, 11M, 9L)
Follow-Up, Translations, Exam Reports
Branch: feature/Sprint-8 (87 commits ahead of develop, 277 files changed, 32,653+/18,924-) — no PR yet
Completion: 0% (formal) · 6/7 stories in Testing or In Progress (86% advanced)
Tickets: 16 total | 0 Done | 3 Testing | 3 In Progress | 3 Selected | 7 Backlog
Changes: 3 stories advanced to In Progress (MED-69, MED-94, MED-114). 3 stories advanced to Testing (MED-50, MED-71, MED-78). Feature branch now at 87 commits ahead of develop (includes Sprint-7 base). No PR opened yet.
Sprint-8 Git Branch (feature/Sprint-8) Contains (built on top of Sprint-7):
- Phase 1: Foundation tables, schema, types, i18n
- Phases 2+3+5+6: Follow-up flow, translations, exam reports
- Phase 4: Admin follow-up template management UI
- Follow-up consent toggle on participant settings
- Validation gap fixes for MED-69, MED-71, MED-78, MED-94, MED-114
◆ Epic Progress
| Epic | Key | Stories | Done | Testing | In Progress | Remaining | Progress |
|---|---|---|---|---|---|---|---|
| Landing Page & Navigation | MED-2 | 2 | 2 | 0 | 0 | 0 | |
| Registration & Authentication | MED-3 | 8 | 7 | 0 | 0 | 1 | |
| Course & Category Management | MED-4 | 7 | 6 | 0 | 0 | 1 | |
| Instructor Discovery & Selection | MED-5 | 6 | 3 | 0 | 2 | 1 | |
| Instructor Profile Management | MED-6 | 7 | 7 | 0 | 0 | 0 | |
| Booking & Scheduling | MED-7 | 10 | 2 | 0 | 8 | 0 | |
| Payment & Billing | MED-8 | 11 | 3 | 6 | 0 | 2 | |
| Session Delivery (Zoom) | MED-9 | 4 | 0 | 1 | 0 | 3 | |
| Dashboards | MED-10 | 3 | 0 | 3 | 0 | 0 | |
| Messaging & Chat Monitoring | MED-11 | 7 | 0 | 4 | 0 | 3 | |
| Ratings, Badges & Gamification | MED-12 | 4 | 0 | 4 | 0 | 0 | |
| Feedback & Support | MED-13 | 3 | 0 | 3 | 0 | 0 | |
| FAQ ChatBot & Virtual Assistance | MED-14 | 3 | 0 | 3 | 0 | 0 | |
| Hour Counter | MED-15 | 2 | 0 | 2 | 0 | 0 | |
| External Partner Integration | MED-16 | 2 | 0 | 1 | 1 | 0 | |
| Multilingual Support | MED-17 | 2 | 1 | 0 | 1 | 0 | |
| Exam Reports | MED-18 | 2 | 0 | 0 | 2 | 0 | |
| Post-Course Follow-Up | MED-19 | 4 | 0 | 2 | 0 | 2 | |
| Admin Configuration Panel | MED-20 | 7 | 0 | 1 | 0 | 6 |
Notes: MED-2 (Landing Page) and MED-6 (Instructor Profile Mgmt) remain at 100% story completion. MED-3/MED-4 still 88%/86% (blocked by MED-242 Critical). MED-5 (Instructor Discovery) rose from 17% → 50% — MED-31, MED-119, MED-227 now Done. MED-35 and MED-54 In Progress. MED-7 (Booking) rose from 0% → 20% — MED-222, MED-223 now Done. 8 stories In Progress. MED-8 (Payment) rose from 0% → 27% — MED-26 Done, 6 in Testing. MED-248 (Critical) still Backlog. MED-10 (Dashboards) now has 3 in Testing — all 3 dashboard stories advanced (Sprint-6). MED-11 (Messaging) now has 4 in Testing — MED-49 (chat monitoring) added from Sprint-6. MED-12 (Ratings/Badges) now has 4 in Testing — all 4 stories advanced (Sprint-6). MED-13 (Feedback), MED-14 (FAQ ChatBot), MED-15 (Hour Counter) now all in Testing (Sprint-7). MED-16 (Partner Integration) split: 1 Testing + 1 In Progress (Sprint-7). MED-17 (Multilingual) has 1 In Progress (MED-69, Sprint-8). MED-18 (Exam Reports) has 2 In Progress (Sprint-8). MED-19 (Post-Course Follow-Up) has 2 in Testing (Sprint-8).
☍ Branch Status
● Production (main)
- Last commit: 36aee50 — fix: run D1 migrations before deploy to prevent schema drift
- Contains: Sprint-1 + Sprint-2 + Sprint-3 — full auth, registration, course/category management, instructor profiles, i18n, instructor discovery, booking flows, availability calendar, calendar view, E2E tests
- Merged PRs (recent):
- PR #10 (2026-03-25): develop → main — Sprint 1-3 release
- PR #5 (2026-03-12): develop → main — Sprint 1-2 release
- No new merges since last report
● Integration/QA (develop)
- 52 commits ahead of origin/main (+22 since last report — PR #20 merge)
- Contains (beyond main):
- Sprint-4 code (PR #8 merged): payment, booking confirmation, cancellation policies, no-show, reminders, package expiration
- Bug fixes: MED-250 through MED-254 (PR #14 merged)
- MED-256: Availability indicator on instructor listing cards
- Production test seed data (PR #12 merged)
- KV → D1 migration (PR #20 merged 2026-04-08): sessions, rate limits, locks migrated from Cloudflare KV to D1
- D1 migration fixes, E2E test fixes
- Sprint-2 E2E spec rewrites, Sprint-1 test fixes
- 150 files changed, 23,834 insertions, 10,191 deletions vs origin/main
● feature/Sprint-5 Active
- 9 commits ahead of develop
- 188 files changed, 17,656+/18,320-
- PR #9 closed (not merged)
- Payouts, refunds, materials sharing, messaging safety, Zoom sessions, commission config
● feature/Sprint-6 Active
- 44 commits ahead of develop
- 221 files changed, 23,061+/18,760-
- PR #19 closed (not merged)
- Chat monitoring, fraud detection, ratings/badges, dashboards, audit log improvements
● feature/Sprint-7 Active
- 77 commits ahead of develop
- 258 files changed, 28,898+/18,923-
- PR #22 closed (not merged)
- FAQ ChatBot, hour counters, feedback/support, partner management
● feature/Sprint-8 Active (no PR)
- 87 commits ahead of develop
- 277 files changed, 32,653+/18,924-
- No PR yet — built on top of Sprint-7 branch
- Follow-up flow, translation management, exam reports, admin templates
● Infrastructure PRs (all resolved)
- PR #20 (remove_kv) → develop — Merged: sessions/rate-limits/locks migrated from KV to D1
- PR #21 (bugfix/pm-findings) → develop — Closed (not merged): PM testing fixes
- PR #18 (fix/test-e2e-production-build) → develop — Closed (not merged): Playwright production build
● fix/sprint-3-missing-requirements
- 1 commit (remote only)
- MED-31 list pagination, MED-48 trial pre-check fixes
- Not yet merged anywhere
Open Pull Requests (1)
| PR | Branch | Target | Title | Status |
|---|---|---|---|---|
| #11 | develop | main | Sprint 4 - Ready for Testing | Open (since 2026-03-26) |
Recently Closed (2026-04-08)
| PR | Branch | Target | Title | Outcome |
|---|---|---|---|---|
| #20 | remove_kv | develop | Remove Cloudflare KV — migrate sessions, rate limits, locks to D1 | Merged |
| #22 | feature/Sprint-7 | develop | feat: Sprint 7 — FAQ ChatBot, Hour Counters, Feedback, Partners, Admin Config | Closed (not merged) |
| #21 | bugfix/pm-findings | develop | fix: PM testing findings — logout, instructor access, CSP | Closed (not merged) |
| #19 | feature/Sprint-6 | main | feat: Sprint 6 — Dashboards, Chat Monitoring, Ratings, Badges & Gamification | Closed (not merged) |
| #18 | fix/test-e2e-production-build | develop | fix: switch Playwright to production build for test reliability | Closed (not merged) |
| #9 | feature/Sprint-5 | main | Sprint 5: Payment & Billing, Session Delivery, Messaging Safety | Closed (not merged) |
Observations
- develop is now 52 commits ahead of origin/main (+22 from PR #20 KV→D1 merge) — PR #11 still pending review for Sprint-4 release to production.
- All sprint branch PRs (#9, #19, #22) were closed without merge on 2026-04-08 — sprint branches still exist with unmerged code.
- Sprint-8 has no PR — built on top of Sprint-7 branch.
- Sprint branches are stacked: Sprint-8 ⊃ Sprint-7 ⊃ Sprint-6. They share a base and must be merged in order.
- Infrastructure PRs (#18, #21) also closed without merge — PM findings and E2E reliability work not integrated.
- PR #20 (remove_kv) was the only PR merged on 2026-04-08 — major infrastructure change (sessions/rate-limits/locks from KV to D1).
- Sprint branch diff stats are inflated due to KV→D1 migration now on develop (large deletion counts from KV code removal).
- No tags or releases exist in the repository.
⚠ Open Bugs (21 total — was 5)
| Key | Priority | Summary | Sprint | Status |
|---|---|---|---|---|
| MED-250 | High | Instructor self-registration skips pending approval state | Sprint-1 | Testing |
| MED-259 | High | "Kontakt" button redirects authenticated participants to /login | Sprint-3 | Selected |
| MED-260 | High | "Probestunde buchen" shown even if trial already booked | Sprint-3 | Selected |
| MED-261 | High | Stale booking intent not detected when slot unavailable | Sprint-3 | Selected |
| MED-262 | High | Expired booking intent not cleared from sessionStorage | Sprint-3 | Selected |
| MED-263 | High | "Kurs buchen" fails to capture courseId in booking intent | Sprint-3 | Selected |
| MED-264 | High | No recovery link after stale slot detected on Courses page | Sprint-3 | Selected |
| MED-265 | High | slotUnavailable error cleared by availability reload (MED-175) | Sprint-3 | Selected |
| MED-266 | High | slotUnavailable error cleared by trial slots reload (MED-186) | Sprint-3 | Selected |
| MED-269 | High | Missing API endpoint: POST /api/admin/appointments/[id]/zoom-link | Sprint-4 | Selected |
| MED-270 | High | Missing access control on /admin/* routes | Sprint-4 | Selected |
| MED-271 | High | Instructor earnings page doesn't display late-cancelled balance | Sprint-4 | Selected |
| MED-272 | High | Late cancellation dialog shows "Gesamten Kurs stornieren" | Sprint-4 | Selected |
| MED-273 | High | noShowEligible check blocks counter-report UI | Sprint-4 | Selected |
| MED-276 | High | Dashboard doesn't display expiry date for active packages | Sprint-4 | Backlog |
| MED-268 | Medium | Instructor registration navigates away instead of inline pending screen | Sprint-1 | Selected |
| MED-252 | Medium | Language switcher (DE/EN) missing on /instructors public page | Sprint-2 | Testing |
| MED-253 | Medium | Admin concurrent edit notification not shown to instructor | Sprint-2 | Testing |
| MED-254 | Medium | Instructor not notified on auto-cancelled course change request | Sprint-2 | Testing |
| MED-251 | Low | Password reset success page does not auto-redirect to /login | Sprint-1 | Testing |
| MED-267 | Low | /api/locale POST crashes with 500 when body empty or non-JSON | Sprint-1 | Selected |
21 bugs total (was 5). +16 new bugs since last report (2 Sprint-1, 8 Sprint-3, 8 Sprint-4 — of which MED-274 and MED-275 already Done). 5 in Testing, 15 in Selected for Development, 1 in Backlog. Bug fix code for MED-250–254 on develop (PR #14). Sprint-3/4 bugs found during QA — fixes in progress.
⚠ Risks & Gaps
- 8 High-priority Sprint-3 bugs (MED-259–266) found during QA — booking intent, stale slots, UI errors. All in Selected for Development.
- 8 Sprint-4 bugs (MED-269–276) found during QA — missing API endpoints, access control, UI errors. 2 Done, 5 Selected, 1 Backlog.
- Sprint-3 and Sprint-4 Testing queues are now empty — stories moved to In Progress for rework or Done.
- MED-146 (Configure Virtual Background for Zoom Sessions) still regressed at Selected for Development. Not picked up.
- develop is now 52 commits ahead of origin/main (was 30 — increased by 22 from PR #20 merge). PR #11 for Sprint-4 release still open since 2026-03-26 (~2 weeks). Bug fixes and the KV→D1 migration are stuck behind this merge.
- Sprint-8 branch is built on Sprint-7, which is built on Sprint-6. These must be merged in order (Sprint-6 first).
- Risk: merge conflicts and integration issues compound with each stacked branch.
- Sprint branch diff stats are now inflated due to the KV→D1 migration on develop — large deletion counts from KV code removal will cause conflicts on merge.
- Sprint-8 still has no PR.
- PRs #9, #19, #22 were all closed without merge on 2026-04-08.
- Sprint branches (Sprint-5 through Sprint-8) still exist with unmerged code but no open PRs.
- New PRs will need to be created when these branches are ready for integration.
- PR #20 (remove_kv): MERGED to develop (2026-04-08) — sessions/rate-limits/locks migrated from Cloudflare KV to D1. This is a major infrastructure change that will cause merge conflicts with sprint branches that still reference KV.
- PR #21 (bugfix/pm-findings): CLOSED without merge — PM testing fixes for logout, instructor access, CSP are not integrated.
- PR #18 (fix/test-e2e-production-build): CLOSED without merge — Playwright production build changes not integrated.
- All [BE] sub-tasks across every sprint remain in Backlog. Backend implementation is embedded in the story-level work; sub-task statuses are not being maintained.
- Sub-tasks not tracked: All [BE] sub-tasks are in Backlog regardless of parent story status
- Epics not updated: All Epics remain at "Selected for Development" even when all child stories are Done
- PRs closed without merge: PRs #9, #18, #19, #21, #22 were all closed on 2026-04-08 — sprint code remains on branches with no active PRs
- 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)