Krav - aTrueYety/idatt2106-2025-09-backend GitHub Wiki

Ikke funksjonelle krav egenskaper og krav

  • Serversiden skal ha 50% dekningsgrad, men fordeling av hvilke typer tester er opp til teamet selv. Teamet skal derimot vise at de behersker diverse typer tester (enhet-, integrasjon, E2E).

  • Klienten krever 30% dekningsgrad, fortrinnsvis enhetstester.

  • Alle data som benyttes av applikasjonen skal lagres i skolens MySQLdatabase eller en i base som spinnes opp, initialiseres, og populeres med litt eksempeldata når en kjører applikasjonen. Databasefunksjonaliteten skal tilgjengeliggjøres for klienten via REST-tjenester.

  • En plattformuavhengig nettleser med støtte for en nyere HTML-standard må kunne brukes som klient mot applikasjonen. Minimumskrav er støtte for både Chromium (Chrome) og Firefox, så begge deler må sjekkes.

  • Løsningen skal være i samsvar med WCAG 2.1 prinsipp 1 (Begripelig) - og ha god brukskvalitet, den skal være tilpasset målgruppen, og lett og intuitiv å bruke. Dette skal dokumenteres.

  • Løsningen skal ha god sikkerhet. Minstekrav er implementering av autentisering og autorisering, samt at løsningen sjekkes opp mot OWASP (OWASP Top Ten Web Application Security Risks) A03:2021-Injection (merk at XSS også er en del av denne kategorien nå til dags).

  • All kode skal lagres på skolens Gitlab (https://gitlab.idi.ntnu.no/) – hvert scrum team oppretter et eget Gitlab-prosjekt på følgende format: idatt2106_2025_teamnr (små bokstaver, all tall mindre enn 10 skal 0- paddes, altså “06”, ikke “6”). Faglærer Surya Kathayat, Grethe Sandstrak og Muhammad Ali Norozi skal gis Reporter-tilgang til gitlab-prosjektet. Inkluder teamnr og fullt navn på alle teammedlemmer på WIKI-landingsside.

Siste krav ble fjernet grunnet problemer i Gitlab

Funksjonelle krav

  • Bruk av byggesystemer som kjører tester og gjør det enkelt å kjøre systemene.

  • Serversiden skal være et REST-snitt og bruk av Spring Boot er påkrevd.

  • Klienten skal være web-basert og en SPA (Single Page Application). Annet rammeverk enn Vue kan benyttes, så lenge alle i gruppa er enige om avgjørelsen.

  • Continious Integration(CI) med testrapporter i Gitlab. Continious Delivery – CD er frivillig.

  • Persistens i vanlig SQL-base. En kan velge å jobbe mot MySQL-base på NTNUs servere, eller ha base lokalt.