ØSIL Trim
Trimpost-app for et lokalt idrettslag. Katalog, kart, offline-PWA og turlogg, laget etter ønske fra laget og i bruk av medlemmene.
→ 30 registrerte medlemmer, 164 loggede besøk første sesong (mai–okt 2026).
Øvre Surnadal Idrettslag (ØSIL) har en trim: faste turmål i skog og fjell rundt Øvre Surnadal, hver med en trimkasse der du markerer at du har vært der. Det folk trengte å vite om postene lå spredt i trimgruppas Facebook-innlegg, og turene ble talt på tradisjonelt vis, med penn og papir.
Laget ba om en app. ØSIL Trim er det de fikk: laget på deres forespørsel som frivillig arbeid, i drift på osiltrim.solheimsolutions.no, og brukt av medlemmene ute i terrenget.
Hva den gjør
- Katalog og kart. Hver post har bilder, beskrivelse, høydemeter, distanse, sesong og notat om parkering og startpunkt. Søk og filtrer på vanskelighet og sesong, eller se postene på Kartverkets topografiske kart. Ett trykk åpner posten i Google Maps eller telefonens egen kart-app.
- Turlogg. Medlemmene registrerer seg med navn og passord og markerer en tur med dato. Det er tillitsbasert, som den gamle trimboka. «Jeg er her nå» er en valgfri GPS-innsjekk som godtar turen innenfor 300 meter fra posten.
- Min samling. Turene dine, progresjonen og nærmeste post du ikke har besøkt ennå. Navnet ditt vises bare på fellestavla hvis du velger det; privat er standard.
- Trekning. Laget trekker premier blant alle som har registrert turer. En admin-side viser hvem som er med; selve trekningen gjøres manuelt.
- Redigering i felt. Lagets redaktører legger inn og oppdaterer poster fra mobilen, med GPS-posisjon og bilder tatt ved selve posten.
Laget for dårlig dekning
Mobildekningen i fjellet på Nordmøre er dårlig, og det bestemte arkitekturen. ØSIL Trim er en progressiv webapp som kan installeres på hjemskjermen. Service workeren mellomlagrer kartfliser og postene du har åpnet, og et nedlastingsvalg henter resten før du drar. En tur registrert uten dekning ligger i kø på telefonen og sendes når nettet er tilbake.
Første versjon brukte nettleserens Background Sync-API til køen. Det ga doble turer og finnes ikke på iOS, så en enkel lokal kø tok over.
┌─[ 00 PÅ TUR ]────────────────────────────────────────┐ │ > «Jeg har vært her» ingen dekning │ └─────────────────────────┬────────────────────────────┘ ▼ ┌─[ 01 TELEFONEN ]─────────────────────────────────────┐ │ │ │ lagre tur ──> lokal kø ──> vent │ │ │ └─────────────────────────┬────────────────────────────┘ ▼ ┌─[ 02 TILBAKE I DEKNING ]─────────────────────────────┐ │ │ │ kø ──> API ──> samling · tavle · trekning │ │ │ └──────────────────────────────────────────────────────┘
Bevisst lite
Backenden er én liten Flask-app som lagrer data som JSON-filer på disk, skrevet atomisk under en lås. Det finnes ingen databaseserver. Spesifikasjonen sier når det skal endres: når brukertallet vokser godt forbi de hundre eller så som JSON-filer takler greit. Til da betyr én bevegelig del mindre én ting mindre som kan gå i stykker for et lag drevet av frivillige.
Frontenden er React med Vite, Leaflet til kartet og Workbox til service workeren. Den kjører på Solheim Solutions’ egen Linux-server, og en push til repoet deployer den.
I drift samme dag, formet av bruk siden
Første commit kom før lunsj. Utpå ettermiddagen var React-appen i drift med kart og innlogging for redaktører, og om kvelden var en første turteller på plass. Det meste av arbeidet siden har kommet fra ekte bruk. De første rettelsene kom etter fire dager, da redaktørene hadde brukt redigeringsflyten på ekte poster.
I september 2026 ba styret i laget om at barna skulle kunne være med i trekningen, i tilfelle trimbøkene fases ut. «Min familie» lar nå et medlem registrere turer for barn eller partner som ikke har egen bruker. Familiemedlemmer vises aldri på fellestavla; bare medlemmet selv og lagets administratorer ser dem.
Stack
- React 18 og Vite, Leaflet med Kartverkets topografiske kartfliser
- PWA med Workbox: kartfliser og poster offline, lokal turkø
- Flask og gunicorn, bcrypt-hashede passord, JSON-filer i stedet for database
- Selvhostet på Linux bak nginx, med deploy ved push
Status: i drift siden april 2026. 9. oktober 2026 inneholdt turloggen 30 registrerte medlemmer (lagets admin-kontoer ikke medregnet) og 164 loggede besøk siden 1. mai, fordelt på alle 12 postene. En tillitsbasert logg, så dette er besøk folk selv valgte å logge, ikke en telling av alle på stien.