Skip to content

kristiania-pg6301-2022/PGR6301-Web-Api-Development-Exam-jessicafuung

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

46 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

PG6301 eksamen Fyrstikkposten

  • Heroku
  • GitHub repository
  • Ingen link til test rapport pga Github Actions gikk tom for minutter natten før innlevering.

Egenutfylling av funksjonelle krav

  • Anonyme brukere skal se nyhetsaker når de kommer til nettsiden. Legg inn noen nyhetssaker for å demonstrere
  • Brukere kan logge seg inn. Det anbefales at du implementerer at brukerne logger seg inn med Google, men andre mekanismer er også akseptabelt
  • En bruker som er logget inn kan se på sin profilside (userinfo fra Google)
  • Brukere skal forbli logget inn når de refresher websiden
  • En bruker som er logget inn kan klikke på en nyhetssak for å se detaljene om nyhetssaken. Detaljene skal inkludere en nyhetskategori, overskrift, tekst og navn på den som publiserte den
    • *Har utført en forenkling på dette punktet når brukeren er innlogget. Fikk dessverre litt lite tid til å flytte knappene (med titlene) til sidebaren etter innlogging. Det var tiltenkt at dersom brukeren ikke er innlogget, får de kun se nyhetstitlene, og etter innlogging vil sidebaren ha klikkbare titler. *
  • "Redaksjonelle brukere" kan logge seg inn med Active Directory. Det må fungere å logge seg inn med en Active Directory på skolens AD ( domain_hint=egms.no )
  • Redaksjonelle brukere kan publisere nye nyhetsartikler
  • Nyhetsartikkel skal inneholde en kategori valgt fra en nedtrekksliste "select", tittel "input" og tekst "textarea"
  • Dersom noen allerede har publisert en nyhetsartikkel med samme tittel skal serveren sende HTTP status kode 400 og en
  • En bruker som er logget inn kan klikke på en nyhetssak for å se detaljene om nyhetssaken. Detaljene skal inkludere en nyhetskategori, overskrift, tekst og navn på den som publiserte den
  • Brukeren skal forhindres fra å sende inn en nyhetsartikkel som mangler kategori, tittel eller tekst
  • En redaksjonell bruker skal kunne redigere en artikkel de selv har publisert
  • Når en ny sak publiseres, skal alle brukerne få se den nye saken umiddelbart. Bruk websockets for å sende oppdateringer

Egenutfylling av tekniske krav

  • Besvarelsen skal inneholde en README-fil med link til Heroku og test coverage
  • npm start skal starte server og klient. Concurrently og parcel anbefales
  • npm test skal kjøre tester. Testene skal ikke feile
  • Koden skal ha konsistent formattering. Prettier og Husky anbefales
  • Nettsidene skal ha god layout med CSS Grid (Holy Grail layout) og horisontal navigasjonsmeny. Brukeren må kunne navigere overalt uten å bruke "back" eller redigere URL
  • Serveren validerer at brukeren er logget inn
  • Innleveringen skal være i form av en ZIP-fil. Maks størrelse på fila er 1MB
  • Artikler skal lagres i MongoDB
  • Applikasjonen skal deployes til Heroku
  • Oppsett av package.json, parcel, express, prettier
  • React Router
  • Express app
  • Kommunikasjon mellom frontend (React) og backend (Express)
  • Deployment til Heroku
  • Bruk av MongoDB
  • OpenID Connect
  • Jest med dokumentert testdekning

Bør-krav

  • Brukeren ser kun menyvalg som de har tilgang til
  • Brukere som går til en side de ikke har tilgang til blir bedt om å logge inn
  • Brukere bør alltid se listen over artikler når de navigerer seg rundt på sidene

Bilder av test:coverage

Finner dem i images-mappen på root (PG6301-exam-folder/pg6301-exam/images).

Ekstra

Jeg har lagt inn lite easter egg hvis du klarer å finne :)

About

pgr6301-exam-jessicafuung created by GitHub Classroom

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published