Exempel-projekt nummer 2 med övningar till kursen Webbserverprogrammering 1 på NTI Gymnasiet Johanneberg. Efter genomgång görs övningar nedan i par.
- Ladda ner repositoriet till mappen Webbserverprogrammering på din dator. Antingen som ZIP (isåfall måste du packa upp ZIP-filen) eller så laddar du ner med:
git clone
- Installera:
bundle install
- Seeda databasen:
rake seed
- Köra:
rake dev
- Surfa till: http://localhost:9292
- Visa routes
GET /fruits
och/views/fruits/index.erb
- Visa
layout.erb
- Visa SQL:
- DB Browser for SQLite
- SQLBolt
db/seeder.rb
db/fruits.sqlite
app.rb/db-metoden
views/layout.erb
db.execute('SELECT * FROM fruits WHERE id=?',id).first
- Gör SQLBolt t.o.m. övning 2.
- Testa att sortera om frukterna på t.ex. ID. Du behöver uppdatera SQL-koden:
db.execute('SELECT * FROM fruits')
- Lägg till ca 5 nya frukter mha.
db/seeder.rb
. För att spara datan till databasen kör durake seed
- Öppna databasfilen i DBBrowser och dubbelkolla så du ser din data även där.
- Visa all info om en frukt på routen
'/fruits/:id'
- Lägg till mer data eller funktioner som t.ex.
- Visa stjärnor istället för ett nummer för fruktbetyg
- Lägg till fler kolumner i databasen som t.ex. vilket land en frukt kommer ifrån eller hur mycket den kostar / kg
- Lägg till testdatan mha. DB Browser
- Lägg till testdatan mha.
db/seeder.rb
. Vad hände med datan du la till i DB Browser?
- Hur hänger allt ihop?
db.execute('SELECT * FROM fruits WHERE id=?',id).first
(igen)- Ruby hashes
- SQL Injections
- Gör SQLBolt t.o.m. övning 10.
- Gör alla uppgifter på #1
- Lägg till funktioner du kan komma på till fruktshoppen
- Börja kämpa med nästa veckas uppgifter (uppgifter #3)
- Föreläsningen: 5 - Ta bort frukt + Spara ny frukt
- HTTP Requests & Response + GET & POST (till Routes for CRUD)
- Formulär
- SQL: Delete & Inserts
- Params
- Gör en knapp (& formulär) som tar bort en frukt.
Använd routen:post '/fruits/:id/delete'
- Rita ett sekvensdiagram för hur det ser ut när ni sparar en ny frukt. Bifoga det i din loggbok. Använd: https://www.websequencediagrams.com/app
- Lägg till ett formulär för att spara en ny frukt.
Använd routenGET '/fruits/new'
och filennew.erb
- Gör routen som sparar datan till databasen:
POST '/fruits/new'
. - Arbeta vidare med SQLBolt
- Utöka funktionerna.
- Utforska och lägg till de funktioner du tycker behövs
- Lägg till bilder (eller ikoner) till frukterna
- Börja kämpa med nästa veckas uppgifter (#4)
- Föreläsning: 6 - Uppdatera en frukt
- Uppdatera data
- C.R.U.D.
- RESTLful
- Betygskriterier
- Innan ni öppnar datorn gör ett sekvensdiagram för hur uppdateringen av en frukt går till. Lägg det i loggboken.
- Lägg till en ändra-knapp i
index.erb
- Lägg till ett ändra-formulär i
fruits/edit.erb
- Lägg till så att ändringarna för frukten uppdateras till DB
UPDATE fruits SET name =?...
- Läs igenom betygskriterierna (länk finns i loggboken)
- Jobba vidare med SQLBolt
- Lägg till andra funktioner på fruktsidan. T.ex. kategorier, varukorg (så jag kan köpa) eller andra funktioner du tycker saknas.
- Skriv i loggboken. Läs igenom och se om ert sekvensdiagram fortfarande stämmer.
- Todo
- Gör färdigt fruktsidan
- Jobba med SQLBolt
- Samanfatta i loggboken vad du lärt dig sedan du började Webbserverprogramering. Markera i betygsmatrisen (i loggboken) vad du tycker du kan och inte kan.