45 lines
1.2 KiB
Markdown
45 lines
1.2 KiB
Markdown
# 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.
|