Labor: sugupuu süsteem

Allikas: Lambda

Ülesande sisu on sugupuu-info sisestamise, info otsimise ja kuvamise rakenduse tegemine.

Graafilisi sugupuid ei ole vaja näidata, kuid võib: lisavõimalused annavad ekstrapunkte.

Inspiratsiooniks vaata:

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.
  • Süsteem peab võimaldama otsida mistahes inimesi mitme parameetri alusel, seejuures mistahes kombinatsiooni alusel:
    • minu sisestatud/kellegi teise sisestatud
    • eesnimi
    • perenimi
    • sugu
    • sünnikuupäev
    • sünniaastate vahemik
    • sünnikoht tekstiväljana
  • Süsteem peab kuvama leitud inimeste 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 isiku kohta
    • loetelus tuleb isiku kohta näidata baasinfot, hiirega tema peale minnes eraldi css-popupiga lisainfot, klikates veel rohkem infot
  • Süsteem peab ühe inimese vaates kuvama iga inimese jaoks:
    • kogu baasinfo (nimi jne, vt ülal)
    • ema
    • isa
    • lapsed
    • abikaasad/elukaaslased
    • täiendavat vabatekstilist informatsiooni ja linke inimese kohta, mida on sisestatud: soovitavalt ka kategoriseeritud linke piltidele, kodulehtedele jne jne
  • Süsteem peab võimaldama sisestada uusi inimesi ja muuta olemasolevaid (muuta võib ainult enda sisestatud inimesi!)
    • Kogu baasinfo (nimi jne, vaata ülalpool), seejuures eeldades, et täpset sünniaega ei pruugita teada, sisestada võib ka ainult aasta või üldse mitte
    • Eesnime sisestamine on kohustuslik
    • täiendavat vabatekstilist informatsiooni ja linke inimese kohta, soovitavalt ka kategoriseeritud linke piltidele, kodulehtedele jne jne
    • ema, isa, lapsed: igaks neist peab saama määrata mõne süsteemis juba olemasoleva isiku. Selleks peab valiku juures olema eraldi väike otsivõimalus olemasolevate seast.

Soovitav täiendav funktsionaalsus

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

  • Sugupuu graafiline esitamine: cssi ja javascripti abil.
  • ema, isa, laste sisestamise juures võimaldada kohe sisestada uut isikut, mitte lihtsalt valida olemasolevate seast
  • kui ema, isa, laste, abikaasade/elukaaslaste sisestamise juures sisestatava isiku parameetrid klapivad väga hästi mõne süsteemis olemasolevaga, anda kohe hoiatus (kas soovite kasutada juba süsteemis olemasolevat inimest ...)
  • isikute liitmine: kui avastad, et kaks süsteemi sisestatud isikut on tegelikult üks ja sama isik