Files
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

3.2 KiB

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 Importexpo-calendar integration with device calendar sync, permission requests, and multiple calendar source selection.
  • Push / Local Notificationsexpo-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-RefreshuseFocusEffect-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.