Ostukorv: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Line 9: Line 9:


== Analüüs ==
== Analüüs ==
=== 1.Sissejuhatus ===
Projekti Ostukorv eesmärk on luua kogu perele ühine ostukorv. Kasutajal on võimalik registreerida ning luua endale ja perekonnale ostunimekirjad, mis on alati uuendatud ja sünkroonis tänu ühtsele API’le.
=== 2.Protsessid ===
1. Registreerimine kasutajaks.
2. Kasutaja autentimine.
3. Perekonna lisamine.
4. Perekonda kasutaja lisamine.
5. Perekonnast kasutaja kustutamine.
6. Ostukorvi lisamine perekonda.
7. Ostukorvi kustutamine perekonnast.
8. Toote lisamine ostunimekirja.
9. Toote märkimine ostetuks.
10. Toote märkimine staatusesse ostmata
11. Toote kustutamine ostukorvist.
12. Logimine.
'''Nice-to-have protsessid'''
1. Push notificationid
2. Pere retseptid
3. Retseptide lisamine ostukorvi
=== 3. Kasutajaliides ===
'''Autentimise vaade'''
Autentimise lehel on kasutajanime ja parooli lahter ning nupud “Registreeri” ja “Sisene”.
'''Ostunimekirjade vaade'''
Ostunimekirjade leheks on “pivot control” stiilis lehekülg. Pealkirjaks on perekonnale määratud nimi ning elementideks on  ostunimekirjade nimed. Kasutajal on võimalik lihtsate “swipe” liigutustega navigeerida erinevate perekondade vahel.
Lehe alumises otsas on “Perekonnaliikmed” nupp, mida vajutade suunatakse kasutaja edasi perekonnaliimete vaatesse.
'''Ostunimekirja detailvaade'''
Ostunimekirja detailvaates on nimekiri toodetest koos “checkbox” väljadega, mis on lisatud antud ostunimekirja alla .
'''Perekonnaliikmete vaade'''
Perekonnaliikmete vaade on “listview”, mille alumises otsas on nupp “Lisa perekonnaliige”. Elementi pikalt vajutades on võimalik kasutajat perekonnast kustutada.
=== 4. Rollid ja õigused ===
'''Administraator'''
Administraator on kasutaja, kes lisas perekonna. Kasutaja roll kehtib vaid selle antud perekonna raames. Administraatoril on ainuõigus lisada perekonda uusi kasutajaid ja neid kustutada.
'''Perekonnaliige'''
Perekonnaliige on kasutaja, kes on lisatud administraatori poolt perekonda. Perekonnaliige saab lisatada ning eemaldada ostunimekirjasid ja tooteid ostunimekirjas.
'''Tavakasutaja'''
Tavakasutaja on kasutaja, kes pole lisatud administraatori poolt perekonda. Tavakasutajal ei tohi olla võimalik lisada, uuendada, eemaldada ega näha ühtegi asja antud perekonna sees.
=== 5.Protsessikirjeldused ===
'''Registreerimine kasutajaks'''
Ostukorvi kasutajaks registreerimiseks tuleb kasutajal avada nutiseadmes Ostukorv mobiilirakendus. Kasutaja suunatakse sisselogimise lehele, kus on võimalik nii sisselogida, kui ka registreerida kasutajaks. Registreerimiseks peab kasutaja sisestama kasutajanime ja parooli ning vajutama registeerimiseks mõeldud nuppu. Õnnestunud registreerimise korral suunatakse kasutaja edasi ostunimekirjade vaatesse, tema kasutajasessioon salvestatakse nutiseadmesse ja andmebaasi. Ebaõnnestunud registreerimise korral jääb kasutaja  sisselogimise vaatesse, kus kuvatakse veateadet.
'''Kasutaja autentimine'''
Ostukorvi kasutajana sisse logimiseks tuleb kasutajal avada nutiseadmes Ostukorvi mobiilirakendus. Kasutaja suunatakse sisselogimise lehele. Sisselogimiseks tuleb kasutajal sisestada valiidne kasutajanimi ja parool. Õnnestunud autentimise korral suunatakse kasutaja edasi ostunimekirjade vaatesse, tema kasutajasessioon salvestatakse nutiseadmesse ja andmebaasi. Ebaõnnestunud sisselgimise korral jääb kasutaja sisselogimise vaatesse, kus kuvatakse veateadet.
'''Perekonna lisamine'''
Perekonna lisamiseks peab olema kasutaja sisselogitud ning omama aktiivset sessiooni. Lisamiseks vajutab kasutaja ostunimekirjade lehel nuppu “Lisa perekond”. Kasutaja peab sisestama lahtrisse  lisatavale perekonnale nime, nimi ei saa olla tühi. Perekond lisatakse antud aktiivse kasutaja alla. Autenditud kasutaja on automaatselt antud perekonna administraator.
'''Perekonda kasutaja lisamine'''
Perekonda kasutaja lisamiseks peab olema kasutaja sisselogitud ning omama antud perekonnas administraatori rolli. Kasutaja lisamiseks peab administraator sisestama kasutajanime, mida soovitakse lisada. Õnnestunud otsingu tulemuse korral lisatakse antud kasutaja perekonnaliikmena antud perekonda. Ebaõnnestunud otsingu tulemuse korral kuvatakse kasutajale veateadet.
'''Perekonnast kasutaja kustutamine'''
Perekonnast kasutaja kustutamiseks peab kasutaja olema sisselogitud nind omama antud perekonnas administraatori rolli. Kasutaja eemaldamiseks peab administraator vajutama perekonnaliikmete kuvamiseks mõeldud nupule ning antud nimekirjas kasutaja kustutama. Õnnestunud kustutamise korral kaob antud kasutaja nimekirjast.
'''Ostukorvi lisamine perekonda'''
Ostukorvi lisamiseks perekonda peab kasutaja olema sisselogitud ning omama antud perekonnas vähemalt perekonnaliikme rolli. Ostukorvi lisamiseks vajutab kasutaja nupule “Lisa ostukorv”, lisama ostukorvile nime ning salvestama. Õnnestunud lisamise korral kuvatakse antud ostukorv nimekirjas. Ebaõnnestunud lisamise korral kuvatakse veateadet.
'''Ostukorvi kustutamine perekonnast'''
Ostukorvi kustutamiseks perekonnast peab kasutaja olema sisselogitud ning omama antud perekonnas vähemalt perekonnaliikme rolli. Ostukorvi kustutamiseks vajutab kasutaja nuppu “Eemalda ostukorv”. Õnnestunud eemaldamise korral eemaldatakse antud ostukorv nimekirjas. Ebaõnnestunud kustutamise korral kuvatakse veateadet
'''Toote lisamine ostunimekirja'''
Toote lisamiseks ostunimekirja peab kasutaja oma sisselogitud ning omama antud perekonans vähemalt perekonnaliikme rolli. Toote lisamiseks vajutab kasutaja ostunimekirja detailvaates nuppu “Lisa toode” ning sisestama toote nime ja koguse. Õnnestunud lisamise korral lisatakse antud toode nimekirja. Ebaõnnestunud toote lisamise korral kuvatakse veateadet.
'''Toote märkimine ostetuks'''
Toote märkimiseks ostetuks peab kasutaja olema sisselogitud ning omama antud perekonnas vähemalt perekonnaliikme rolli. Ostetuks märkimiseks ostunimekirjas peab kasutaja vajutama ostunimekirja detailvaates antud toote peale. Selle peale muudetakse baasis ära väärtus ning kuvatakse toodet listis mitteaktiivsena.
'''Toote märkimine staatusesse ostmata'''
Toote märkimiseks staatusesse ostmata peab kasutaja olema sisselogitud ning omama antud perekonnas vähemalt perekonnaliikme rolli. Ostmata olekusse muutmiseks peab kasutaja vajutama pikalt detailvaates antud toote peal.
'''Toote kustutamine ostukorvist'''
Toote kustutamiseks ostukorvist peab kasutaja olema sisselogitud ning omama antud perekonnas vähemalt perekonnaliikme rolli. Toote kustutamiseks vajutab kasutaja toote peal vähemalt 2 sekundit, seejärel peab kasutaja valima mida teha soovib (kustutada või staatust muuta). Kustutamise korral kuvatakse kasutajale teadet: “Kas olete kindel, et soovite antud toodet kustutada?”.
'''Logimine'''
Logimine toimub vaikselt ning ilma klienti teavitamata. Logitakse kõiki eelnevalt mainitud protsesse. See tähendab, baasis peab olema jälg nii lisamistest kui kustutamisest. Samuti peavad olema logid ebaõnnestunud sisselogimiste ja registreerimiste kohta. Logid peavad sisaldama nii kasutajat, kes antud protsessi teostab, kellaaega millal protsessi teostati ning protsessi nimetust.
=== 6.Komponendid ===
'''Google App Engine'''
Google App Engine kasutades ehitatakse rakendustele REST API. Tänu sellele on võimalik hoida kõiki erinevaid tooteid sünkroonis. See komponent vastutab tulevikus nii androidi, windows phone´I, iOS´I ning veebirakenduste sünkroonis olemise eest.
'''Windows Phone rakendus'''
Antud analüüs on suunatud windows phone rakenduse arendamiseks.


