The frontend for bikedataproject.org, a citizen-driven initiative collecting cycling data to help make cities more bike-friendly.
Built with SvelteKit, Svelte 5, Tailwind CSS, and MapLibre GL.
| Route | Description |
|---|---|
/ |
Homepage — mission statement, how to contribute, partner logos |
/share-data |
Authenticated page — GPX upload, mobile app link, provider integrations |
/datamap |
Interactive map of contributed cycling data |
/faq |
Frequently asked questions |
/about |
About the project |
/privacy |
Privacy policy |
npm install
npm run devThe dev server runs at http://localhost:5000 by default. Authentication uses the production Keycloak instance — you'll need a valid account on bikedataproject.org to access the share-data page.
npm run buildProduces a static site in build/ using @sveltejs/adapter-static.
Settings live in src/lib/settings.ts (local dev) and src/lib/settings.prod.ts (production). The CI pipeline copies the prod file before building.
| Setting | Description |
|---|---|
public_url |
Base URL for the app and API proxy |
auth.authority |
Keycloak OIDC realm URL |
auth.client_id |
OIDC client ID |
auth.scope |
OIDC scopes |
Pushes to main trigger a CI build. Tagging a commit with v* (e.g., v0.1.7) triggers a production deploy via rsync and creates a GitHub release.
- Tailwind CSS — styling