Meeskond:Error404

From EIK wiki

Error404

Meeskonna liikmed

  • Mihkel Kivisild - Projekti juht
  • Andre Kaur
  • Priidik Soon
  • Tiit Tallermaa

Projekti idee

Kodune raamatukogu.

Ideeks on luua üks täiesti tavaline kodune raamatukogu.

Parandus: Loome rakenduse kasutades ASP .Net tehnoloogiat.

(Algselt: Teeme platvormidele Windows 8.1 ja Windows Phone 8.1.)

Analüüs

Algselt oli plaan luua ainult ühele kogu omanikule vastav süsteem, mis kasutaks ära siis Windows 8 ja Windows Phone 8 platvormi, aga pärast meeskonna koosolekut tundus olevat mõistlikum luua kasutajate võrgustik ja sealt ka idee luua pigem esmalt ASP .Net tehnoloogial veebiliides ja pärast, kui aega üle jääb, luua vastavad rakendused Windows 8-le ja Windows Phone 8-le, mis ühilduksid loodud keskkonnaga.

Rakendus luuakse kasutades ASP .Net platvormi. Eesmärk on luua veebikeskkond, mis toimiks kui sotsiaalvõrgustik, mille abil on võimalik kuvada oma tuttavatele, millised raamatud/filmid/CD-d inimesel kodus on ja mida ta on nõus laenutama.

Selline rakendus võimaldaks laenutada objekte tuttavatelt, mis sageli on paindlikuma tagastamisgraafikuga. Samas on laenutajatel võimalik võimalik ka is tähtaegasid määrata. Kuna laenutamine toimub tuttavatelt, siis jäävad ära viivisetasud, kui just omavahel pole sedasi kokku lepitud, vaid ehk piisab viisakast meeldetuletusest ja vabandusest.

Rakenduse eesmärk

Antud rakenduse eesmärgiks on võimaldada tavakasutajal luua andmebaas, milles on kajastatud tema kodus olevad meediumid (DVD-d, CD-d, raamatud, filmid, muusika füüsilistel andmekandjatel). Kogumikus on võimalik omanikul määrata, mitu eksemplari mingit eset on ja kas ta on nõus seda välja laenutama oma sõpradele, kellele ta ise selleks ligipääsu annab. Lisaks tagaks selline programm võimaluse laenutajale meelde tuletada, kui laenutatud ese on liialt kauaks tema kätte jäänud, et see tuleks tagastada omanikule. Täpsem info funktsionaalsusest on järgmises lõigus.

Plaani kohaselt teostatav funktsionaalsus

  • Kasutajate loomine (profiilide loomine) – inimesel on võimalik luua endale kasutaja ja ta ei pea looma endale ilmtingimata andmebaasi, kus oleks tema enda kodus olevad objektid kirjas. Peab olema võimalik kasutada rakendust ka kui ainult laenaja.
  • Kasutajal võimalus luua oma andmebaas – Andmebaas, kus objektid on kategoriseeritud ja erinevate omadustega.
  • Andmebaasi uute kirjete lisamine – lihtsa ja arusaadava kasutajaliidese loomine, kus toimub uute objektide lisamine enda andmebaasi.
  • Oma andmebaasi kirjete redigeerimine – mingi kirje andmete muutmine või kirje kustutamine
  • Teistelt kasutajatelt loa küsimine nende andmebaasi kuvamiseks – see oleks justkui nagu näiteks FaceBook’is sõprade lisamine vms.
  • Loa andmine teistele kasutajatele oma andmebaasi kuvamiseks – eelmisele punktile vastuse andmine
  • Objektide laenutamine tähtajaga või tähtajatult – võimalus märkida esemeid laenutatuks nii tähtajaga kui ka ilma selleta.
  • Aruannete kuvamine (nt: kuvada oma andmebaasist väljalaenutatud objektide nimekiri) – võimaldaks kuvada erinevate filtrite abil informatsiooni oma enda kogumiku kohta.
  • Andmebaasist objekti otsimine erinevate filtrite abil – luua filtrid, mis oleksid piisavalt paindlikud, et otsingufunktsioon ei tunduks iganenud (st märksõnad ei pea olema 100% täpsusega)
  • Antud ligipääsulubade haldamine (kustutamine vajadusel)

