Denne side beskriver kort de systemer, løsningen består af. Den er skrevet til udviklere og andre tekniske læsere. Vil du se, hvordan systemerne hænger sammen, så læs Arkitekturoverblik. Der finder du også diagrammerne.
Siden nævner med vilje ikke servernavne, adresser, versioner eller andre interne detaljer. Det gør vi for at beskytte løsningen.
Systemer, som brugerne har på deres enhed
Webappen
Webappen kører i browseren på brugerens egen enhed. Medlemmer og administratorer bruger den. Browseren henter webappens filer fra webappens server. Webappen henter og gemmer alle data gennem API’et.
Mobilapps
Mobilapps findes til iOS og Android. Medlemmer, børn og unge og forældre bruger dem. Administratorer kan også oprette aktiviteter, skrive beskeder og redigere hjemmesiden i mobilappen. Alle apps bygger på samme kode. Alle foreninger i MinForening bruger den samme mobilapp, og hver forening har sit eget område i appen. MinOrganisation har sin egen app, som alle organisationer på MinOrganisation bruger. White label-kunder får deres egen app, deres eget API, deres egen database og deres egen server. Hent MinForening-appen i App Store eller Google Play. Hent MinOrganisation-appen i App Store eller Google Play.
Desktopappen
Desktopappen kører på Windows. Den giver administratorer en lokal kopi af de mapper fra foreningens filer, som de vælger. Ændringer i filerne bliver sendt tilbage til løsningen. Resten af desktopappen viser de samme sider som webappen.
Siderne følger med i installationen, så desktopappen ikke skal hente dem ved hver start. De lokale filer kan åbnes uden internet. Desktopappen kan vise beskeder i styresystemet. Hver organisation kan få sin egen udgave med eget navn og ikon.
Systemer, som vi driver
Beskyttelsesmur
Beskyttelsesmuren er vores egen løsning, som vi selv har udviklet. Den står foran webappen, API’et og kalenderen. Den stopper trafik, der ligner angreb, og sender resten videre. Læs mere i Arkitekturoverblik.
API med baggrundsjobs
API’et rummer forretningsreglerne. Alle apps kalder det. Ved hver forespørgsel kontrollerer API’et, at brugeren kun får de data, brugeren har ret til at se.
API’et udfører også planlagt arbejde i baggrunden. Det afslutter for eksempel et medlemskab, når datoen for en planlagt udmeldelse er nået. Det sletter også data, når de ikke længere skal gemmes.
Databaser
Hver kunde (tenant) har sin egen database. På MinForening deler foreningerne én database. Her holder løsningen hver forening adskilt inde i databasen.
AI-tjenesten
AI-tjenesten tager imod AI-forespørgsler fra API’et. Som standard bruger den Qwen-modeller, som vi selv hoster. Microsoft Azure OpenAI i en EU-region bruges til nogle funktioner og som reserve. Claude fra Anthropic bruger vores udviklere kun internt, blandt andet til fejlrapporter.
Kalender og CMS
Kalenderen og CMS viser foreningernes hjemmesider og kalender for offentlige besøgende. De henter foreningens sider og indhold fra API’et. De tjekker også administratorers rettigheder hos API’et. Hjemmesidernes indhold gemmes i løsningens databaser, ikke i kalenderen. API’et sender foreningens aktiviteter til kalenderen.
Mailserveren
E-mail fra løsningen sendes fra vores egen mailserver direkte til modtagernes mailservere. Vores medarbejdere bruger Microsoft 365 til deres e-mail, og e-mail, som brugere skriver til os, går gennem Microsoft 365.
Interne systemer
Kun vores medarbejdere bruger disse systemer.
Driftsplatformen
Driftsplatformen er en intern styringsplatform, som vores medarbejdere betjener. Den opretter og lukker kundeorganisationer og styrer deres abonnement og opsætning. Den hjælper os også med at overholde regler. Kunder logger aldrig ind på den.
Fordele:
- Data for hver kunde holdes adskilt.
- Kun vores medarbejdere har adgang.
- Det bliver registreret, når en medarbejder bruger sin adgang som administrator.
Logning
Logning er vores interne system til driftslogs. Det samler tekniske logs fra platformens tjenester, så vores medarbejdere kan opdage og løse problemer.
Fordele:
- Følsomme oplysninger fjernes fra logs.
- Logs fra forskellige kunder holdes adskilt.
- Medarbejdere får kun adgang efter deres rolle, og adgangen bliver registreret.
- Logs slettes efter en fast periode.