- Kotlin 55.8%
- TypeScript 36.7%
- CSS 4%
- Shell 2.2%
- HTML 1.3%
- Legg til contentDescription på tilfluktsrom-listeelement for TalkBack - Erstatt emoji-kompassåtvaring med tilgjengeleg tekstresurs - Vis «Ventar på GPS…» i staden for «—» ved ukjend avstand - Legg til content_desc_shelter_item og compass_accuracy_warning-strengar (en/nb/nn) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com> |
||
|---|---|---|
| app | ||
| gradle/wrapper | ||
| pwa | ||
| scripts | ||
| .gitignore | ||
| build.gradle.kts | ||
| CLAUDE.md | ||
| gradle.properties | ||
| gradlew | ||
| gradlew.bat | ||
| LICENSE | ||
| PRIVACY.md | ||
| README.md | ||
| settings.gradle.kts | ||
| SOURCES.md | ||
| version.properties | ||
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:
- Tilfluktsromdata lagres lokalt etter første nedlasting (Room / IndexedDB)
- Kartfliser caches automatisk for området rundt brukeren
- GPS og kompass fungerer uten internett
- 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
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.