Oppgaveliste-app

Introduksjon til prosjektet

I dette prosjektet skal dere jobbe i grupper med å lage en kravspesifikasjon og etter hvert utvikle en enkel nettside eller et lite program.

Dere har tre muligheter for å velge prosjekt:

  1. Eget prosjekt

    • Dere kan lage deres eget prosjekt basert på en idé dere har lyst til å prøve ut.
    • Dette kan være en nettside, et spill eller et lite system dere selv finner på.
  2. Prosjekt for en kunde

    • Dere kan velge å lage et prosjekt for en “kunde”.
    • Kunden kan for eksempel være en slektning, en venn eller en forening som har behov for en enkel nettside eller et lite program.
    • Husk at dette er et skoleprosjekt med begrensninger – det er ikke sikkert dere kan oppfylle alle ønskene kunden måtte ha.
  3. Eksempeloppgaver

    • Hvis dere ikke har en egen idé eller en kunde å lage noe for, kan dere velge en av eksempeloppgavene som følger med prosjektet.
    • Eksempeloppgavene gir dere et tydelig utgangspunkt å jobbe med, slik at dere kan fokusere på å trene på arbeidsprosessen.

Hva dere skal levere

1. Kravspesifikasjon

Dere skal levere en markdown-fil på Github som presenterer kravspesifikasjonen deres. Denne fila skal ligge i en mappe i prosjektet/repoen som heter docs, og fila skal hete kravspesifikasjon.md.

Dokumentet skal inneholde følgende punkter:

  1. Tittel, gruppemedlemmer og dato
  2. Kort beskrivelse av klienten/prosjektet
  3. Formål og mål – Hva skal nettsiden/programmet brukes til, og hva er målet med løsningen?
  4. Målgruppe – Hvem skal bruke løsningen? Hva er deres behov?
  5. Innhold og struktur – Hvilke deler/elementer skal nettsiden eller programmet ha?
  6. Krav
    • Minst 3 funksjonelle krav (hva løsningen skal kunne gjøre)
    • Minst 3 ikke-funksjonelle krav (hvordan løsningen skal være eller fungere)
  7. (Valgfritt): Forslag til mulige utvidelser

2. Designskisse

Dere skal lage en skisse eller wireframe av hvordan nettsiden skal se ut. Dette kan lages i Figma, Canva, eller tegnes i f.eks. Photoshop, Illustrator, Paint, eller på ark. Skissen skal lastes opp i prosjekt-repoet, i docs-mappa.

3. Nettside/applikasjon

Dere skal lage en dynamisk nettside som oppfyller kravene i kravspesifikasjonen (se eksempeloppgavene). Denne skal leveres i prosjekt-repoet.

Eksempeloppgave 1: Fin Sveis AS

Frisørsalongen Fin Sveis AS er en nyåpnet frisørsalong med slagordet En kjapp klipp til en fin pris.
De har et drop-in-system og ønsker en digital løsning for å holde oversikt over køen.

Funksjonelle krav (må)

  • Ansatte skal kunne legge inn nye kunder i listen (fornavn + tidspunkt).
  • Ansatte skal kunne markere kunder som ferdig klipt, og flytte dem til en Ferdig-liste.
  • Ansatte skal kunne slette kunder som forlater køen.

Funksjonelle krav (valgfrie)

  • Vise hvor mange kunder som står foran i køen.
  • Vise hvem som er neste kunde.
  • Vise estimert ventetid basert på snitt per kunde.

Ikke-funksjonelle krav

  • Nettsiden skal ha et minimalistisk design med fokus på ventelisten.
  • Løsningen skal være lett å lese på en infoskjerm i salongen.
  • Designet skal være responsivt slik at det også fungerer på nettbrett/mobil.

Eksempeloppgave 2: Handleliste-app

En familie ønsker en enkel digital handleliste de kan bruke sammen, i stedet for gule lapper på kjøleskapet.

Funksjonelle krav (må)

  • Brukere skal kunne legge til nye varer i handlelisten.
  • Brukere skal kunne markere varer som "kjøpt".
  • Brukere skal kunne slette varer fra listen.

Funksjonelle krav (valgfrie)

  • Lagre tidligere handlelister for gjenbruk.
  • Mulighet for å legge til antall (f.eks. "3 liter melk").
  • Sortere varer i kategorier (f.eks. frukt, meieri, kjøtt).

Ikke-funksjonelle krav

  • Nettsiden skal ha et minimalistisk design med fokus på handlelisten.
  • Designet skal være ryddig og oversiktlig.
  • Designet skal være responsivt slik at det også fungerer på nettbrett/mobil.

Eksempeloppgave 3: Sportsklubben Aktiv

Sportsklubben Aktiv ønsker en enkel nettside for å holde oversikt over treningene sine.

Funksjonelle krav (må)

  • Brukeren skal kunne legge inn treninger (dato, klokkeslett, sted).
  • Brukeren skal kunne slette treninger som ikke gjelder lenger.
  • Nettsiden skal vise en liste over kommende treninger.

Funksjonelle krav (valgfrie)

  • Mulighet for å redigere en trening (endre klokkeslett, sted, osv.).
  • Vise tidligere treninger.
  • Mulighet til å legge inn kamper (og filtrere på fremtidige kamper og treninger).

Ikke-funksjonelle krav

  • Nettsiden skal ha et minimalistisk design med fokus på treningene.
  • Designet skal være ryddig og oversiktlig.
  • Designet skal være responsivt slik at det også fungerer på nettbrett/mobil.