Labor: Ruumide broneerimise süsteem

Allikas: Lambda

Ülesande sisu on ruumide broneerimise süsteemi tegemine TTÜ õppejõudude jaoks:

  • sisselogimine
  • ruumide otsimine
  • ruumi info kuvamine
  • vaba-hõivatud kalendri kuvamine
  • ruumi broneerimine
  • andmete import

UI mõttes tuleb rakendus realiseerida htmli, cssi ja javascriptiga. Flashi, javat vms ei tohi kasutada. Kindlasti peab jälgima esimese praksi üldisi tehnilisi nõudeid.

Rakenduse täpne funktsionaalsus (mis vormid, väljad, tekstid, mida nad teevad jne) ei ole täpselt ette spetsifitseeritud: mõistliku ja mugava funktsionaalsuse väljamõtlemine on üks osa praksist.

Teatud minimaalne komplekt funktsionaalsust on siiski kohustuslik

Minimaalne kohustuslik funktsionaalsus

  • Süsteem peab võimaldama kasutamist kohe peale kasutajatunnuse (milleks olgu e-posti aadress) ja parooli valimist. Edaspidisteks sisselogimisteks tuleb kasutada süsteemi, kus e-postile saadetakse kinnitus-mail, mis sisaldab linki, millele kasutaja peab kasutajatunnuse/parooli aktsepteerimiseks klikkima. Reaalset posti saatmist ja sisselogimise kontrolli esimeses praksis teha ei tule: vaja on realiseerida ainult selle jaoks ettenähtud lehed/vormid. Reaalses rakenduses eeldatakse, et süsteemi baasi on jõuga kirjutatud kõik need e-posti aadressid, kellel on lubatud ruume broneerida, ning süsteem alati kontrollib sisselogija e-posti aadressi oma baasist.
  • Süsteem peab võimaldama otsida mistahes ttü ruume i mitme parameetri alusel, seejuures mistahes kombinatsiooni alusel:
    • vaba/mitte vaba valitud ajavahemikul
    • broneeritud konkreetse isiku poolt (e-posti järgi)
    • kelle kasutuses ruum on (osakond/isik, kellelt tuleb broneerimiseks luba küsida)
    • korpus
    • number
    • kohtade arv (peab saama valida vahemikku)
    • arvutiprojektori olemasolu
    • interneti olemasolu
    • tahvli olemasolu
    • arvuti olemasolu
  • Süsteem peab kuvama leitud ruumide loetelu:
    • loetelu peab olema jaotatud lehekülgedeks, peab saama minna eelmisele/järgmisele/algus-leheküljele
    • loetelu peab saama erinevate parameetrite järgi sortida
    • üks loetelu rida ei tohi minna üle ühe ekraanirea, mistahes info korral ruumi kohta
    • loetelus tuleb ruumi kohta näidata baasinfot, hiirega tema peale minnes eraldi css-popupiga lisainfot, klikates veel rohkem infot
  • Süsteem peab ühe ruumi vaates kuvama ruumi jaoks:
    • kogu baasinfo (vt ülal)
    • täiendavat vabatekstilist informatsiooni ja linke ruumi kohta, mida on sisestatud
  • Süsteem peab võimaldama märkida ruumi antud kasutaja poolt broneerituks:
    • Seejuures peab olema alati määratud ajaperiood (aja pikkus tuleks pakkuda vaikimisi kaks tundi)
    • Peab saama sisestada ruumi kasutuse otstarbe (loeng, praktikum), muuhulgas ka vabatekstiliselt
    • Süsteem peab sisemiselt kontrollima, et ruum poleks juba broneeritud
    • Kui ruum on kinnitatud kellegi hallata, tuleb anda hoiatus/küsimus, et kas tolle isiku käest on luba küsitud
  • Süsteem peab võimaldama sisestada uusi ruume ja muuta olemasolevaid (seda võivad ainult isikud, kelle e-post on baasis admini märkega)
    • Kogu baasinfo (vaata ülalpool)
    • Ruumi korpuse, numbri ja kohtade arvu sisestamine on kohustuslik
    • täiendavat vabatekstilist informatsiooni ja linke ruumi kohta

Soovitav täiendav funktsionaalsus

Järgmine komplekt funktsionaalsust on soovitav (ehk, nende realiseerimisel saab kindlasti rohkem punkte, kui ilma neid realiseerimata):

  • Valitud ruumitüüpide hulgast vabade ruumide esitamine kalendri kujul, nädala kaupa: iga kella peal lingid sel hetkel vabadele ruumidele
  • Broneerimine kordustega: igal nädalal sel ajal, paaris/paaritul nädalal sel ajal