All tasks are complete. 60 tables, 53 enums, 78 migrations.
| Task | Type | Description |
|---|
| T-001 | Infra | Turborepo + Bun monorepo (5 packages) |
| T-002 | Infra | Docker Compose (PostgreSQL 5433, Redis 6379) |
| T-003 | Infra | Drizzle ORM + migration system |
| T-004 | Backend | Core schema (teachers, students, auth_sessions) |
| T-005 | Infra | Shared package (Zod schemas + types) |
| T-006 | Backend | Fastify 5 setup (CORS, cookies, auth, rate limiting) |
| T-007 | Frontend | React 19 + Vite 6 + TanStack Router + shadcn/ui |
| T-008 | Backend | Development seed data |
| Task | Type | Description |
|---|
| T-101 | Integration | Google OAuth for teachers |
| T-102 | Backend | Teacher onboarding API |
| T-103 | Frontend | Dashboard layout + collapsible sidebar |
| T-104 | Frontend | 4-step onboarding wizard |
| T-105 | Integration | Google Calendar connection |
| Task | Type | Description |
|---|
| T-201 | Backend | Availability system (schedules, rules, overrides, activations) |
| T-202 | Backend | Unified service model (3 dimensions) |
| T-203 | Backend | Slot engine (10-step algorithm) |
| T-204 | Frontend | Public booking page |
| T-205 | Backend | Trial booking (free + paid) |
| T-206 | Frontend | Teacher trial management |
| T-207 | Frontend | Calendar view (week + agenda) |
| T-208 | Integration | Trial notification emails |
| Task | Type | Description |
|---|
| T-301 | Integration | Stripe Connect setup |
| T-302 | Backend | Stripe webhooks (idempotent) |
| T-303 | Integration | Paid trial flow |
| T-304 | Backend | Enrollment system with session accounting |
| T-305 | Backend | Credit system (immutable ledger + idempotency) |
| T-306 | Backend | Student magic link auth |
| T-307 | Frontend | Student portal |
| T-308 | Integration | Purchase + booking email templates |
| Task | Type | Description |
|---|
| T-401 | Backend | Cancellation policy engine (per-service rules) |
| T-402 | Backend | Legal documents (versioned, acceptance) |
| T-403 | Backend | Auto-complete system (BullMQ) |
| T-404 | Frontend | Teacher settings pages |
| Task | Type | Description |
|---|
| T-501 | Full Stack | Student CRUD + lifecycle tracking |
| T-502 | Full Stack | Contact log (WhatsApp/email/phone) |
| T-503 | Backend | Student lifecycle events (14 types) |
| T-504 | Backend | Lifecycle detection worker (daily cron) |
| T-505 | Full Stack | Retention metrics + insights |
| T-506 | Full Stack | Student preferred hours |
| Task | Type | Description |
|---|
| T-601 | Backend | Material folders (hierarchical, cascade soft-delete) |
| T-602 | Full Stack | Lesson templates |
| T-603 | Full Stack | Resource library |
| T-604 | Integration | Google Drive integration + auto-copy |
| T-605 | Frontend | Materials browser (list/grid/kanban) |
| T-606 | Full Stack | Tags & categories |
| T-607 | Backend | Content analytics |
| Task | Type | Description |
|---|
| T-701 | Backend | Reviews (rating, source, status, import) |
| T-702 | Backend | Review requests (in_app/email/link) |
| T-703 | Backend | Review settings (auto-request, auto-approve) |
| T-704 | Frontend | Teacher reviews page (5 tabs) |
| T-705 | Frontend | Public reviews section |
| T-706 | Frontend | Student review form |
| Task | Type | Description |
|---|
| T-801 | Full Stack | Widget system (booking/storefront/reviews) |
| T-802 | Frontend | Reviews widget (4 layouts) |
| T-803 | Frontend | Public teacher profile + layout editor |
| T-804 | Backend | Profile analytics |
| Task | Type | Description |
|---|
| T-901 | Backend | Audit log (append-only, fire-and-forget) |
| T-902 | Backend | Audit cleanup worker (monthly) |
| T-903 | Backend | GDPR data export (14 tables) |
| T-904 | Backend | GDPR data erasure (anonymize + delete) |
| T-905 | Backend | Erasure requests (30-day due date) |
| T-906 | Backend | Data retention (weekly cron) |
| T-907 | Full Stack | Privacy routes + UI |
| Task | Type | Description |
|---|
| T-1001 | Backend | Circuit breaker (Redis-backed) |
| T-1002 | Backend | Rate limiter (sliding-window) |
| T-1003 | Backend | Calendar sync worker (5 min cron) |
| T-1004 | Frontend | Optimistic updates (11 hooks) |
| T-1005 | Frontend | Keyboard shortcuts + command palette |
| Task | Type | Description |
|---|
| T-1101 | Full Stack | Waitlist system (auto-notify, 48h offers) |
| Task | Type | Description |
|---|
| T-1201 | Backend | Session satellites (3 tables) |
| T-1202 | Backend | Group sessions (participants junction) |
| T-1203 | Backend | Courses (schedule items + progress) |
| Task | Type | Description |
|---|
| T-1301 | Backend | Provider-agnostic OAuth |
| T-1302 | Backend | Soft-delete pattern (7 tables) |
| # | Worker | Schedule | Purpose |
|---|
| 1 | auto-complete | Per session | Complete after end + grace |
| 2 | calendar-sync | 5 min cron | Retry pending syncs |
| 3 | drive-copy | On demand | Copy Drive files |
| 4 | drive-sync | 3 AM daily | Verify file integrity |
| 5 | lifecycle-detection | 6 AM daily | Detect gaps, churn, streaks |
| 6 | content-analytics | Periodic | Aggregate usage metrics |
| 7 | audit-cleanup | 1st of month | Clean old logs |
| 8 | data-retention | Sunday 3 AM | GDPR enforcement |
| 9 | waitlist-expiry | Hourly | Expire stale offers |
| 10 | metric-alerts | Periodic | Check metric alert thresholds |
| 11 | scheduled-messages | Delayed jobs | Contact reminders for teachers |