Arkitektur - sofia-mnord/mediotech GitHub Wiki

Applikationen är uppbyggd enligt en lagerarkitektur (Layered Architecture), vilket innebär att systemet är indelat i separata lager med tydligt definierade ansvarsområden. Denna struktur gör applikationen lättare att underhålla, vidareutveckla och testa.

Lager i applikationen:

1. Presentationslager (UI): Består av HTML, CSS och JavaScript och ansvarar för det användaren ser och interagerar med, såsom formulär och knappar.

2. Applikationslogik: JavaScript-komponenter hanterar händelser, validerar formulärdata och styr navigering samt samverkan mellan olika delar av systemet.

3. Data Access-lager: Kod som kommunicerar med Firebase – exempelvis för att skapa, läsa eller uppdatera poster i databasen.

4. Backend (tjänstelager): Firebase används som backend och erbjuder autentisering, datalagring (Firestore), och statisk hosting.

Lagerarkitektur skapar en tydlig separation mellan gränssnitt, logik och datalagring och underlättar framtida förändringar, exempelvis byte av backend eller utbyggnad med fler funktioner. Det gör det enklare att felsöka och testa enskilda delar och stödjer återanvändning av logik, t.ex. samma datatjänst kan användas på flera sidor.

Skiss

arkitektur-mediotech