initial version of streba 2

This commit is contained in:
Vincent van der Wal
2026-07-22 09:24:18 +02:00
commit 196f30521c
31 changed files with 5056 additions and 0 deletions
+44
View File
@@ -0,0 +1,44 @@
# Streba
The GPX analyser, reborn. A single-user, self-hosted web app for analysing GPX
tracks and bagging Alpine peaks.
- **Upload** GPX files (drag & drop, multiple at once) - distance, ascent,
moving time and an elevation profile are computed on the spot.
- **Activities** - every track on a map with stats and an interactive
elevation chart.
- **Worldmap** - all your tracks together on the dashboard.
- **Peaks** - a checklist of notable Alpine summits. Cross them off by hand,
or let an uploaded track bag them automatically when it passes within
150 m of a summit.
## Stack
- [SvelteKit](https://svelte.dev/docs/kit) (Svelte 5, TypeScript) with the Node adapter
- SQLite via `better-sqlite3` - the database lives in `data/streba.db`, no
server setup needed
- [MapLibre GL](https://maplibre.org) for maps
- Hand-rolled SVG elevation charts
## Development
```sh
npm install
npm run dev
```
## Production
```sh
npm run build
node build
```
Set `STREBA_DATA_DIR` to move the SQLite database somewhere else (defaults to
`./data`).
## Peaks data
The seed list of peaks lives in `src/lib/server/peaks-seed.ts` - edit it to
taste; new entries are inserted on the next start, and your climbed state is
kept.