== Projekti kirjeldus ==
== Projekti kirjeldus ==

Revision as of 23:27, 30 October 2015

Meeskonna liikmed

  • Marko Konsa

Idee

Kogu pere ostukorv, millega on võimalik oma pere ostunimekiri kirja panna.

Analüüs

1.Sissejuhatus

Projekti Ostukorv eesmärk on luua kogu perele ühine ostukorv. Kasutajal on võimalik registreerida ning luua endale ja perekonnale ostunimekirjad, mis on alati uuendatud ja sünkroonis tänu ühtsele API’le.


2.Protsessid

1. Registreerimine kasutajaks. 2. Kasutaja autentimine. 3. Perekonna lisamine. 4. Perekonda kasutaja lisamine. 5. Perekonnast kasutaja kustutamine. 6. Ostukorvi lisamine perekonda. 7. Ostukorvi kustutamine perekonnast. 8. Toote lisamine ostunimekirja. 9. Toote märkimine ostetuks. 10. Toote märkimine staatusesse ostmata 11. Toote kustutamine ostukorvist. 12. Logimine.

Nice-to-have protsessid

1. Push notificationid 2. Pere retseptid 3. Retseptide lisamine ostukorvi


3. Kasutajaliides

Autentimise vaade

Autentimise lehel on kasutajanime ja parooli lahter ning nupud “Registreeri” ja “Sisene”.

