web2py ja Google App Engine - viikkotehtävä 6
Tehdään pienelle elokuvavuokraustietokannalle käyttöliittymä (vrt. vt4).
Tämän tehtävän toteuttaminen edellyttää vähintään seuraavien materiaalien ja tehtävien läpikäyntiä:
- Web2py ja Google App Engine
- Web2py Overview
- Web2py ja Google App Engine ohjaustehtävä
- Web2py request
- Web2py response
- Web2py session
Oleellisimmat osat seuraavista on myös syytä lukea:
Yhteiset vaatimukset:
- Tietojen tallentamiseen on käytettävä Google App Enginen tarjoamaa Google NoSQL-tietokantaa (datastore).
- Sovelluksen on toimittava ja oltava testattavissa Googlen App Engine -pilvipalvelussa. Pelkästään omalla koneella olevalla Google App Engine Launcherilla toimiva työ ei kelpaa. Palautettavan työn osoite ei siis saa alkaa http://localhost tai http://127.0.0.1
- Sovellus on toteutettava web2py-frameworkilla
Taso 1
Toteuta videovuokraussovellus, joka osaa seuraavat asiat:
- Sovellukseeen tarvitsee kirjautua google-tunnuksella. Sovelluksen sivuilla ei saa näyttää kirjautumattomille käyttäjille mitään tietoja
- Vuokraukselle pitää syöttää seuraavat tiedot:
- Elokuvan nimi, pakollinen kenttä. Ei saa jättää tyhjäksi!
- Vuokraaja, joka on valittava alasvetovalikosta ja tarjolla on oltava samat henkilöt kuin viikkotehtävä 4:n tietokannassa, pakollinen kenttä
- Vuokrauspäivämäärä, pakollinen kenttä
- Mahdollinen palautuspäivämäärä, saa jättää tyhjäksi
- Maksettu vuokrasumma, pakollinen kenttä
- Suunnittele ja määrittele sopiva tietorakenne (malli, model). Kannattaa katsoa ideoita ja mallia viikkotehtävä 4:n tietokannan rakenteesta. Määrittele malliin järkevät tietotyypit ja tarkistukset. Varmista, että tietoja voi syöttää vain järkevässä muodossa.
- Elokuvan nimeä ei saa jättää tyhjäksi. Vuokrauspäivämäärän on oltava uudempi kuin 1.1.2016. Vuokrasumman on oltava suurempi kuin 0. Jos tiedoissa on vikaa niin annetaan virheilmoitus ja pyydetään täyttämään lomake uudelleen.
- Vuokraaja pitää valita alasvetovalikosta
- Sovelluksessa on kaksi sivua: vuokraussivu jolla listataan kaikki vuokraukset kaikkine tietoineen ja lisäyssivu jolla voi lisätä uuden vuokrauksen.
- Sovelluksella pitää olla itse luotu ulkoasu. Web2pyn oletussivu ei siis suoraan kelpaa. Sivulla ei saa esiintyä mitään web2pyn
valmiissa pohjissa olevia elementtejä.
Sivuilla pitää olla yhtenäinen ulkoasu ja
sivun oikeassa laidassa navigointilinkit (navi1) joiden avulla pääsee kummallekin sivulle.
Sivun alalaidassa on oma navigointi (navi2) jossa on linkki Jyväskylän yliopiston kotisivulle, kurssin kotisivulle ja tälle viikkotehtäväsivulle.
Ylälaidassa lukee sovelluksen nimi (Videovuokraamo).
Ulkoasun on noudatettava seuraavassa esitettyä muotoa:
Elokuvavuokraamo Navi 1 Sivun varsinainen sisältö Navi 2
Taso 3
Laajenna taso 1 -ohjelmaa seuraavilla ominaisuuksilla:
- Vuokrattava elokuva on valittava myös alasvetovalikosta. Valittavana on oltava vähintään samat elokuvat kuin viikkotehtävä 4:n tietokannassa
- Vuokrauksia voi myös muokata tai poistaa
- Voi lisätä uusia elokuvia ja vuokraajia. Samannimistä elokuvaa ei saa syöttää kahteen kertaan. Vuokraajista (jasen) ja elokuvista on löydyttävä samat tiedot kuin viikkotehtävä 4:en tietokannasta.
- Vuokrauslistaus tehdään kaksitasoisena sisäkkäisenä listana jossa ulommalla tasolla listataan elokuvat ja sisemmässä listassa aina vuokraukset eli vuokraajan nimi, vuokrauspäivämäärä, palautuspäivämäärä ja vuokraussumma. Elokuvat ovat aakkosjärjestyksessä ja vuokraukset vuokrauspäivämäärän mukaan nousevassa järjestyksessä.
Taso 5
Laajenna taso 3 -ohjelmaa seuraavilla ominaisuuksilla:
- Lisää uusi sivu jossa listataan elokuvat niiden vuokrausmäärien mukaisessa järjestyksessä siten, että eniten vuokrattu elokuva on ensimmäisenä. Näytä listauksessa myös elokuvan vuokrauskertojen lukumäärä
- Elokuvia ja vuokraajia voi myös muokata ja poistaa. Ei kuitenkaan saa poistaa sellaisia vuokraajia, jotka ovat vuokranneet elokuvia eikä sellaisia elokuvia joita on jo vuokrattu
- Lisää vuokraajasivulle mahdollisuus helposti muokata valittuna olevan vuokraajan vuokrauksia yhellä kerralla. Ts. yhdellä sivulla näkyvät kaikki vuokraajan vuokraukset ja näitä voi muokata. Samalla sivulla on myös lomake, jolla voi muokata vuokraajan omia tietoja.

Käyttäjien kommentit