tehtävät
tehtävät
Kaikkien osien deadline on 15.12.2018 klo 23:59
Suositeltavat ja vapaaehtoiset tehtävät, tehtävien vaikuttaminen arvosteluun
Osa tehtävistä on seuraavaan osaan etenemisen kannalta suositeltavia ja osa vapaaehtoisia. Vapaaehtoiset on merkattu tähdellä.
Voit toki jättää tähdellä merkkaamattomiakin tehtäviä tekemättä, mutta niiden tekemättä jättäminen saattaa aiheuttaa haasteita seuraaviin osiin. Huomaa myös, että kaikkien osien 0-3 tähdellä merkkaamattomien tehtävien tekeminen on edellytyksenä 3 opintopisteen laajuiseen suoritukseen.
Arvosana ja opintopistemäärä lasketaan kaikkien tehtävien summan perusteella. Katso tarkemmin osan 0 luvut suoritustapa ja arvosteluperusteet.
Palauttaminen
Olethan lukenut huolellisesti kurssimateriaalin osan 0 luvun Suoritustapa?
Tehtävät palautetaan GitHubin kautta ja merkitsemällä tehdyt tehtävät palautussovellukseen.
Jos palautat eri osien tehtäviä samaan repositorioon, käytä järkevää hakemistojen nimentää.
Tehtävät palautetaan yksi osa kerrallaan. Kun olet palauttanut osan tehtävät, et voi enää palauttaa saman osan tekemättä jättämiäsi tehtäviä.
GitHubiin palautettuja tehtäviä tarkastetaan MOSS-plagiaattitunnistusjärjestelmän avulla. Jos GitHubista löytyy kurssin mallivastausten koodia tai useammalta opiskelijalta löytyy samaa koodia, käsitellään tilanne yliopiston vilppikäytäntöjen mukaan.
Suurin osa tehtävistä on moniosaisia, samaa ohjelmaa pala palalta rakentavia kokonaisuuksia. Tälläisissä tehtäväsarjoissa ohjelman lopullisen version palauttaminen riittää, voit toki halutessasi tehdä commitin jokaisen tehtävän jälkeisestä tilanteesta, mutta se ei ole välttämätöntä.
Osa 0
Deadline 15.12.2018 klo 23:59
Osassa on 6 tehtävää, jotka kaikki ovat osaan 1 etenemisen kannalta suositeltavia tehdä.
web-sovellusten perusteet
0.1 HTML ja CSS
Kertaa HTML:n ja CSS:n perusteet lukemalla Mozillan tutoriaalit HTML:stä ja CSS:stä.
0.2 HTML:n lomakkeet
Tutustu HTML:n lomakkeiden perusteisiin lukemalla Mozillan tutoriaali Your first form.
0.3 muistiinpanojen sivu
Kun käyttäjä menee selaimella osoitteeseen https://fullstack-exampleapp.herokuapp.com/ voidaan sen seurauksena olevaa tapahtumaketjua kuvata sekvenssikaaviona esim. seuraavasti:
Kaavio on luotu websequencediagrams-palvelussa, seuraavasti:
kayttaja->selain: note left of selain kayttaja kirjottaa osoiteriville fullstack-exampleapp.herokuapp.com end note selain->palvelin: GET fullstack-exampleapp.herokuapp.com note left of palvelin muodostetaan HTML missä olemassaolevien muistiinpanojen lukumäärä päivitettynä end note palvelin->selain: status 200, sivun HTML-koodi selain->palvelin: GET fullstack-exampleapp.herokuapp.com/kuva.png palvelin->selain: status 200, kuva note left of selain selain näyttää palvelimen palauttaman HTML:n johon on upotettu palvelimelta haettu kuva end note
Tee vastaavanlainen kaavio, joka kuvaa mitä tapahtuu kun käyttäjä navigoi muistiinpanojen sivulle eli urliin https://fullstack-exampleapp.herokuapp.com/notes
Kaavion ei ole pakko olla sekvenssikaavio. Mikä tahansa järkevä kuvaustapa käy.
Kaikki oleellinen tämän ja seuraavien kolmen tehtävän tekemiseen liittyvä informaatio on selitettynä osan 0 tekstissä. Näiden tehtävien ideana on, että luet tekstin vielä kerran ja mietit tarkkaan mitä missäkin tapahtuu. Ohjelman koodin lukemista ei näissä tehtävissä edellytetä, vaikka sekin on toki mahdollista.
0.4 Uusi muistiinpano
Tee kaavio tilanteesta, missä käyttäjä luo uuden muistiinpanon ollessaan sivulla https://fullstack-exampleapp.herokuapp.com/notes, eli kirjoittaa tekstikenttään jotain ja painaa nappia Talleta.
Kirjoita tarvittaessa palvelimella tai selaimessa tapahtuvat operaatiot sopivina kommentteina kaavion sekaan.
0.5 Single page app
Tee kaavio tilanteesta, missä käyttäjä menee selaimella osoitteeseen https://fullstack-exampleapp.herokuapp.com/spa eli muistiinpanojen single page app -versioon.
0.6 Uusi muistiinpano SPA:ssa
Tee kaavio tilanteesta, missä käyttäjä luo uuden muistiinpanon single page -versiossa.
Tehtävien palautus
Palauta tehtävät palautussovellukseen.