Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
glosa_projekt [2019-02-27 12:39]
Daniel Viström
glosa_projekt [2022-07-18 13:20] (current)
Line 1: Line 1:
 ====== Projekt Glosa ====== ====== 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. 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 ==
 +  * "Brainstom" - https://docs.google.com/document/d/17SKZhPdtvxH0Z3RcccZw_6NlKlg5GdzdFEl-Matc_7I/edit?usp=sharing
 +  * "use cases" - https://docs.google.com/spreadsheets/d/1TQsZ5TIBOZ8ZQgAXYlP26oJUgjtWRfGgTel-wElPDrI/edit?usp=sharing
 +
 +<php>
 +/*
 +
 +== Gemensamt ==
 +  * "Brainstom" - https://docs.google.com/document/d/13HXpt-oirGamGFiW0ZnLKfSRbiiJWB3ZK0Tnxmkf6dM/edit?usp=sharing
 +  * "use cases" - https://docs.google.com/spreadsheets/d/1pKgbl-zS1zLEfD4jeht7BjH3O-ssbBJVnwTNQ8-RS8I/edit?usp=sharing
 +
 +==Grupp 1==
 +  * "Brainstom" - https://docs.google.com/document/d/15I17VXADNi38pWyFqrmDuwafhACDrVISh6R05Gjb7SY/edit?usp=sharing
 +  * "use cases" - https://docs.google.com/spreadsheets/d/1A5tUkrTWaffRLw9cgidL7aGtkHW3WxTWqDh6R1nanFQ/edit?usp=sharing
 +
 +==Grupp 2==
 +  * "Brainstom" - https://docs.google.com/document/d/1UyPyqLmgSdQ6-v-hKleXiA56PTVinYQbS2D3hQzt_k8/edit?usp=sharing
 +  * "use cases" - https://docs.google.com/spreadsheets/d/1vs3bkP48QKRJQSFKM8gJvlV4ZUG-SdhTbiQlKppM2c4/edit?usp=sharing
 +*/
 +</php>
  
 ====Minimikrav för betyget E för projektet (Programmering 2 och Webbserverprogrammering 1) ==== ====Minimikrav för betyget E för projektet (Programmering 2 och Webbserverprogrammering 1) ====
Line 7: Line 29:
   * Data sparas i MySQL.    * Data sparas i MySQL. 
   * REST-API gjort i PHP, REST-API:et har flera olika "**endpoints**" för att hämta och spara data.   * 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.+  * Unika användare med inloggning och utloggning (även i "back-end":et).
   * Kunna skapa nya glosor.   * Kunna skapa nya glosor.
   * Kunna radera glosa.   * Kunna radera glosa.
   * Kunna hämta glosa.   * Kunna hämta glosa.
-  * Kunna "svara på" en glosa och få veta om det var rätt.+  * Kunna "svara på" en glosa och få veta om det var rätt. Rättning ska ske via end-point.
  
 \\ \\
Line 18: Line 40:
 För att tolka datan vi får från servern (Json) använder vi oss av Gson som kan laddas hem [[http://www.java2s.com/Code/Jar/g/Downloadgson224jar.htm|här]]. \\ För att tolka datan vi får från servern (Json) använder vi oss av Gson som kan laddas hem [[http://www.java2s.com/Code/Jar/g/Downloadgson224jar.htm|här]]. \\
 För att få iordning klasser för tolkning av Gson kan [[http://www.jsonschema2pojo.org|detta]] vara till hjälp. För att få iordning klasser för tolkning av Gson kan [[http://www.jsonschema2pojo.org|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 ==== ==== 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". 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".
Line 27: Line 53:
 Första målet (ev enda) ska inte vara en färdig produkt utan en [[https://en.wikipedia.org/wiki/Minimum_viable_product|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.\\ Första målet (ev enda) ska inte vara en färdig produkt utan en [[https://en.wikipedia.org/wiki/Minimum_viable_product|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.\\
  
-  Jobba fram en projektplan.+ 
 +  Ni behöver en projektplan
   * Gör en förstudie (i detta projekt blir det en "brainstorming").   * Gör en förstudie (i detta projekt blir det en "brainstorming").
   * Ha en Workshop med några av dina klasskamrater.   * 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.   * Lista alla use cases, lämpligt kan vara att dela upp på Java-delen och REST-API:et.
-  * Gör en design av databasREST-API:et och Java-appen.+  * 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.   * 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.   * Skriv klart projektplanen och se till att den blir godkänd.
Line 40: Line 68:
  
 ====== Ex på rubriker ni kan använda i er plan för projektet ====== ====== 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 ==== ==== Projektnamn ====
  
  
 ==== Bakgrund ==== ==== Bakgrund ====
-Här beskriver du vad projektet handlar om och vad som ska byggas. +Här beskriver du vad projektet handlar om och vad som ska byggas.\\ 
- +Hämta gärna lite inspiration från [[https://www.skolverket.se/undervisning/gymnasieskolan/laroplan-program-och-amnen-i-gymnasieskolan/gymnasieprogrammen/amne?url=1530314731%2Fsyllabuscw%2Fjsp%2Fsubject.htm%3FsubjectCode%3DWES%26tos%3Dgy&sv.url=12.5dfee44715d35a5cdfa92a3 | Kursplanen]]\\ 
-==== Om projektet ==== +ex.\\ 
-Här beskriver du omfattningen av projektet.+Projekt Glosa är ett projekt som sträcker sig över två kurser, Programmering 2 och Webbserverprogrammering...
  
 ==== Projektupplägg ==== ==== Projektupplägg ====
Line 57: Line 87:
  
 ==== Teknisk specifikation ==== ==== Teknisk specifikation ====
 +- Lista use cases\\
 - Hur ska GUI se ut? Gör skisser över utseendet.\\ - 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 (ev behövs vissa förklaringar/förtydliganden).\\ 
-- Databasdiagram med förklaringar.\\ +- UML Klassdiagram för JAVA-programmet. (Lägger ni in i dokumentet i slutet av projektet)\\ 
-- UML Klassdiagram för JAVA-programmet.\\+- Dataflöde och arkitekturdiagram.\\
 - Dokumentation av REST-API:et.\\ - Dokumentation av REST-API:et.\\
 ex på dokumentation av en endpoint. ex på dokumentation av en endpoint.
Line 70: Line 101:
       * status_code       * status_code
       * auth_token       * auth_token
-      * [status_message+      * status_message
- +
- +
-- Dataflöde och arkitekturdiagram.+
  
  
 ==== Plan för genomförande med en tidplan ==== ==== Plan för genomförande med en tidplan ====
 Gör en tidsplan utifrån use cases och annat som måste med i planen.\\ 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.+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.