Lumo er en Android-applikasjon som hjelper deg med å beregne strømproduksjon og årlige besparelser fra solcellepaneler på din eiendom. Appen lar deg registrere takflater med ulike vinkler og retninger, og gir deg detaljerte estimater basert på værmønstre og solinnstråling.
- Åpne terminalen og naviger til området du ønsker å laste ned prosjektet
- Kopier URL-en til prosjektet, ved å trykke på "code" knappen på github-siden til prosjektet og trykk på kopier-knappen
- Skriv kommandoen
git clone <URL>i terminalen og trykk enter - Trykk enter og vent til nedlastningen er fullført
- Åpne Android Studio og trykk på "open"
- Finn frem til der du lagra prosjektet og trykk på "open"
- Trykk på "run" knappen for å kjøre appen
- Internett (
INTERNET): For å hente data fra solcelleberegnings-APIer, værdata og strømpriser - Nettverkstilgang (
ACCESS_NETWORK_STATE): For å sjekke nettverksstatus - Lokasjon (
ACCESS_FINE_LOCATION,ACCESS_COARSE_LOCATION): For å finne brukeren sin posisjon - MapBox
HTTP-klient bibliotek for API-kall. Ktor brukes til å kommunisere med alle eksterne APIer som PVGIS, Frost, og strømpris-APIer. Biblioteket gir robust håndtering av HTTP-forespørsler og JSON-serialisering/deserialisering.
Moderne UI-rammeverk for Android. Brukes for hele brukergrensesnittet med deklarativ og reaktiv UI-programmering.
Dependency injection-rammeverk som forenkler og standardiserer dependency management. Spesielt nyttig for å injisere repositories og ViewModels på tvers av app-komponenter.
Lokalt databasesystem for å lagre brukerdata som favorittadresser, takflatedata og strømforbruk. Gir persistent lagring selv når appen er stengt.
Asynkron programmering som tillater ikke-blokkerende API-kall og database-operasjoner. Sikrer at UI forblir responsiv under datainnhenting.
Karttjeneste for geografisk visning og plassering av adresser. Brukes for for å håndtere kart, og visualisering av adresser.
Spesialbygd charting-bibliotek for Compose som brukes til å vise månedlige produksjons- og besparelsesgrafer.
Bildehåndtering og animasjonsbibliotek. Brukes for animerte splash-screen elementer og bildeoptimalisering.
Navigering mellom skjermer i Compose-miljøet med type-safe argumentpassing og backstack-håndtering.