mobile app phase 1
This commit is contained in:
+42
-10
@@ -1,14 +1,46 @@
|
||||
# TimeToLeave — Implementation Checklist
|
||||
|
||||
## Phase 1 — Workspace + Shared Packages (Steps 1-9)
|
||||
|
||||
| # | Step | ✅ | ✔️ |
|
||||
|---|------|----|----|
|
||||
| 1 | Project scaffolding & baseline setup | [x] | [x] |
|
||||
| 2 | Environment config + constants (`src/lib/constants.ts`) | [x] | [x] |
|
||||
| 3 | Types (`src/types/index.ts`) | [x] | [x] |
|
||||
| 4 | Geocode client + route + hook + component | [x] | [x] |
|
||||
| 5 | Journeys client + route + hook + component | [x] | [x] |
|
||||
| 6 | Bike routing client + route + hook + component | [x] | [x] |
|
||||
| 7 | WienerLinien client + route + hook + component | [x] | [x] |
|
||||
| 8 | Wire `useWienerLinien` and `<WienerLinienSection>` into `EventCard.tsx` | [x] | [ ] |
|
||||
| 9 | End-to-end integration test for full event card | [ ] | [ ] |
|
||||
| 10 | Polish: loading skeletons, empty states, dark-mode audit | [ ] | [ ] |
|
||||
| 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 | [ ] | [ ] |
|
||||
| 11 | Configure mobile API base URL (`.env` + singleton) | [ ] | [ ] |
|
||||
| 12 | Add mobile app shell (navigation + 5 screens) | [ ] | [ ] |
|
||||
| 13 | Add mobile event store (AsyncStorage) | [ ] | [ ] |
|
||||
| 14 | Build Event List screen | [ ] | [ ] |
|
||||
| 15 | Build Add Event screen with validation | [ ] | [ ] |
|
||||
| 16 | Build Origin Setup in Settings | [ ] | [ ] |
|
||||
| 17 | Build Event Detail screen (trains + bike + errors) | [ ] | [ ] |
|
||||
| 18 | Phase 2 summary verification | [ ] | [ ] |
|
||||
|
||||
## Phase 3 — Notifications, Calendar, Deployment (Steps 19-24)
|
||||
|
||||
| # | Step | ✅ | ✔️ |
|
||||
|---|------|----|----|
|
||||
| 19 | Add local notifications (expo-notifications) | [ ] | [ ] |
|
||||
| 20 | Add native calendar import (post-MVP) | [ ] | [ ] |
|
||||
| 21 | Add mobile tests (core + API + store + screens) | [ ] | [ ] |
|
||||
| 22 | Prepare deployment (web backend + EAS mobile) | [ ] | [ ] |
|
||||
| 23 | Release MVP (verify acceptance criteria) | [ ] | [ ] |
|
||||
| 24 | Plan post-MVP improvements | [ ] | [ ] |
|
||||
|
||||
---
|
||||
|
||||
**Legend:**
|
||||
- ✅ = Done (code written)
|
||||
- ✔️ = Verified (tests/builds pass)
|
||||
|
||||
Reference in New Issue
Block a user