Osan 0 etapit
  • Olet valinnut harjoitustyöllesi aiheen.
  • Olet luonut harjoitustyölle github-repositoryn, jossa on lyhyt kuvaus harjoitustyön aiheesta.
  • Olet tehnyt hahmotelman tietokantakaaviosta.
  • Kirjoita dokumentaatio Markdown-muodossa. Voit katsoa vihjeitä muotoiluun esimerkiksi täältä.

Aiheen valinta

Työ omasta aiheesta

Mikäli haluat tehdä työn omasta aiheesta ja työ täyttää harjoitustyön vaatimukset (tietokanta jossa noin 3-5 taulua, monen suhde moneen, yhteenvetokyselyitä, jne), voit toteuttaa työn omalla aiheellasi. Aiheesta täytyy laatia aihekuvaus, joka tulee tallettaa github-repositorioosi ensimmäisen osan palautuksen yhteydessä. Voit myös toteuttaa valmiista aihe-ehdotuksesta oman variaatiosi.

Hyviä aiheideoita voit saada vaikkapa omista harrasteista ja kiinnostuksen kohteista. Kurssilla on vuosien saatossa toteutettu mm. kaikennäköisiä roolipelitietokantoja, lintutietokanta, bussinbongaustietokanta ja haalarimerkkigalleria.

Aiheesta on hyvä keskustella ohjaajan kanssa. Täten varmistetaan aiheen sopiva laajuus, työ ei saa olla liian suppea, mutta se ei myöskään saa olla liian laaja. Tavoite olisi, että jokaisella olisi aihe olemassa jo aloitusluennon jälkeen.

Valmiita aiheaihioita

Alla on esimerkin vuoksi mahdollisia työaiheita.

Esimerkkiaiheita ja kuvauksen hahmottelua

Kurssitarjonta ja kurssipaikan varaus

Kurssikeskus Opinahjo järjestää maksullisia kursseja eri aihepiireistä. Yhteen aihepiiriin liittyen pidetään vuodessa 1-20 kurssia. Sama kurssin voidaan vuoden aikana järjestää useaan kertaan. Kursseille voi osallistua keskimäärin 20 opiskelijaa, mutta isoja yli sadankin hengen kursseja on joskus ohjelmassa. Kustakin kurssista on laadittu esite, josta käyvät selville kurssin aika, kurssipaikka kurssin opettajat ja kurssin sisältö.

Kuka tahansa voi tutkia kurssitietoja ja ilmoittautua kurssille. Jotta ilmoittautuminen tulisi voimaan, on varaajan maksettava varausmaksu. Tätä varten varaajalle ilmoitetaan tilinumero ja varaukseen liittyvä viitenumero ja varausmaksun määrä. Jos varaaja erikseen pyytää laskua varausmaksusta, sellainen lähetetään. Varsinainen kurssimaksun laskutus ei kuulu tämän järjestelmän piiriin.

Toimintoja:

  • Kirjautuminen
  • Kurssin syöttö ja muokkaus
  • Kurssitarjonnan katselu ja varauksen teko
  • Varauslaskujen kirjoitus - niille jotka ovat sitä pyytäneet tai eivät ole viikon kuluessa vauksesta maksaneet varausmaksua. (valinnainen)
  • Ilmoittautuneiden luettelo
  • Varauksen peruutus yrityksen toimesta, jos maksua ei ole maksettu
  • Varauksen peruutus asiakkaan toimesta
  • Kurssin peruutus
Projektin työaikaseuranta

Tehtävänä on laatia järjestelmä, jolla voidaan seurata projektiin käytettyä työaikaa. Järjestelmää on tarkoitus käyttää ohjelmistotuotantoprojekteissa sekä harjoitustöissä. Projektipäällikkö tai ohjaaja saa järjestelmältä yhteenvetoja käytetystä työajasta viikottain, henkilöittäin ja tehtävälajeittain. Kukin projektiin osallistuva henkilö kirjaa järjestelmän tekemänsä työtunnit, työlajin ja mahdollisen selityksen. Projektin osallistuja saa nähtäväkseen tekemänsä kirjaukset. Hän saa esiin myös itseensä liittyvät yhteenvetoraportit. Projektipäällikkö saa halutessaan käyttöönsä myös tiedot kunkin työntekijään yksityiskohtaisista kirjauksista.

