2.0 KiB
2.0 KiB
TimeToLeave — Implementation Checklist
Phase 1 — Workspace + Shared Packages (Steps 1-9)
| # | Step | ✅ | ✔️ |
|---|---|---|---|
| 1 | Create safety baseline (typecheck, lint, test, build) | [x] | [x] |
| 2 | Add workspace support to root package.json |
[x] | [x] |
| 3 | Move web app into apps/web/ |
[x] | [x] |
| 4 | Create packages/core/ with shared types + utilities |
[x] | [x] |
| 5 | Update web imports to use @timetoleave/core |
[x] | [x] |
| 6 | Create packages/api-client/ with typed API wrapper |
[x] | [x] |
| 7 | Refactor web hooks to use api-client |
[x] | [x] |
| 8 | Run web verification again (typecheck, lint, test, build) | [x] | [x] |
| 9 | Phase 1 summary verification (all packages compile) | [x] | [x] |
Phase 2 — Expo Mobile MVP (Steps 10-18)
| # | Step | ✅ | ✔️ |
|---|---|---|---|
| 10 | Scaffold Expo mobile app with TypeScript | [x] | [x] |
| 11 | Configure mobile API base URL (.env + singleton) |
[x] | [x] |
| 12 | Add mobile app shell (navigation + 5 screens) | [x] | [x] |
| 13 | Add mobile event store (AsyncStorage) | [x] | [x] |
| 14 | Build Event List screen | [x] | [x] |
| 15 | Build Add Event screen with validation | [x] | [x] |
| 16 | Build Origin Setup in Settings | [x] | [x] |
| 17 | Build Event Detail screen (trains + bike + errors) | [x] | [x] |
| 18 | Phase 2 summary verification | [x] | [x] |
Phase 3 — Notifications, Calendar, Deployment (Steps 19-24)
| # | Step | ✅ | ✔️ |
|---|---|---|---|
| 19 | Add local notifications (expo-notifications) | [x] | [x] |
| 20 | Add native calendar import with calendar selection | [x] | [x] |
| 21 | Add mobile tests (core + API + store + screens) | [x] | [x] |
| 22 | Prepare deployment (web backend + EAS mobile) | [x] | [x] |
| 23 | Release MVP (verify acceptance criteria) | [x] | [x] |
| 24 | Plan post-MVP improvements | [x] | [x] |
Legend:
- ✅ = Done (code written)
- ✔️ = Verified (tests/builds pass)
[~]= Optional or deferred (never blocks phase advancement)