- Oppgaver for IT-utviklerfaget
- Vær og lokasjon
- Responsiv kalkulator
- Nyhetsbrev-abonnement
- To-Do Liste
- GPS-Sporing
Nyhetsbrev-abonnement

Utvikle en responsiv og universelt utformet GDPR-kompatibel app for et nyhetsbrev-abonnement og en egen funksjonalitet for å fjerne abonnement. Brukerdata skal valideres i frontend og backend, og lagres i en database.
Frontend
- Abonnementsskjema:
- Et HTML-skjema (
<form>
) med felter for navn (obligatorisk), e-post (obligatorisk, formatvalidert), en nedtrekksliste for nyhetsbrev (minst tre valg), og en obligatorisk samtykke-avkrysningsboks med GDPR-informasjon som inkluderer en tydelig lenke tilpersonvern.html
-siden. - Frontend-validering for alle obligatoriske felt og e-postformat.
- Innsending av data til en backend-URL.
- Vis tilbakemelding til brukeren ved suksess eller feil.
- Et HTML-skjema (
- Avmeldingsskjema:
- Et separat HTML-skjema (
<form>
) med et felt for e-post (obligatorisk, formatvalidert) for å fjerne abonnement. - Frontend-validering for e-postformat.
- Innsending av e-postadressen til en backend-URL.
- Vis tilbakemelding til brukeren ved suksess eller feil.
- Et separat HTML-skjema (
- Responsivt Design:
- Begge skjemaene skal være responsive og tilpasse seg ulike skjermstørrelser.
- Universell Utforming (UU):
- Bruk semantisk HTML, korrekte
<label>
-koblinger, tastaturnavigasjon, tydelig fokusindikator og tilstrekkelig fargekontrast.
- Bruk semantisk HTML, korrekte
- GDPR-Informasjon:
- Tydelig informasjon om databruk, lagring, rettigheter og kontaktinformasjon i nærheten av samtykke-avkrysningsboksen, med en tydelig lenke (
<a href="personvern.html" target="_blank">personvernerklæringen</a>
) tilpersonvern.html
-siden.
- Tydelig informasjon om databruk, lagring, rettigheter og kontaktinformasjon i nærheten av samtykke-avkrysningsboksen, med en tydelig lenke (
Backend
- Mottak av Data:
- Håndtere POST-forespørsler
- Backend Validering:
- Valider navn, nyhetsbrev, e-postformat og samtykke
- Abonnementshåndtering:
- Koble til en database.
- Opprett tabellen
abonnenter
hvis den ikke finnes (mednavn
,epost
(UNIQUE),nyhetsbrev
,samtykke_tidspunkt
). - Sjekk om e-postadressen allerede eksisterer i databasen.
- Hvis e-postadressen er ny, lagre dataene (inkludert tidspunkt for samtykke).
- Returner JSON-respons med suksessmelding eller feilmelding (inkludert indikasjon på eksisterende e-post med HTTP-statuskode 409).
- Fjerning av Abonnement:
- Koble til databasen.
- Slett raden fra
abonnenter
-tabellen som samsvarer med den innsendte e-postadressen. - Returner JSON-respons med suksessmelding (hvis abonnementet ble fjernet) eller feilmelding (hvis e-postadressen ikke ble funnet).
- GDPR-Kompatibel Lagring:
- Inkluder
samtykke_tidspunkt
ved påmelding. - Kommenter i koden hvordan rutiner for innsyn, retting og sletting kan implementeres.
- Kommenter viktigheten av begrenset lagringstid.
- Inkluder
Vurderingskriterier
- Implementering av både abonnements- og avmeldingsfunksjonalitet med lenke til
personvern.html
. - Korrekt frontend- og backend-validering.
- Bruk av database for lagring og håndtering av eksisterende e-postadresser.
- Responsivt design og universell utforming i frontend.
- Tydelig GDPR-informasjon med fungerende lenke til
personvern.html
. - Klar og velfungerende JSON-kommunikasjon mellom frontend og backend.
- Korrekt utformet Dockerfile for prosjektet.
- Innhold og struktur i
personvern.html
er relevant og informativ.
Forslag til løsning
- Oppgaver for IT-utviklerfaget
- Vær og lokasjon
- Responsiv kalkulator
- Nyhetsbrev-abonnement
- To-Do Liste
- GPS-Sporing
Relaterte kompetansemål
- planlegge, utvikle og dokumentere løsninger med innebygd personvern og sikkerhet
- planlegge, utvikle og dokumentere løsninger som er energieffektive og bærekraftige
- planlegge, utvikle, sette opp og dokumentere systemer for datainnsamling, analyse og visualisering
- planlegge, utvikle, sette opp og dokumentere integrasjoner mellom ulike systemer og databaser
- utvikle og tilpasse brukergrensesnitt som ivaretar krav til universell utforming
- velge og bruke relevante rammeverk og moduler til utvikling
- beskrive hvilke krav som ulike løsninger stiller til infrastruktur, og hvilke muligheter og begrensninger som følger av infrastrukturen
- utforske og vurdere eksisterende og nye teknologier og bransjerelevante kodespråk