Projekt Glosa

Ni har en uppgift och ni vet ju i stort hur mycket tid ni har på er. Er första uppgift blir att ni ska jobba fram en projektplan (projektupplägg). När den är klar ska ni redovisa denna.

Minimikrav för betyget E för projektet (Programmering 2 och Webbserverprogrammering 1)

  • Godkänd projektplan som ska innehålla design av databas, Java-appen och REST-API:et.
  • GUI och logik utvecklat i Java. Modell och grafiskt gränssnitt ska separeras enligt MVC.
  • Data sparas i MySQL.
  • REST-API gjort i PHP, REST-API:et har flera olika “endpoints” för att hämta och spara data.
  • Unika användare med inloggning och utloggning.
  • Kunna skapa nya glosor.
  • Kunna radera glosa.
  • Kunna hämta glosa.
  • Kunna “svara på” en glosa och få veta om det var rätt.


Några Javatips

För att skicka information till servern med POST använder vi den klass som hittas här (som ni också fått ut i exemplet).
För att tolka datan vi får från servern (Json) använder vi oss av Gson som kan laddas hem här.
För att få iordning klasser för tolkning av Gson kan detta vara till hjälp.

Fler krav för högre betyg

Man kan lägga till massa fler krav tex, kunna hantera flera språk, logik kring hur glosor plockas fram utifrån tidigare svar, göra läxförhör med X antal glosor och massa statistik på detta. Man skulle till och med kunna utmana andra användare i systemet i “gloskampen”.

  • Fler krav…
  • Ännu fler krav…

Upplägg av Projekt Glosa

Första målet (ev enda) ska inte vara en färdig produkt utan en MVP release, så i planen ska ni vara noga med att ringa in vad som är det minsta ni behöver när det gäller funktion för att få till en fungerande produkt enligt uppgiften.

  • Ni behöver en projektplan
  • Gör en förstudie (i detta projekt blir det en “brainstorming”).
  • Ha en Workshop med några av dina klasskamrater.
  • Lista alla use cases, lämpligt kan vara att dela upp på Java-delen och REST-API:et.
  • Gör en design av databas, REST-API:et och Java-appen.
  • Gör en tidsplan utifrån det ni gjort ovan. Kolla om det verkar rimligt, om inte så revidera det ovan.
  • Skriv klart projektplanen och se till att den blir godkänd.
  • Loopa
    • Koda, ni bör koda varje use-case för sig.
    • Testa.
  • Redovisa (Ni kommer att få redovisa inför klassen).

Ex på rubriker ni kan använda i er plan för projektet

Projektnamn

Bakgrund

Här beskriver du vad projektet handlar om och vad som ska byggas.

Om projektet

Här beskriver du omfattningen av projektet.

Projektupplägg

Här kommer det nog att bli flera underrubriker. Beskriv projektets upplägg, alltså vad som måste göras.
Tala om vilka verktyg som ska som ska användas.
Skriv ner hur projektet ska kommuniceras med “kunden”.
Kommunikation med handledaren samt kontinuerlig dokumentation av arbetets gång sker genom…

Teknisk specifikation

- Hur ska GUI se ut? Gör skisser över utseendet.
- Ska någon grafik användas och hur ska den i så fall tas fram?
- Databasdiagram med förklaringar.
- UML Klassdiagram för JAVA-programmet.
- Dokumentation av REST-API:et.
ex på dokumentation av en endpoint.

  • /get-token
    Skickar login och password för att få en token som kan användas för alla endpoints som kräver detta.
    • skickar:
      • login
      • password
    • svar:
      • status_code
      • auth_token
      • [status_message]

- Dataflöde och arkitekturdiagram.

Plan för genomförande med en tidplan

Gör en tidsplan utifrån use cases och annat som måste med i planen.
Tidsplanen skulle kunna göras i ett Gantt-schema eller liknade.