Toimintoja:

  • Kirjautuminen
  • Työaikakirjauksen teko
  • Projektin perustaminen
  • Henkilön liittäminen projektiin
  • Henkilön poistaminen projektista
  • Projektipäällikön raportit
  • Yksityiskohtainen työraportti
Keskustelufoorumi

Harjoitustyössä tehdään keskustelufoorumi jonkin yhteisön, vaikkapa opiskelijajärjestön sisäiseen käyttöön. Käyttäjä voi lukea järjestelmän tallennettuja kirjoituksia ja lisätä tietokantaan uusia kirjoituksia, jotka voivat olla myös vastineita aiempiin kirjoituksiin. Kirjoituksia voi hakea kirjoittajan nimen tai aiheen tai artikkelin iän perusteella. Lukija voi seurata myös vastinepolkua. Oletusarvoisesti lukijalle näytetään kaikki tietty ikää tuoreemmat artikkelit varustettuna informaatiolla siitä onko lukija itse ja ovatko kaikki yhteisön jäsenet jo lukeneet artikkelin. Lukija identifioi aina itsensä ja artikkeleihin liitetään tieto henkilöistä jotka ovat lukeneet ne. Tämä tieto on kaikkien lukijoiden saatavissa.

Järjestelmän ylläpitäjällä on oma liittymä, jonka kautta hän ylläpitää järjestön käyttäjien jäsentietoja ja heidän kuulumistan eri ryhmiin, siivota kirjoituskantaa ja määrittellä aiheita, joiden perusteella kirjoituksia voi ryhmitellä.

Toimintoja:

  • Kirjautuminen
  • Kirjoituksen lisääminen
  • Kirjoitusten näyttäminen eri kriteerein
  • Ryhmän jäsenen lisääminen, muokkaaminen ja poistaminen
  • Vastineen laatiminen ja muokkaus
  • Kirjoitusten poistaminen
  • Aiheiden määrittely, muokkaus ja poisto
Lääkäriaseman työvuorolista

Tehtävänä on laatia järjestelmä, jolla voidaan laatia lääkäriaseman työvuorolistoja. Lääkäriaseman henkilöstö jaetaan kolmeen luokkaan: lääkärit, sairaanhoitajat ja perushoitajat. Myös aseman aukioloajat jaetaan tarvittavan henkilöstövahvuuden mukaan eri kiireellisyysluokkiin. Jokaiselle kiireellisyysluokalle määritellään minimivahvuus eli kuinka monta kunkin henkilöstöluokan työntekijää täytyy olla töissä. Kuitenkin laskettessa minimivahvuutta ylempi voi korvata alemman eli lääkäri voi olla sairaanhoitaja tai perushoitaja, ja sairaanhoitaja voi olla myös perushoitaja. Jokainen aseman aukiolotunti kuuluu johonkin kiireellisyysluokkaan.

Huom. järjestelmä saa hyväksyä vain sellaiset työvuorolistat, jotka täyttävät vaaditut henkilöstövahvuudet. Lisäksi jokaisella työntekijällä on määritelty päivä- tai viikkotuntimäärä, jonka ylitykset järjestelmään täytyy estää.

Toimintoja:

  • Kirjautuminen
  • Kiireellisyysluokkien teko (ja muutos)
  • Henkilöstövahvuuskalenterin teko (ja muutos)
  • Työvuorolistan teko (ja muutos)
  • Henkilökohtaisen työvuorolistan listaus
  • Työvuorolistan listaus
  • Työntekijäkohtainen työraportti (tehdäyt tunnit tietyllä aikavälillä)
  • Työntekijään tekemien tuntien listaus kiireellisyysluokittain
  • Työvuorolistan ylimiehityksen raportointi