Ostunimekirjade vaade

Ostunimekirjade leheks on “pivot control” stiilis lehekülg. Pealkirjaks on perekonnale määratud nimi ning elementideks on ostunimekirjade nimed. Kasutajal on võimalik lihtsate “swipe” liigutustega navigeerida erinevate perekondade vahel. Lehe alumises otsas on “Perekonnaliikmed” nupp, mida vajutade suunatakse kasutaja edasi perekonnaliimete vaatesse.

Ostunimekirja detailvaade

Ostunimekirja detailvaates on nimekiri toodetest koos “checkbox” väljadega, mis on lisatud antud ostunimekirja alla .

Perekonnaliikmete vaade

Perekonnaliikmete vaade on “listview”, mille alumises otsas on nupp “Lisa perekonnaliige”. Elementi pikalt vajutades on võimalik kasutajat perekonnast kustutada.


4. Rollid ja õigused

Administraator

Administraator on kasutaja, kes lisas perekonna. Kasutaja roll kehtib vaid selle antud perekonna raames. Administraatoril on ainuõigus lisada perekonda uusi kasutajaid ja neid kustutada.

Perekonnaliige

Perekonnaliige on kasutaja, kes on lisatud administraatori poolt perekonda. Perekonnaliige saab lisatada ning eemaldada ostunimekirjasid ja tooteid ostunimekirjas.

Tavakasutaja

Tavakasutaja on kasutaja, kes pole lisatud administraatori poolt perekonda. Tavakasutajal ei tohi olla võimalik lisada, uuendada, eemaldada ega näha ühtegi asja antud perekonna sees.


5.Protsessikirjeldused

Registreerimine kasutajaks

Ostukorvi kasutajaks registreerimiseks tuleb kasutajal avada nutiseadmes Ostukorv mobiilirakendus. Kasutaja suunatakse sisselogimise lehele, kus on võimalik nii sisselogida, kui ka registreerida kasutajaks. Registreerimiseks peab kasutaja sisestama kasutajanime ja parooli ning vajutama registeerimiseks mõeldud nuppu. Õnnestunud registreerimise korral suunatakse kasutaja edasi ostunimekirjade vaatesse, tema kasutajasessioon salvestatakse nutiseadmesse ja andmebaasi. Ebaõnnestunud registreerimise korral jääb kasutaja sisselogimise vaatesse, kus kuvatakse veateadet.

Kasutaja autentimine

Ostukorvi kasutajana sisse logimiseks tuleb kasutajal avada nutiseadmes Ostukorvi mobiilirakendus. Kasutaja suunatakse sisselogimise lehele. Sisselogimiseks tuleb kasutajal sisestada valiidne kasutajanimi ja parool. Õnnestunud autentimise korral suunatakse kasutaja edasi ostunimekirjade vaatesse, tema kasutajasessioon salvestatakse nutiseadmesse ja andmebaasi. Ebaõnnestunud sisselgimise korral jääb kasutaja sisselogimise vaatesse, kus kuvatakse veateadet.

Perekonna lisamine

Perekonna lisamiseks peab olema kasutaja sisselogitud ning omama aktiivset sessiooni. Lisamiseks vajutab kasutaja ostunimekirjade lehel nuppu “Lisa perekond”. Kasutaja peab sisestama lahtrisse lisatavale perekonnale nime, nimi ei saa olla tühi. Perekond lisatakse antud aktiivse kasutaja alla. Autenditud kasutaja on automaatselt antud perekonna administraator.

Perekonda kasutaja lisamine

Perekonda kasutaja lisamiseks peab olema kasutaja sisselogitud ning omama antud perekonnas administraatori rolli. Kasutaja lisamiseks peab administraator sisestama kasutajanime, mida soovitakse lisada. Õnnestunud otsingu tulemuse korral lisatakse antud kasutaja perekonnaliikmena antud perekonda. Ebaõnnestunud otsingu tulemuse korral kuvatakse kasutajale veateadet.

Perekonnast kasutaja kustutamine

Perekonnast kasutaja kustutamiseks peab kasutaja olema sisselogitud nind omama antud perekonnas administraatori rolli. Kasutaja eemaldamiseks peab administraator vajutama perekonnaliikmete kuvamiseks mõeldud nupule ning antud nimekirjas kasutaja kustutama. Õnnestunud kustutamise korral kaob antud kasutaja nimekirjast.

Ostukorvi lisamine perekonda

Ostukorvi lisamiseks perekonda peab kasutaja olema sisselogitud ning omama antud perekonnas vähemalt perekonnaliikme rolli. Ostukorvi lisamiseks vajutab kasutaja nupule “Lisa ostukorv”, lisama ostukorvile nime ning salvestama. Õnnestunud lisamise korral kuvatakse antud ostukorv nimekirjas. Ebaõnnestunud lisamise korral kuvatakse veateadet.

Ostukorvi kustutamine perekonnast

Ostukorvi kustutamiseks perekonnast peab kasutaja olema sisselogitud ning omama antud perekonnas vähemalt perekonnaliikme rolli. Ostukorvi kustutamiseks vajutab kasutaja nuppu “Eemalda ostukorv”. Õnnestunud eemaldamise korral eemaldatakse antud ostukorv nimekirjas. Ebaõnnestunud kustutamise korral kuvatakse veateadet

Toote lisamine ostunimekirja

Toote lisamiseks ostunimekirja peab kasutaja oma sisselogitud ning omama antud perekonans vähemalt perekonnaliikme rolli. Toote lisamiseks vajutab kasutaja ostunimekirja detailvaates nuppu “Lisa toode” ning sisestama toote nime ja koguse. Õnnestunud lisamise korral lisatakse antud toode nimekirja. Ebaõnnestunud toote lisamise korral kuvatakse veateadet.

Toote märkimine ostetuks

Toote märkimiseks ostetuks peab kasutaja olema sisselogitud ning omama antud perekonnas vähemalt perekonnaliikme rolli. Ostetuks märkimiseks ostunimekirjas peab kasutaja vajutama ostunimekirja detailvaates antud toote peale. Selle peale muudetakse baasis ära väärtus ning kuvatakse toodet listis mitteaktiivsena.

Toote märkimine staatusesse ostmata

Toote märkimiseks staatusesse ostmata peab kasutaja olema sisselogitud ning omama antud perekonnas vähemalt perekonnaliikme rolli. Ostmata olekusse muutmiseks peab kasutaja vajutama pikalt detailvaates antud toote peal.

Toote kustutamine ostukorvist

Toote kustutamiseks ostukorvist peab kasutaja olema sisselogitud ning omama antud perekonnas vähemalt perekonnaliikme rolli. Toote kustutamiseks vajutab kasutaja toote peal vähemalt 2 sekundit, seejärel peab kasutaja valima mida teha soovib (kustutada või staatust muuta). Kustutamise korral kuvatakse kasutajale teadet: “Kas olete kindel, et soovite antud toodet kustutada?”.

Logimine

Logimine toimub vaikselt ning ilma klienti teavitamata. Logitakse kõiki eelnevalt mainitud protsesse. See tähendab, baasis peab olema jälg nii lisamistest kui kustutamisest. Samuti peavad olema logid ebaõnnestunud sisselogimiste ja registreerimiste kohta. Logid peavad sisaldama nii kasutajat, kes antud protsessi teostab, kellaaega millal protsessi teostati ning protsessi nimetust.


6.Komponendid

Google App Engine

Google App Engine kasutades ehitatakse rakendustele REST API. Tänu sellele on võimalik hoida kõiki erinevaid tooteid sünkroonis. See komponent vastutab tulevikus nii androidi, windows phone´I, iOS´I ning veebirakenduste sünkroonis olemise eest.

Windows Phone rakendus

Antud analüüs on suunatud windows phone rakenduse arendamiseks.

Projekti kirjeldus

Tehnoloogiad

Arendusmustrid

Versioonikontroll

Koodi stiilireeglid

Litsents

Avaldatud failid

Arendusprotsess

Lisad