Skip to content

gabrielrx31/StarWars

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

StarWars

Opgave 1: Refleksion:

· Hvilke mapper/pakker og filer vil I have? Vi vil have en src mappe som vil indholde vores hovedkode, opdelt i controllers, models, routes, middlewares og views. Derudover vil vi have en public til statiske filer til den license.txt fil. Vi vil have en server.js fil som entry point og en app.js til express. Vi følger MVC-mønsteret

· Hvordan sikrer I genbrug af kode? Vi sikrer genbrug af kode ved at opdele funktionaliteten i separate moduler som vi eksporterer og importerer hvor det er nødvendigt. Feks har vi vores character logik i characterModel.js, som bliver genbrugt i charcaterController.js. Vi bruger også middleware som loggingMiddleware, der køres på alle routes, så vi ikke skal skrive logging-logik flere steder. Vi kunne også have oprettet utility-funktioner til validering og error handling så vi ikke skulle gentage den samme kode i flere controllers, men der er kun en.

Til evaluering og feedback

  1. Har I selv struktureret jeres projektmappe? Ja, vi har selv struktureret projektmappen, Ved at følge MVC strukturen. Vi har opdelt projektet i logiske mapper som controllers, models, routes, middlewares og views i en src mappe. Derudover har jeg en public mappe til statiske filer.

  2. Har I valgt at bruge (eller fravælge) MVC – og hvorfor? Ja, vi har valgt at bruge MVC-mønsteret. Vi synes det giver god mening at adskille data-logikken (Model), forretningslogikken (Controller) og præsentationen (View). Det gør koden mere overskuelig, lettere at vedligeholde og letter at teste. Det er også nemmere at arbejde sammen i et team

  3. Er der datavalidering? Ja, der er datavalidering i characterController.js når man opretter en ny karakter. Vi validerer at både name og role er til stede, at navnet er mindst 2 tegn langt, og at rollen er en af de gyldige roller (Jedi, Sith, Rebel, Smuggler, Mandalorian). Hvis valideringen fejler, returneres en 400 status med en fejlbesked.

  4. Er der fejlhåndtering? Ja, der er fejlhåndtering flere steder. Vi har en 404-middleware i app.js som fanger requests til routes der ikke eksisterer. I controlleren håndterer vi også fejl som når en karakter ikke findes (404) eller når valideringen fejler (400). Ved file download i routes håndterer vi også fejl hvis filen ikke kan downloades.

  5. Er projektet testet med Postman? Ja, vi har testet projektet med Postman. Vi har testet GET /characters for at hente alle karakterer, GET /characters/:id for at hente en specifik karakter, POST /characters for at oprette en ny karakter med korrekte og forkerte data, samt GET /characters/download/license og GET /characters/go-to-luke for at teste de specielle endpoints. Vi har lavet en mappe med screenshots af de tests vi lavet undervejs.

  6. Virker jeres frontend ? Ja, frontend virker. Når man åbner index.html og trykker på "Get characters" knappen, hentes alle karakterer fra API'et via fetch og vises i en liste på siden.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors