Finn nærmeste offentlige tilfluktsrom i Norge — Android-app + PWA
  • Kotlin 55.8%
  • TypeScript 36.7%
  • CSS 4%
  • Shell 2.2%
  • HTML 1.3%
Find a file
Ole-Morten Duesund 093de8487b Legg til F-Droid-skjermbilete og Maestro-automatisering
Automatiserte skjermbilete for alle tre språk (en-US, nb-NO, nn-NO)
med Maestro-flyt. Fire bilete per språk: kartvisning, valt tilfluktsrom,
kompassvisning og sivilforsvarsinfo. GPS-posisjon er sett til Bergen
sentrum (Torgallmenningen).

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-10 19:17:16 +01:00
.maestro Legg til F-Droid-skjermbilete og Maestro-automatisering 2026-03-10 19:17:16 +01:00
app Vis ventestatus i botnark når GPS ikkje er tilgjengeleg 2026-03-10 19:17:07 +01:00
fastlane/metadata/android Legg til F-Droid-skjermbilete og Maestro-automatisering 2026-03-10 19:17:16 +01:00
gradle/wrapper Initial commit: Norwegian emergency shelter finder app 2026-03-08 16:14:19 +01:00
pwa Legg til haptisk tilbakemelding på knappetrykk og listeval (#11) 2026-03-09 10:01:58 +01:00
scripts Bundle shelter data in APK and add shared versioning 2026-03-08 18:33:38 +01:00
.gitignore Initial commit: Norwegian emergency shelter finder app 2026-03-08 16:14:19 +01:00
build.gradle.kts Initial commit: Norwegian emergency shelter finder app 2026-03-08 16:14:19 +01:00
CLAUDE.md Legg til automatisk widgetoppdatering og de-Google-retningslinjer (v1.3.1) 2026-03-08 22:34:33 +01:00
F-DROID.md Førebu F-Droid-metadata med fastlane-struktur (#8) 2026-03-09 10:07:01 +01:00
gradle.properties Initial commit: Norwegian emergency shelter finder app 2026-03-08 16:14:19 +01:00
gradlew Initial commit: Norwegian emergency shelter finder app 2026-03-08 16:14:19 +01:00
gradlew.bat Initial commit: Norwegian emergency shelter finder app 2026-03-08 16:14:19 +01:00
LICENSE Legg til MPL-2.0-lisens 2026-03-08 18:38:22 +01:00
PRIVACY.md Legg til hybrid lokasjon, dataferskheit, widget og personvern (v1.2.0) 2026-03-08 19:10:57 +01:00
README.md Legg til opphavsrettsmelding 2026-03-09 09:54:06 +01:00
settings.gradle.kts Initial commit: Norwegian emergency shelter finder app 2026-03-08 16:14:19 +01:00
SOURCES.md Legg til sentralisert datakildeoversikt (SOURCES.md) 2026-03-09 09:41:48 +01:00
version.properties Bump versjon til v1.4.1 (versionCode 7) 2026-03-09 10:21:22 +01:00

Tilfluktsrom

Finn nærmeste offentlige tilfluktsrom i Norge. Appen er bygd for nødsituasjoner og fungerer uten internett etter første gangs bruk.

Funksjoner

  • Finn nærmeste tilfluktsrom — viser de tre nærmeste tilfluktsrommene med avstand og kapasitet
  • Kompassnavigasjon — retningspil som peker mot valgt tilfluktsrom
  • Frakoblet kart — kartfliser lagres automatisk for bruk uten nett
  • Velg fritt — trykk på en hvilken som helst markør i kartet for å navigere dit
  • Flerspråklig — engelsk, bokmål og nynorsk

Plattformer

Android-app (app/)

Native Kotlin-app med OSMDroid-kart og Room-database.

  • Minstekrav: Android 8.0 (API 26)
  • Bygg: ./gradlew assembleDebug
  • Installer: adb install app/build/outputs/apk/debug/app-debug.apk

Nettapp / PWA (pwa/) — ikke testet

OBS: PWA-versjonen er under utvikling og er foreløpig ikke manuelt testet i nettleser. Koden kompilerer og enhetstester passerer, men den er ikke verifisert i praksis.

Progressiv nettapp med Vite, TypeScript og Leaflet. Kan installeres på alle enheter via nettleseren.

  • Avhengigheter: bun install
  • Hent tilfluktsromdata: bun run fetch-shelters
  • Utviklingsserver: bun run dev
  • Bygg for produksjon: bun run build
  • Kjør tester: bun test

Datakilde

Tilfluktsromdata lastes ned fra Geonorge som GeoJSON i UTM33N-projeksjon (EPSG:25833). Koordinatene konverteres til WGS84 (bredde-/lengdegrad) for visning i kartet.

Datasettet inneholder ca. 556 offentlige tilfluktsrom med adresse, romnummer og kapasitet (antall plasser).

Arkitektur

tilfluktsrom/
├── app/                    # Android-app (Kotlin)
│   └── src/main/
│       ├── java/.../
│       │   ├── data/       # Room-database, nedlasting, GeoJSON-parser
│       │   ├── location/   # GPS, nærmeste tilfluktsrom
│       │   ├── ui/         # Retningspil, liste-adapter
│       │   └── util/       # UTM→WGS84-konvertering, avstandsberegning
│       └── res/            # Layout, strenger (en/nb/nn), ikoner
├── pwa/                    # Nettapp (TypeScript)
│   ├── src/
│   │   ├── data/           # IndexedDB-cache
│   │   ├── location/       # GPS, kompass
│   │   ├── ui/             # Kart, kompass, liste
│   │   ├── cache/          # Kartfliser for frakoblet bruk
│   │   └── i18n/           # Oversettelser
│   └── scripts/            # Bygg-tidsskript for datakonvertering
└── CLAUDE.md               # Prosjektdokumentasjon for AI-assistert utvikling

Frakoblet bruk

Appen er designet etter «offline-first»-prinsippet:

  1. Tilfluktsromdata lagres lokalt etter første nedlasting (Room / IndexedDB)
  2. Kartfliser caches automatisk for området rundt brukeren
  3. GPS og kompass fungerer uten internett
  4. Data oppdateres automatisk i bakgrunnen når det er eldre enn 7 dager

Sikkerhet

  • All nettverkstrafikk går over HTTPS
  • Tilfluktsromdata valideres ved parsing (koordinater innenfor Norge, gyldige felt)
  • Databaseoppdateringer er atomiske (transaksjon) for å unngå datatap
  • Ingen persondata lagres — kun tilfluktsromdata og kartfliser

Opphavsrett

Copyright (c) Ole-Morten Duesund olemd@glemt.net

Lisens

Kildekoden er lisensiert under Mozilla Public License 2.0.

Appen bruker åpne data og tjenester fra flere kilder. Se SOURCES.md for en fullstendig oversikt over datakilder, URL-er og lisenser.