<style>
.reveal {
font-size: 28px;
}
li {
margin-top: 20px;
}
.reveal blockquote {
width: 100%;
}
</style>
# Hvad laver vi i Grønlandsprojekterne?
---
## Udover at være populære med pantsystemet

---
## Vi har en del meget tekniske infrastruktursystemer
* Datafordeleren
* eboks-proxy
* eboks-fritagne
* OS2mo (Skattestyrelsen i Grønland har betalt AD-integrationen)
* masseafsendelser (de sidste fire er alle relateret til post fra det offentlige)
* ... men<!-- .element: class="fragment" data-fragment-index="0" -->
---
## Det, der fylder, er administrative systemer
* KAS, ressourcerenter - opkrævning af skatter og afgifter
* Told:
* Indførselsangivelse (afgifter på alkohol, sukker, tobak, mv)
* Importtilladelse for private (dvs. af alkohol)
* Udførselsangivelse (på vej) <!-- .element: class="fragment" data-fragment-index="1" -->
* Krydstogts-afgifter (på vej) <!-- .element: class="fragment" data-fragment-index="2" -->
* Pantportal (ESANI - vores første "private" kunde) <!-- .element: class="fragment" data-fragment-index="3" -->
---
## Kendetegn ved administrative systemer (især Skattestyrelsen)
* Ikke bare teknik - vi er nødt til at indkode en stor viden om domænet (lovgivning, økonomisystemer, bogholderi, workflows)
* Vores brugere er ikke-tekniske og har ofte ikke dansk som første sprog
* Analyse går tit: Stan (projektleder/product manager/feet on the ground) → Carsten (arkitekt) → udviklere
* Stort fokus på anvendelighed - ikke fancy design, men interfaces der giver mening for brugerne
---
## Eksempel: Arkitektur for toldsystemet
* UI-delen er en Django-proces, der kun taler med databasen gennem en REST-proces
* Lavet i Bootstrap m. templates - _ikke_ en Single Page Application
* Så kan større importører nemlig indsende blanketter m. API
* Har snitflader til Prisme og MitID samt e-boks og Nets (betaling)
* Afløser gamle 100% papirbaserede arbejdsgange<!-- .element: class="fragment" data-fragment-index="1" -->
---
## Eksempel: Arkitektur for toldsystemet

---
## Eksempel: Brugerinterface for pantsystemet

---
## Teknisk arkitektur
* Django m. alm. HTML-frontend (templates)
* UI med Bootstrap og custom JavaScript
* PostgreSQL
* APIer med Django Ninja ("FastAPI for Django")
* Integrationer til 3. parts-systemer (økonomi, pantautomater)
---
## CI/CD og release management
* Semantisk versionering
* Release candidates oprettes med Conventional Commits og deployes automatisk til test ved fletning
* Releases laves og lægges i produktion efter test
* Release notes autogenereres og sendes til kunden (med forklaring)
* Deployment til produktion fra Gitlab-pipelines
* Alle systemer kører i Docker
---
## Mange tak for jeres tålmodighed

{"title":"Hvad laver vi i Grønlandsprojekterne?","description":"image","contributors":"[{\"id\":\"0e0c13a4-dd7c-44fa-986b-7a4affea3678\",\"add\":3889,\"del\":749}]"}