# leaflet_svelte Weather-balloon trajectory planner. Static SvelteKit SPA that talks to a Django REST backend. ## Quick start ```bash npm install # dev against a local Django on :8000 (see .env.example) npm run dev # dev with a fake backend (no Django needed) VITE_USE_MOCK_API=true npm run dev # type-check + production build (emits static files to ./build) npm run check npm run build ``` Serve `build/` from any static host. Route fallback is `index.html`. ## Documentation - [`docs/ARCHITECTURE.md`](docs/ARCHITECTURE.md) — module layout and data flow. - [`docs/CONVENTIONS.md`](docs/CONVENTIONS.md) — naming, styling, component patterns. - [`docs/ADDING_A_FEATURE.md`](docs/ADDING_A_FEATURE.md) — walkthrough for adding a new panel/feature. - [`mocks/`](mocks/) — Vite dev-server mock backend. ## Stack - **SvelteKit + Vite** (TypeScript, Svelte 5 runes) — built as a pure SPA with `@sveltejs/adapter-static`. - **MapLibre GL JS** via the `$map` abstraction — the app never imports `maplibre-gl` directly outside `src/lib/map/`. - **Sveltestrap** + Bootstrap 5 for UI chrome. - **Chart.js** for the ascent/descent profile editor. - **@vincjo/datatables** for editor tables.