For at klientens utviklere vet hva slags teknologier de må ha på plass for å sette opp applikasjonen
For å sette opp applikasjonen trengs følgende teknologier:
Docker brukes for å bygge og sette opp applikasjonen.
MariaDB er en relasjonsdatabase og brukes for å lagre dataen.
Github brukes for å lagre applikasjonens kode og sørger for versjonskontroll.
.NET, applikasjonen er skrevet i .NET 7.0, er dermed mulig det kan oppstå problemer hvis man prøver å kjøre koden med .NET 8.0
En IDE som støtter .NET, vi har brukt Visual studio.
For at klientens utviklere får kjøre applikasjonen på en riktig måte
-
Installer Docker på systemet der applikasjonen skal kjøres.
-
Klon applikasjonens kode fra Github til systemet der den skal kjøres.
-
Finn hvor prosjekt mappen er plassert og kjør Startdb.cmd (startdb.sh for mac) fra prosjekt mappen.
-
Hvis startDb mislykkes, må en manuelt legge inn Startdb.sql og Dummydata.sql inn i mariadb containeren.
-
Bygg applikasjonen med Visual Studio.
-
Kjør applikasjonen fra Visual Studio med Docker.
-
Hvis en ikke får kobling til databasen, sjekk IP på mariadb container og oppdater appsetting til korrekt IP.
For at klientens utviklere vet om komponentene som applikasjonen er oppbygget av, hva det gjør og hvorfor de er bygget slik
Applikasjonen er bygget opp med følgende komponenter:
MVC er et rammeverk for programvareutvikling som skiller mellom data (model), logikk (controller) og visning (view).
Model: Representerer dataen i applikasjonen med klasser.
Controller: Behandler forespørsler fra brukere ved å kommunisere med model og view.
View: Presenterer dataen til brukerene.
Klassene ligger i mappen "Model".
Klassene representerer dataen i applikasjonen.
For eksempel har klassen " ArbDokViewModel " informasjon om et arbeidsdokument, som ArbDokID, NotatFraMekaniker og Status.
Entity framework er et rammeverk som gjør det enklere å bruke dataen fra databasen.
Mappen "DataAccess" inneholder kode som bruker Entity framework til å kommunisere med databasen.
Mappen "Entities" består av dataen fra databasen, men representert som objekter slik at det er mulig å enklere jobbe med dataen i koden
Repository er et mønster som brukes til å håndtere data fra databasen.
I applikasjonen brukes repository til å gjøre det enklere å hente, lagre og oppdatere data fra databasen.
Mappen "Repository" inneholder implementasjonen av repository-mønsteret.
Databasen ligger i mappen "Solution items".
Filen "CreateDb" inneholder oppsettet til databasen med alle tabellene
Filen "StartDb" sørger for at databasen blir opprettet i Docker og starter CreateDb filen som lager tabellene.
For at klientens utviklere vet hvilke krav spesifikasjoner ble utviklet som funksjonaliteter i applikasjonen, sånn at de vet hva bør utvikles videre
Applikasjonen har følgende funksjonaliteter:
Admin kan opprette, slette og endre rettigheter til brukere (avdelinger).
Brukere kan opprette, slette og redigere dokumenter.
Brukere kan søke i dokumentoversikten.
Brukere må logge inn for å få tilgang til applikasjonen.
Admin kan opprette nye brukere ved å fylle ut et skjema.
Admin kan slette brukere ved å velge brukeren og klikke på "Slett"-knappen.
Admin kan endre rettighetene til brukere ved å velge brukeren og klikke på "Gjør til administrator"-knappen.
Brukere kan opprette nye dokumenter ved å klikke på "Ny ordre"-knappen.
Brukere kan slette dokumenter ved å velge dokumentet og klikke på "Slett"-knappen.
Brukere kan redigere dokumenter ved å klikke på et eksisterende dokument.
Brukere kan søke i dokumentoversikten ved å skrive inn et søkeord i søkefeltet i dokumentoversikten.
Autentisering
Brukere kan logge inn ved å oppgi brukernavnet og passordet sitt.