# TimeToLeave Documentation This directory documents the current TimeToLeave monorepo: the Next.js web app and backend proxy, the Expo mobile app, and the shared TypeScript packages. ## Contents | Document | Use it for | | --- | --- | | [Architecture](./ARCHITECTURE.md) | System overview, package responsibilities, data flow, integrations, and operational constraints. | | [Development](./DEVELOPMENT.md) | Setup, environment variables, local commands, route map, quality checks, Docker, and mobile development notes. | | [Core & API Client Reference](./API_REFERENCE.md) | Shared package exports, HAFAS helpers, countdown/status logic, and `ApiClient` methods. | | [User Guide](./USER_GUIDE.md) | How to use the web and mobile apps, import calendars, read leave-by statuses, and manage settings. | | [Codebase Function Guide](./CODEBASE_FUNCTION_GUIDE.md) | File-by-file map of first-party source modules, functions, hooks, and components. | ## Quick Start ```bash npm install cp .env.example .env npm run dev ``` For mobile development: ```bash npm run dev:mobile ``` Set `EXPO_PUBLIC_API_BASE_URL` for device builds so the app can reach the web backend. ## Quality Checks ```bash npm run lint npm run typecheck npm run test npm run build ``` ## Current User-Facing Routes | Route | Purpose | | --- | --- | | `/` | Departure desk showing the next upcoming event and live route/departure data. | | `/calendar` | Calendar import, Google Calendar sync, and batch destination review. | Add/edit event actions are handled in modal and native-screen flows, not by standalone web page routes.