Skip to content

TainaLepisto/HunajaPurkki

Repository files navigation

HunajaPurkki

HunajaPurkki on mehiläistarhaajien apuväline mehiläisten hoitoon. Sovellukseen tallennetaan tiedot pesistä ja niiden tarkastuksista. Sovellus on suunnattu suomalaisen mehiläistarhaajan käyttöön. Sovellus muistuttaa pesien tarkastuksista säännöllisin väliajoin ja pitää kirjaa myös mahdollisista taudeista.

Sovelluksen dokumentaatio Gitissä

Sovellus julkaistu laitoksen user-palvelimelle

Projektista

Itsenäinen projekti itsevalitun aiheen mukaisesti. Toteutettu PHP:lla käyttäen PostgreSQL-tietokantapalvelinta. Käyttäjän selaimen tulee tukea JavaScriptiä.

Tietokantasovellus on tietojenkäsittelytieteen aineopintojen harjoitustyökurssi, jossa harjoitellaan tietokantaohjelmointia käytännössä ja opitaan samalla web-sovellusohjelmointia.

Kurssin tarkoituksena on tuottaa toimiva, käytettävä, siististi koodattu ja hyvällä arkkitehtuurilla rakennettu web-sovellus, joka kommunikoi tietokannan kanssa käyttäen SQL-kieltä.

TechStack

MVC-malli (model-view-controller)

Web-sovellusten toteutusmalli, jonka tarkoituksena on erottaa näkymä sovelluslogiikasta. Siinä sovellus jaetaan kolmeen osaan:

  • malliin (model), joka mahdollistaa tietokannasta haetun tiedon esittämisen sovelluksen kannalta mielekkäässä muodossa, eli yleensä olioina, jolloin kukin malli kuvaa yhtä sovelluksen tietokohteista (esim. Asiakas, Tuote, Opiskelija, jne.). Kaikki tietokantaan kohdistuvat kyselyt suoritetaan mallien kautta.
  • näkymään (view), joka määrittää sovelluksen käyttöliittymän ulkoasun ja tiedon esitysmuodon. Sen kautta lähetään myös käyttäjän syöttämiä tietoja sovellukselle esimerkiksi lomakkeiden kautta.
  • kontrolleriin (controller), joka toimii liimana näkymän ja mallin välissä. Se käsittelee selaimen lähettämät pyynnöt, välittää mallilta saamansa sisällön näkymälle tai pyytää mallia tekemään muutoksia tietokantaan.

(kuvaus kopioitu kurssisivulta)

Eteneminen

Viikko 1 - valmis

  • Valitse harjoitustyösi aihe
  • Pystytä versionhallinta
  • Dokumentoi perusasiat doc-kansioon yhteen pdf-tiedostoon
    • Johdanto
    • Käyttötapaukset
  • Pystytä työympäristö
  • Rekisteröidy labtooliin

Viikko 2 - kesken

Viikko 3 - valmis

  • Toteuta sovellukseesi vähintään yksi malliluokka (Tarha, Pesä, ...), jossa on
    • kaikki tietokohteen oliot tietokannasta hakeva metodi (esim. all)
    • tietyllä id:llä varustetun tietokohteen olion tietokannasta hakeva metodi (esim. find)
    • tietokohteen olion tietokantaan lisäävä metodi (esim. save)
  • Toteuta malliasi käyttämään kontrolleriin (Tarha, Pesä, ...) metodit, jotka esittävät tietokohteen listaus-, esittely- ja lisäysnäkymän. Toteuta myös kontrolleriisi metodi, joka mahdollistaa tietokohteen olion lisäämisen tietokantaan käyttäjän lähettämän lomakkeen tiedoilla.
  • Kirjoita koodikatselmointi
  • Pushaa kaikki muutokset

Viikko 4 - valmis

  • Lisää malliluokkaasi metodi ja käyttäjälle toiminnot tietokohteen olion
    • muokkaamiselle (esim. update)
    • poistolle (esim. destroy)
  • Lisää malliisi tarvittavat validaattorit ja estä kontrollereissa virheellisten syötteiden lisääminen tietokantaan.
    • näytä lomakkeissa virhetilanteissa virheilmoitukset
    • täytä kentät käyttäjän antamilla syötteillä
  • Toteuta malliluokka sovelluksen käyttäjälle ja toteuta käyttäjän kirjautuminen.
    • Toteuta get_user_logged_in-metodi
    • käytä kirjautuneen käyttäjän tietoa hyväksi näkymissä ja malleissa
  • Kirjoita alustava käynnistys- / käyttöohje dokumentaatioosi.
  • käyttäjätunnus (testi@honey.bee) ja salasana (hunajata), jolla voi kirjautua sisään sovellukseesi
  • Pushaa kaikki tekemäsi muutokset repoosi

Viikko 5 - valmis

  • Toteuta käyttäjän uloskirjautuminen ja estä kirjautumattoman käyttäjän pääsy sivuille, jotka vaativat kirjautumisen.
  • Edistä sovellustasi ja pidä koodi siistinä noudattamalla selkeää kansiorakennetta ja järkevää nimeämistä tiedostojen, luokkien ja metodien nimissä.
    • ainakin kahdelle tietokohteelle on toteutettu sivuja. Kaikkia CRUD-nelikon osia ei kuitenkaan tarvitse toteuttaa, listaus- ja esittelysivut uudelle tietokohteelle riittävät hyvin.
    • toimintojen tulee toimia ja virhetilanteissa käyttäjälle täytyy antaa järkeviä virheilmoituksia.
  • Lisää dokumentaatioosi
    • järjestelmän-yleisrakenne-osio
    • käyttöliittymän ja järjestelmän komponentteja kuvaava kaavio.
  • Kirjoita koodikatselmointi
  • Pushaa kaikki muutokset