Lisää aiheita

  • Elektroninen keittokirja
  • Graduaiheet
  • Henkilögalleria
  • Hiihtokisojen tulospalvelu
  • Huutokauppa
  • Kennelkerho
  • Keskustelufoorumi
  • Kurssikysely
  • Kurssin kotisivu
  • Kurssitarjonta ja kurssipaikan varaus
  • Lääkäriaseman työvuorolista
  • Lääkärin kotikäynnit
  • Matkojen markkinointi
  • Muistilista
  • Ostoskassi
  • Palvelubisnes
  • Parturi-Kampaamo
  • Pizzapalvelu
  • Pokémon-tietokanta
  • Projektin työaikaseuranta
  • Rankkauslista
  • Taloyhtiön palvelut
  • Tavaranvaihto
  • Tukkuliikkeen tilaustenkäsittely
  • Tutkimusaineiston keräys
  • Työaihekanta
  • Usein kysytyt kysymykset
  • Vedonlyönti
  • Vuokra-asuntojen välitys
  • Ystävänvälityspalvelu
  • Äänestys

Tietokantakaavio

Tee työllesi alustava tietokantakaavio. Kaavion on tarkoitus kuvata suunnitelmaa mihin työtäsi kurssin aikana viet. Näin myös sinun on helppo seurata kurssin edetessä omaa suunnitelmaasi ja tarvittaessa päivittää sitä.

Tietokantakaavion tekemistä voi kerrata esimerkiksi Tietokantojen perusteet -kurssin materiaalista.

Luo aiheelle github-repositorio ja kuvaus

Luo github-tunnuksesi alle uusi repositorio. Aseta repositorion nimeksi aiheesi nimi. Luo tämän jälkeen repositorion juureen tiedosto README.md, johon kirjoitat aihekuvauksen. Kuvauksen ei tarvitse olla tässä vaiheessa pitkä, muutama lause riittää. Lisää myös linkki tietokantakaavioosi.

Siirrä sovellus Githubiin

Luodaan projektikansiolle git-versionhallinta komennolla git init. Tämä luo mahdollisuuden projektin versiointiin ja luo kansioon .git-nimisen kansion.

Lisätään githubissa oleva repositorio kansion paikallisen versionhallinnan etäpisteeksi. Projektin osoite löytyy githubista (se on tyypillisesti muotoa https://github.com/käyttäjätunnus/projektin-nimi.git. Esimerkeissä oletetaan sovelluksen olevan kansiossa demo, josta ajamme myös komennot. Vastaavaa esimerkkiä käytetään jatkossakin kurssin aikana.

~/demo$ git remote add origin github-projektin osoite
~/demo$ 

Lisätään tiedostot githubiin.

~/demo$ git add .
~/demo$ git push -u origin master
..-
~/demo$ 

Nyt projektin lähdekoodit löytyvät githubista.

Palauta työ labtooliin

Kun olet luonut aihekuvauksen, tehnyt repositorion ja lisännyt repositorioon aihekuvauksen, lisää lopulta aiheesi labtooliin. Olet nyt sitoutunut suorittamaan harjoitustyön tässä periodissa.

Voit mennä Labtooliin yllä olevasta linkistä, etsiä oikean kurssin ja rekisteröityä sille. Kurssin suora rekisteröitymisosoite Labtooliin ilmoitetaan normaalisti kurssin courses-sivulla, joten rekisteröityminen kyseisen sivun kautta voi säästää hieman vaivaa.

Jatkossa viikoittaiset palautukset tehdään palauttamalla ajan tasalla oleva koodi Githubiin ja päivittämällä sovellus Herokussa. Labtoolista voit lukea palautuksista saamasi pisteet ja ohjaajien kommentit.

Sisällysluettelo