Indholdsfortegnelse
Indledning
Se GM Arkitektur og design for en overordnet arkitekturbeskrivelse.
Formål
Formålet med dette dokument er at beskrive design og arkitektur af app'en
Android app arkitektur
Android app'en er lavet ud fra Google Jetpack Architecture Components guidelines, som er deres anbefalede måde at lave en app på.
Strukturen kan ses herunder:
Diagrammet nedenfor viser hvilke moduler der har adgang til hvilket data og sammenhængen imellem dem.
Shared, ui-compose og model har ingen interne afhængigheder.
app: Indeholder aktiviteter, fragmenter, views og screens, samt view models til håndtering af den generelle logik
api: Står for håndtering af data hentet fra CMS-apiet
database: Holder en lokal version af alle artikler, for at kunne håndtere de store mængder tekst fra CMSet
datastore: Holder på brugerens præferencer og brugerens graviditet (terminsdato, fødselsdato)
repo: Samler alt data fra database, datastore og API, således at denne logik abstraheres væk fra app-modulet.
shared: Indeholder klasser som skal bruges på tværs af flere moduler. F.eks. Result og ResultWrapper.
ui-compose: Indeholder Min Graviditets compose tema og specifikke typer af compose komponenter, som er stylet til projektet.
model: Indeholder data klasser.
Hjælper moduler:
TestAssertions: Har logik til at hjælpe med at teste mere effektivt - Dette modul bliver automatisk inkluderet når et modul bruger jacoco-pluginet
build-logic: Indeholder gradle plugins som hjælper med at holde koden strømlinet og ensartet. Når et modul bruger en eller flere plugins herfra vil flavors, kotlin og alt muligt andet være sat ens op.
