docs(roadmap): mark all 4 backend modules complete (timers, routines, households, shared-timers)
This commit is contained in:
parent
f92193139b
commit
8b6f44ac9a
@ -815,6 +815,7 @@ ChronoMind ships in **5 phases over ~6 months**, from web MVP to full cross-plat
|
||||
|
||||
- [x] **Cross-platform cloud sync (via platform-service)**
|
||||
- [x] Sync API: `modules/timers/` — 7 REST endpoints (CRUD + delta sync + batch upsert), 42 tests, `productId: "chronomind"`
|
||||
- [x] Sync API: `modules/routines/` — 7 REST endpoints (CRUD + delta sync + batch upsert), 32 tests, `productId: "chronomind"`
|
||||
- [x] JWT authentication via @bytelyst/auth (reuse existing `authenticate` preHandler)
|
||||
- [x] TLS in transit + encrypted at rest in Cosmos DB (container: `timers`, partition: `/userId`)
|
||||
- [x] Sync protocol: `syncVersion` monotonic integer — optimistic concurrency, 409 on stale writes
|
||||
@ -826,14 +827,16 @@ ChronoMind ships in **5 phases over ~6 months**, from web MVP to full cross-plat
|
||||
|
||||
### Week 20-21: Shared Timers + Social
|
||||
|
||||
- [ ] **Shared timers (Family/Household)**
|
||||
- [ ] Create a "household" group (invite via link)
|
||||
- [ ] Shared timers visible to all household members
|
||||
- [ ] Real-time sync: one person starts timer, everyone sees it
|
||||
- [ ] Use cases: "Dinner in 30 minutes", "Leave for school in 15 min"
|
||||
- [ ] Per-timer: shared vs private toggle
|
||||
- [ ] Household admin: manage members, remove shared timers
|
||||
- [ ] Up to 6 members per household (Family tier)
|
||||
- [x] **Shared timers (Family/Household) — backend API**
|
||||
- [x] `modules/households/` — 9 REST endpoints (CRUD, invite, join, leave, remove member), 26 tests
|
||||
- [x] `modules/shared-timers/` — 6 REST endpoints (CRUD under `/households/:id/timers`, per-user ack), 30 tests
|
||||
- [x] Create a "household" group (invite via link) — invite code generation + accept
|
||||
- [x] Shared timers visible to all household members — membership check on all endpoints
|
||||
- [ ] Real-time sync: one person starts timer, everyone sees it (needs Event Bus — polling fallback)
|
||||
- [ ] Use cases: "Dinner in 30 minutes", "Leave for school in 15 min" (client UI)
|
||||
- [ ] Per-timer: shared vs private toggle (client UI)
|
||||
- [x] Household admin: manage members, remove shared timers — admin role enforcement
|
||||
- [x] Up to 6 members per household (Family tier) — `MAX_HOUSEHOLD_MEMBERS` enforced
|
||||
|
||||
- [ ] **Body doubling / shared focus (deferred to v3)**
|
||||
- [ ] _Experimental feature requiring real-time infrastructure (Event Bus). Defer until platform gap component 2.4 is built._
|
||||
@ -1064,11 +1067,11 @@ ChronoMind reuses **13 shared packages** and **17+ platform-service modules** fr
|
||||
| @bytelyst/testing | Shared test mocks | 4-5 |
|
||||
| @bytelyst/fastify-core | Service app factory | 5 |
|
||||
|
||||
**New platform-service modules needed (4):**
|
||||
- `timers` — timer CRUD + sync for `productId: "chronomind"`
|
||||
- `routines` — routine CRUD + sync
|
||||
- `shared-timers` — household shared timer management
|
||||
- `households` — household membership + invitations
|
||||
**New platform-service modules (4/4 complete, 847 total tests):**
|
||||
- ✅ `timers` — 7 endpoints, 42 tests (container: `timers`, partition: `/userId`)
|
||||
- ✅ `routines` — 7 endpoints, 32 tests (container: `routines`, partition: `/userId`)
|
||||
- ✅ `households` — 9 endpoints, 26 tests (container: `households`, partition: `/id`)
|
||||
- ✅ `shared-timers` — 6 endpoints, 30 tests (container: `shared_timers`, partition: `/householdId`)
|
||||
|
||||
---
|
||||
|
||||
|
||||
Loading…
Reference in New Issue
Block a user