Kasutajaliideste brauserirakendus

Allikas: Lambda
Redaktsioon seisuga 9. veebruar 2010, kell 01:41 kasutajalt Tammet (arutelu | kaastöö)
Mine navigeerimisribale Mine otsikasti

Ülesande sisu on birdwatching saidi tegemine, kust saaks sisestada oma vaatlusi ja otsida enda ja teiste vaatlusi.

Hindamine

Hindamisel arvestatakse järgmisi aspekte, osa neist objektiivsed, osa subjektiivsed:

  • Õigeaegselt esitatud või ei: hilinenud tööde eest saab ainult 50% punktidest, esitamine on ikkagi kohustuslik.
  • Ñõutava funktsionaalsuse olemasolu: puuduste eest miinuspunkte, väga paljude puuduste korral tööd ei arvestata (st tuleb edasi teha, kuni on piisavalt OK).
  • Kasutajaliidese lihtne arusaadavus ja mugavus.
  • Kasutajaliidese hea väljanägemine.
  • Täiendav omaleiutatud funktsionaalsus, huvitav tehnoloogia jne: annab lisapunkte.

Funktsionaalsus, mis peab olema realiseeritud

Kasutamine:

A) Mittelogitud kasutaja

  • Kasutaja saab kergesti aru, milleks sait ja mis seal teha saab
  • Kasutaja saab otsida kõiki vaatlusi
  • Kasutaja saab mugavalt sisse logida (reaalset logimist pole vaja realiseerida, piisab nö dummy-lehtedest), arvestades, et 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.

Otsingutulemust peab olema võimalik kuvada kahel viisil:

  • Sorteeritud loetelu (sorteeringu peab saama valida) ja kuvatava osa näitamine kaardil
  • Kaardil valitud regioonis

B) Logitud kasutaja

Lisaks mittelogitud kasutaja funktsionaalsusele:

  • Kasutaja saab sisestada uut vaatlust, kus on hulk vormivälju a la liik, koht, aeg jne: täpsustame lähiajal. Saab märkida, kas vaatlus on avalik/mitte
  • Kasutaja saab otsida kõiki vaatlusi ja leiab kõik enda vaatlused ja teiste avalikud vaatlused
  • Kasutaja saab muuta ehk parandada oma vaatlusi.

Täpsemalt vaatluste sisestamise ja muutmise kohta:

  • Peavad olema vähemalt järgmised väljad:
    • Linnu liigi nimi valitud keeles.
    • Liigi nime keele valiku boks.
    • Vaatluse aeg: kuupäev, päev, kellaaeg. Kuupäev kalendrist valitav. Vaikimisi sisestamise hetk.
    • Vaatluse riik valikuboksist.
    • Vaatluse aadress vabatekstina.
    • Vaatluse geokoordinaatide kaks välja
    • Geokoordinaatide tüübi valikuboks
    • Harilikkuse märge valikuboksist: väga harilik, vähem kohatav, haruldane
    • Vabatekstina märkmed

Täiendavate väljade lisamine ei ole keelatud, ülaltoodud peavad aga olema realiseeritud.

  • Peale sisestamise peab olema võimalik:
    • Olemasoleva info muutmine: avatakse sama täitmisvorm koos sisuga, saab muuta ja uuesti salvestada.
    • Vaatluste kustutamine. Piisab ühekaupa kustutamisest.
    • Vaatluste otsimine. Vaatluste otsingu tulemus tuleb kuvada kasutaja valiku järgi kas
      • Google maps kaardil: vaatluse märgi peale hiirega minnes peab kuvama kogu info
      • Sorteeritava loendina, mis on splititud lehekülgedeks


Muid funktsionaalseid nõudeid:

  • Mõistlik valik sisestamisvälju tuleb meelde jätta ja järgmisel sisestamisel kohe avada samad:
    • Liigi nime keele valiku boks.
    • Aeg
    • Riik
    • Vaatluse aadress
    • Vaatluse geokoordinaatide kaks välja
    • Geokoordinaatide tüübi valikuboks
  • Linnu liigi nime, märkmete jms väljade puhul ei tohi välja nime uuesti ette kuvada ega välja mälust pakkuda
  • Lehel peab olema menüü, kus vähemalt:
    • Üldinfo ja otsingud jms vahel valik
    • Standardotsingud a la viimased vaatlused, viimase aja eksootililisemad vaatlused regioonis jne jne

Tehnoloogilised nõuded

UI mõttes tuleb rakendus realiseerida puhtalt 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 praktikumist.

Kohustuslik funktsionaalsus on toodud siin lehel ülal.

Data saab veebileht ainult javascriptiga json formaadis.

Serverilt saab lugeda ainult staatilist htmli/cssi/pilte ja json formaadis datat.

Vormiväljade omadused peavad olema antud html atribuutidena ja neid kontrollitakse/kasutatakse js abil, vaadates, mis atribuudid väljal on.

Staatiline html ainult igal juhul muutumatute elementide jaoks: päis, üldmenüü jms.

Iga otsingu tulemus on javascripti massiiv/struktuur, tulemus kuvatakse dünaamiliselt.


Abiks esimese töö jaoks

Vormikontrolli näitefaile: