Hidden Mustard
Meeskond ja rollid
- Andreas Kirotar - projektijuht
- Anneli Asser
- Tõnn Vaher
Idee
Veebipood wpf rakendusena, milles on võimalik: kasutaja registreerida, sisse logida, kuulutusi lisada/muuta. Teiste inimeste kuulutusi vaadata ja nendega kuulutuse teemal suhelda.
Tehnoloogia
Kasutatav tehnoloogia:
- C#
- Windows Presentation Foundation
- SQL või Linq
- TFS https://hiddenmustard.visualstudio.com/Store/Store%20Team/_versionControl
Analüüs
WebStore, mille nimi peaks olema pigem e-pood, on WPF rakendus, millega on võimalik kasutajatel efektiivselt kuulutusi lisada ja neid ka vaadata. Rakenduse eesmärk on lubada kasutajatel ennast registreerida ja sisselogida, kui kasutaja on sisse loginud, siis on tal võimalik lisada uus kuulutus, neid muuta, vaadata ja kustutada. Kuulutusi on võimalik ka otsida läbi filtreerimise ehk kuulutuse tunnuste kaudu. Kasutajal on võimalik kuulutuse all küsimusi küsida. Kuulutust saab lisada erinevate kategooriate alla ja sinna lisatakse toote kirjeldus, pildid, asukoht jm. Kuulutuste vaatamiseks ei pea olema sisselogitud, kuid kui tahetakse kommenteerida või lisada kuulutust, siis tuleb ikkagi kasutaja luua. Kasutaja loomine tagab selle, et meil on kasutajatel reitingud (nice-to-have), mille järgi teised kasutajad otsustavad kas nad usaldavad teisi või mitte. Reitingu süsteem on 5 palli süsteemis, mis tekib hinnangute jagamise tulemusena. Põhilised(must-have) vajadused rakendusele on järgmised: kuulutuste olemasolu, kergesti kasutatav rakendus, maksevõimalus(nice-to-have). Selleks, et põhilisi vajadusi täita on vaja esiteks kedagi, kes neid kuulutusi lisab ehk kasutajaid ning teiseks mõistliku kasutajaliidest. Rakenduse ohuks on teiste samalaadsete võimaluste olemasolu näiteks veebis osta.ee, okidoki.ee ja teisedki. Rakenduse tugevuseks on see eest mõistlik kasutajaliides ning mugav viis soovitud toote leidmiseks. Ohuks on ka see, et võibolla keegi ei soovigi rakenduse kujul veebipoodi kasutada, sest tänapäeval on kasutusel palju erinevad seadmed.
Mis on selle eesmärk?
Eesmärgiks on anda inimestele võimalus osta/müüa/vahetada erinevaid tooteid. Samuti osutada kasutajatele mugavat ja lihtsat võimalust kaupu sorteerides otsida. Kasutusmugavus tagab selle, et süsteemiga saab hakkama vanemad inimesed.
Mida tavakasutaja sellega teha saaks?
Tavakasutaja saab :
- End registreerida kasutajaks, registreerimisel küsitakse: kasutajanime, parooli, emaili.
- Enda registreeritud kasutajaga sisselogida.
- Registreeritud kasutajaga postitada kuulutusi, neid muuta või kustutada: kuulutuste lisamisel saab valida kategooriaid ja lisada muid kuulutuse kohta käivaid märksõnu.
- Vaadata enda ja teiste postitatud kuulutusi: võimalus on sirvida kuulutusi kategooriate läbi või märksõnade kaudu. Enda kuulutust on võimalik ka muuta.
- Kirjutada kuulutuse alla kommentaare ja nendele ka vastata.
Rakendus koosneb:
- Windows Presentation Foundation kasutajaliidesest, mille abil on kasutajal võimalik kas kuulutusi sirvida või lisada, viimasel juhul on vaja registreerida ja sisselogida.
- Microsoft SQL Server andmebaasist, milles talletatakse andmeid kasutajate, kuulutuste, kuulutuste piltide ja muude asjade kohta.
- Rakenduse sisu on C# keeles kirjutatud
Tööjaotus:
- Proge/disain/projekijuht - Andreas Kirotar
- Disain/proge/sql/midagi_ikka - Anneli Asser
- Proge - Tõnn Vaher
Funktsionaalsus
Must have
- Kasutaja registreerimine.
- Kasutaja sisselogimine.
- Kasutaja andmete muutmine.
- Kuulutuste lisamine/vaatamine/muutmine/sulgemine
- Teiste kasutajate kuulutuste vaatamine
- Kuulutusele kommentaaride kirjutamine/kommentaarile vastamine
- Kuulutuste vaatamine kategooria järgi
- Otsing filtritega või/ja märksõna läbi
Nice to have
- Kirjutada kuulutuse postitajale sõnumeid
- Kuulutuse lisamine lemmikutesse
- Live chat
- Oksjon
- Makse teostamine (veebimakse)
- Audentimine ID-kaardiga
- Feedback
- Hinnamuutuse teavitus
- Reklaamide bännerid
- Kuulutuses oleva asja asukoht (google maps)
Võimalikud probleemid
- Probleemiks võib osutada projekti keerukus, mis tähendab, sest projekti piirid pole täielikult määratletud seega teostamine võib minna üle käte. Ei saa funktsionaalsustega ühele poole, hakatakse arendama funktsionaalsust, mille teostamine käib üle jõu.
- Tööjaotusega võib tekkida probleeme, sest tiimil pole piisavalt Visual Studioga ja üleüldiselt ärilise loogika tarkvara arenduse kogemusi
Dokumentatsioon
Arendusprotsessi kirjeldus
Esimene samm
Teine samm
JNE
Lahenduse kirjeldus
Projekti tulemusena loodi Windows Presentation Foundation tehnoloogial põhinev rakendus, mille peamiseks ülesandeks on kuulutuste kuvamine ja salvestamine. Rakenduses on loogika ja kood jaotatud Model-View-ViewModel struktuuri järgi, päringute tegemiseks kasutatakse LINQ komponenti ning andmete hoiustamiseks tuleb igas klient-arvutis luua Microsofti SQL andmebaas. Äriloogikaks on rakendusel BO-d (Business Objects).
Kogu lahendus koosneb kahest alamrakendusest. Rakendus "WebStore" on back-end ehk sisaldab BO-sid ja Service kihti. Rakendus "WebStore.WPF" on käivitatav programm, ehk see, mida kasutaja näeb. WebStore.WPF rakendus teostab päringuid WebStore rakenduse Service kihile.
Andmebaas
Rakenduse andmebaasiskeemis on 6 tabelit:
- adverts - sisaldab andmeid kuulutuste kohta, kes lisas, millisesse kategooriasse lisati, milline toode lisati
- categories - sisaldab kuulutuste kõiki erinevaid kategooriaid (kategooriaid peab lisama käsitsi andmebaasi)
- commented - sisaldab kuulutustele jäetud kommentaare ning vastuseid
- pictures - sisaldab kuulutuste pilte
- products - sisaldab kuulutusega lisatavat toodet
- users - sisaldab kasutajate andmeid
Business Objects
Rakendusel on 6 BO'd:
- UsersBo
- CategoriesBo
- CommentedBo
- ListItemBo
- PicturesBo
- AdClickedBo
Teenused (Service)
Rakenduse Teenus(Service)kihis on 3 klassi:
- GetDataService
- SaveDataService
- UserService
Vaatemudelid
Käivitataval Store.WPF rakendusel on 4 vaatemudelit:
- AdVm
- CurrentAddVm
- MainVm
- SettingsVm
Vaated
Käivitataval Store.WPF rakendusel on 7 vaadet, mis kuvatakse vastavalt vajadusele ühel aknal:
- Ad - kuvatakse kuulutuse lisamisel
- CurrentAdd - kuvatakse ühe kuulutuse vaatamisel
- Edit - kuvatakse kuulutuse muutmisel
- Login - kuvatakse kasutaja sisselogimisel
- Main - kuvatakse põhilise vaatena
- Register - kuvatakse kasutaja registreerimisel
- Settings - kuvatakse kasutaja andmete muutmusel
Kasutajajuhend
Kasutajajuhend ning installeerimisõpetus on lisatud lõpptoote kataloogi.