Files
time_to_leave/docs/README.md
T
fegger 3c6df95a86 Refactor monorepo structure and replace hardcoded colors
Add TypeScript project references, update ESLint configs to support
ESM modules, and introduce brand semantic color tokens across the web
app. Add comprehensive documentation for architecture, API reference,
development setup, and user guide.
2026-05-12 21:22:40 +02:00

60 lines
1.8 KiB
Markdown

# 📚 TimeToLeave Documentation
Welcome to the official documentation for TimeToLeave, the smart departure planner that syncs with your calendar and monitors real-time public transport to tell you exactly when to leave home.
## 🗺️ Table of Contents
### 1. [Architecture](./ARCHITECTURE.md)
Understand the monorepo structure, tech stack, data flow, and component relationships between the Web Dashboard, Mobile Client, and shared packages.
### 2. [Core & API Reference](./API_REFERENCE.md)
Detailed reference for the internal packages:
- **`@timetoleave/core`**: Domain types, HAFAS time parsing, countdown/status logic, and formatting utilities.
- **`@timetoleave/api-client`**: The unified HTTP client that wraps the backend proxy routes.
### 3. [Development Guide](./DEVELOPMENT.md)
Everything a developer needs to get started:
- Prerequisites and installation instructions.
- Running the Web and Mobile apps in development mode.
- Testing (Vitest/Jest), Linting (ESLint), and Type Checking (TypeScript).
- Backend API endpoints and Next.js 16 routing conventions.
### 4. [User Guide](./USER_GUIDE.md)
A guide for end-users explaining how to sync calendars, view event details, interpret the "Leave Status" color codes, and configure mobile notifications.
---
## ⚡ Quick Start
```bash
# Clone the repository
git clone <repository-url>
cd TimeToLeave
# Install dependencies for the entire monorepo
npm install
# Start the Web development server
npm run dev
# Start the Mobile development server
npm run dev:mobile
```
## 🛡️ Code Quality
```bash
# Run all tests (Web Vitest + Mobile Jest)
npm run test
# Run ESLint across the monorepo
npm run lint
# Run TypeScript type checking
npm run typecheck
```
---
*Built for developers who bike to the train and hate missing their connections.*