Files
time_to_leave/POST_MVP_PLAN.md
T
fegger 72f9400756
CI / lint-typecheck-test (push) Has been cancelled
Add CI pipeline, pre-commit hooks, and offline caching
Configure GitHub Actions for linting, typechecking, and testing.
Add Husky and lint-staged for pre-commit checks. Implement API
response caching in AsyncStorage for offline support. Move core
tests to packages/core and add vitest configuration.
2026-05-19 14:00:38 +02:00

88 lines
3.2 KiB
Markdown

# TimeToLeave - Post-MVP Improvements Plan
> **Last updated:** 2026-05-19
> This plan reflects the current state of the codebase after the initial MVP and mobile rewrite.
## Already Implemented (No Longer TODO)
The following items from earlier versions of this plan have been completed and are in production:
- **Native Calendar Import** — `expo-calendar` integration with device calendar sync, permission requests, and multiple calendar source selection.
- **Push / Local Notifications** — `expo-notifications` with local notification scheduling. Server-side push (FCM/APNs) for live journey updates remains deferred.
- **Dark / Light Theming** — System theme following and manual dark/light toggle on both web and mobile.
- **Auto-Refresh** — `useFocusEffect`-based refresh on mobile when returning to foreground.
---
## High Priority
### 1. Offline-First Architecture
- Cache journey and route data in `AsyncStorage` / `localStorage` for offline viewing.
- Background sync when connection is restored.
- Add explicit "offline mode" UI indicators.
- Conflict resolution for concurrent event edits.
### 2. Real Map Integration
- Integrate `expo-maps` / `@vis.gl/react-google-maps` for visual route display.
- Show origin, destination, and train stations on a map.
- Display bike route with turn-by-turn directions.
- Alternative route suggestions (e.g., faster vs. fewer changes).
### 3. Multiple Origins Support
- Allow different origins per event (Home, Work, Custom presets).
- Quick origin switching in event detail and settings.
- Store origin presets in persistent settings.
---
## Medium Priority
### 4. Server-Side Push Notifications
- Implement FCM for Android and APNs for iOS for real-time journey disruption alerts.
- Real-time delay/cancellation push notifications.
- Fallback to local notifications when the server is unreachable.
### 5. Accessibility
- TalkBack / VoiceOver screen reader support on mobile.
- Dynamic type scaling.
- High contrast mode.
- WCAG 2.1 AA compliance audit on web.
### 6. Analytics & Crash Reporting
- Integrate Sentry for error tracking on web and mobile.
- Opt-in usage analytics.
- Performance monitoring (Web Vitals, React Native startup time).
- In-app user feedback collection.
---
## Lower Priority
### 7. Advanced Features
- Shared events with friends / family (collaborative departure planning).
- Recurring event templates.
- Journey history and statistics dashboard.
- Export / import event data (ICS, JSON).
---
## Technical Debt & Quality
### 8. Code Quality
- Extract shared hooks to `packages/hooks` (deduplicate web and mobile hook implementations).
- Increase unit test coverage across all packages.
- Add Playwright E2E tests for web critical flows.
- Add Detox E2E tests for mobile critical flows.
- Bundle size analysis and reduction.
### 9. Developer Experience
- Consolidate ESLint to Flat Config everywhere.
- Add pre-commit hooks (`husky` + `lint-staged`).
- Add GitHub Actions CI pipeline.
- Architecture Decision Records (ADRs) in `docs/adr/`.
### 10. Documentation
- Keep `POST_MVP_PLAN.md` and `CHECKLIST.md` in sync with reality.
- Contributing guidelines (`CONTRIBUTING.md`).
- API versioning policy once the backend grows.