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.
Gemensamt
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 (även i “back-end”:et).
- Kunna skapa nya glosor.
- Kunna radera glosa.
- Kunna hämta glosa.
- Kunna “svara på” en glosa och få veta om det var rätt. Rättning ska ske via end-point.
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.
REST API
Ni kan hämta koden från genomgång via gitlab https://gitlab.com/jfoeduse/vt22
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 och Java-appen.
- Dokumentera hur REST-API:et fungerar.
- 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
Skicka projektplanen till jf@oedu.se, senast den 14/3 - 2021
Obs! Bara en fil av typen PDF.
Projektnamn
Bakgrund
Här beskriver du vad projektet handlar om och vad som ska byggas.
Hämta gärna lite inspiration från Kursplanen
ex.
Projekt Glosa är ett projekt som sträcker sig över två kurser, Programmering 2 och Webbserverprogrammering…
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
- Lista use cases
- Hur ska GUI se ut? Gör skisser över utseendet.
- Databasdiagram (ev behövs vissa förklaringar/förtydliganden).
- UML Klassdiagram för JAVA-programmet. (Lägger ni in i dokumentet i slutet av projektet)
- Dataflöde och arkitekturdiagram.
- 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
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 (tex i excel).
2022-05-31 Redovisning av projekt 12.10-15.30
- Ni ska enligt ett givet körschema visa vad ni har gjort (ni får 10 min på er). Ni har inte så mycket tid att redovisa på så se till att ni har kört igenom er redovisning flera gånger innan ni verkligen redovisar. Viktigt att ni gör det så ni är säkra på att ni hinner visa det ni vill visa på den tid ni har fått.
- Ni ska lämna in den slutgiltiga projektplanen som PDF (den som matchar det ni har gjort) via git till Joakim och via inlämning i vklass till Daniel senast den 1/6 kl 23.59.
- Ni ska lämna in koden till Daniel via inlämning i vklass. Gör en ZIP-fil av de filer som hör till projektet (.java-filer ur src-mappen och om ni använt andra resurser som t.ex. bilder).
- Ni ska ha “git commit && git push” koden till Gitlab när det gäller Joakim, detta ska ni göra kontinuerligt men senaste kl 15.30 31/5.