Probleemsed osad

Probleeme võib tekitada kasutajate omavahelise suhtluse korraldamine, ligipääsulubade haldamine. Miks see probleemseks võib osutuda on see, et süsteemi toimimiseks tuleb hästi läbi mõelda, kuidas koostada vastavaid tabeleid andmebaasis ja kuidas seda infot siduda konkreetsete kasutajatega (näiteks kasutaja laenutaja rolliga lubatud laenajate ühendamine).

Samuti võib osutuda kogu funktsionaalsuse testimine võrdlemisi keeruliseks. Esmane idee oleks kasutada Microsofti Azure teenust, mille peal katsetada süsteemi ja kas kasutajatevaheline suhtlus toimib ettenähtud viisil, aga testimise meetodid ja kasutatavad vahendid ei ole veel täiesti kindlad, mistõttu on seda siin analüüsis ka keeruline umbmääraselt kirjeldada.

Lisaks võib päris keeruliseks osutuda ka korraliku otsingufunktsiooni tagamine, mis toimiks mitme erineva filtriga efektiivselt ja võimaldaks ka otsida näiteks raamatuid autorite kaudu, kasutades märksõnadena initsiaale.

Funktsionaalsus, mis võiks olla, aga ei pruugi ajalise piirangu tõttu jõuda

  • Võimalus sirvida andmebaasi erinevate filtritega
  • Kasutajaprofiilide hindamine (kui usaldusväärne laenaja/laenutaja on)
  • Kasutajaprofiilide otsimine ja hinnangu kuvamine
  • Meili teel teavitused hilinemisest – kui objekti tagastamise tähtaeg läheneb või on juba käes, siis saadab vastava meili
  • Objektidele kirjeldava pildi lisamine
  • Laenaja kohta eelinfo andmine – kui mingi kasutaja soovib ligi pääseda kellegi andmebaasile, siis antakse loa andjale umbisikuline ülevaade küsija „korralikkusest“ (kas on olnud varasemalt hilinemisi, tagastamata esemeid).
  • Rakenduse sisene sõnumite jätmine erinevatele kasutajatele
  • Uue kasutaja loomisel/esmakordsel sisselogimisel näpunäited erinevate funktsioonide kohta ja tutvustav info.
  • Selge ja intuitiivne graafiline kasutajaliides – Esmane variant on ilmselt veidi kohmakas ja rohkem on tähelepanu suunatud meeskonna vaev funktsionaalsuse tagamisse.

Lisaks oleks hea luua ka Windows 8 ja Windows Phone 8 rakendused, milles saaks ära kasutada Push-Notification süsteemi, et anda teavitusi hilinemistest, uutest päringutes. Windows Phone’i rakendusel oleks osaline funktsionaalsus. Seda sellepärast, et see väldiks olukorda, kus loodav rakendus on antud paltvormil liiga kohmakas ja keeruline, mis muudaks selle kasutamise ebamugavaks.

Kui valmis rakendus toimib vastavalt ootustele, siis oleks mõeldav süsteemi laiendamine ka teistele mobiilsetele platvormidele, kuid see jääb antud aine raamidest välja, seega hetkeseisuga sellega tegelema ei hakka.

Prototüüp

Link prototüübile: Siit

Kuna tegemist on veebilehega ja leht suhtleb lokaalse andmebaasiga, siis tuleb prototüüp käivitada Visual Studio'st. Testimiseks tuleb endal luua mitu kasutajat.

Lõpptoode

Link lõpptootele: Siit

Lingis asuv ZIP fail sisaldab endas kogu kodutöö projekti. Kuna veebilehe koos selleks vajamineva andmebaasi jaoks serverit renditud ei ole, siis tuleb veebileht käivitada Visual Studio projektist. Veebileht suhtleb lokaalse andmebaasiga. Testimiseks tuleb endal luua mitu kasutajat.