Meeskond:DamageReport: Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 17: Line 17:
==Projekti analüüs==
==Projekti analüüs==


Projekti kirjeldus
===Probleemi püstitus ja töö eesmärgid===


DamageReport saab olema veebipõhine rakendus reisikulude kohta arvestuse pidamiseks ning nende lõplikuks jagamiseks reisiseltskonna liikmete vahel. Reisi jaoks luuakse kasutajate grupp. Rakendus peaks lubama sisestada põhiinfo reisi kohta: toimumise aeg, sihtkoht, transiitriigid, võimalik kulude valuuta. Igal kasutajal on võimalik lisada rakendusse enda poolt grupi huvides kantud kuluühikuid, märkides ära summa, kulu lühikirjelduse (restoran, takso, laevapiletid vm) ja milliste grupi liikmete vahel läheb kulu jagamisele (default kõigi). Kuluühiku sisestamise kuupäev on tuvastatav. Kuluühiku juurde on võimalik lisada foto kuludokumendist, näiteks mobiiliga pildistatud restoranitsekk vms. Rakendus liidab jooksvalt kulud kokku ning arvestab välja sisestatud summade jaotuse grupi liikmete vahel. Iga grupi liige näeb enda ja teiste n.ö jooksvat saldot.  
====Probleem====
Reisides seltskonnaga, kellega ei ole ühine rahaott, tuleb ette olukordi, kus on mõistlik tasuda arveid ühel inimesel ning hiljem jagada summa omavahel ära. Tihti tuleb selliseid olukordi reisi jooksul rohkesti ette ning reisi lõppedes võib olla raske ja kindlasti tüütu hakata uuesti meenutama, kes kellele ja palju võlgu on.
====Projekti ülevaade====
DamageReport on veebipõhine rakendus reisikulude arvestuse pidamiseks ning lõplikuks jagamiseks reisiseltskonna liikmete vahel. Reisi jaoks luuakse kasutajate grupp. Rakendus võimaldab sisestada põhiinfo reisi kohta: toimumise aeg, sihtkoht, transiitriigid, võimalik kulude valuuta. Igal kasutajal on võimalik lisada rakendusse enda poolt grupi huvides kantud kuluühikuid, märkides ära summa, kulu lühikirjelduse (restoran, takso, laevapiletid vm) ja milliste grupi liikmete vahel läheb kulu jagamisele (default kõigi). Kuluühiku sisestamise kuupäev on tuvastatav. Kuluühiku juurde on võimalik lisada foto kuludokumendist, näiteks mobiiliga pildistatud restoranitsekk vms. Rakendus liidab jooksvalt kulud kokku ning arvestab välja sisestatud summade jaotuse grupi liikmete vahel. Iga grupi liige näeb enda ja teiste n.ö jooksvat saldot.  


Tegemist on tavakasutajale praktilist väärtust omava rakendusega. Loome selle veebilahendusena, mis tähendab, et eeldame reisiseltskonnal veebiühenduse olemasolu. See võib esialgu kasutust piirata, aga meil on hiljem võimalik sellele mobiilirakendus juurde lisada. Probleemseks võib osutuda erinevate valuutade ümberarvestamiseks optimaalse lahenduse leidmine. Selle osas mõtleme veel lahendust.
===Kasutajarollid===
Rakenduse kasutamiseks peab isik end registreerimisvormi alusel süsteemi kasutajaks registreerima.  
Rakenduses eristatakse kolm erinevat rolli:
'''Osaleja'''
*rakendusse sisse logida ei saa
*omab administraatori poolt loodud profiili
'''Kasutaja'''
*võib rakendusse sisse logida
*võib muuta oma profiili andmeid
*võib luua ja salvestada uusi kulukandeid
*näeb ülevaadet reisikulude hetkeseisu kohta
*saab kustutada ja muuta enda sisestatud kuluridu
'''Administraator'''
*võib teha kõike, mida saab teha kasutaja
*võib lisada / muuta / kustutada valuutakursse
*võib genereerida kasutajale uue salasõna


===Kulude jagamise algoritm===
===Kulude jagamise algoritm===
Line 27: Line 46:


===Kasutatavad andmebaaside tabelid:===
===Kasutatavad andmebaaside tabelid:===
Kasutajad - rakenduse kasutajad. Igal kasutajal on ka ligipääs süsteemile
*Kasutajad - administraatori, kasutajate ja osalejate andmed
Kulutüübid - võimalik on valida isiklik kulu või grupi huvides tehtud kulu
*Kululiigid - mis liiki kulu on: transport, majutus, söök, meelelahutus jne
Kululiigid - mis liiki kulu on: transport, majutus, söök, meelelahutus jne
*Kulukanded - kasutajate poolt lisatud kulukanded
Kulukanded - kasutajate poolt lisatud kulukanded
*Logi - kes mida millal tegi
Logi - kes mida millal tegi
*Reisid - erinevad reisi-projektid
reisid - erinevad reisi-projektid
*Valuutakursid - administraatori poolt koostatav tabel erinevate valuutakursside haldamiseks
Valuutakursid -
(*Kulutüübid - võimalik on valida isiklik kulu või grupi huvides tehtud kulu)
 


===Must have funktsionaalsus===
===Must have funktsionaalsus===


'''Uue reisi sisestamine'''
'''Uue reisi sisestamine'''
Kasutaja peab saama algatada uut reisi-projekti.
Administraator peab saama algatada uut reisi-projekti.
Reisiprojekti loomisel peab saama määrata:
Reisiprojekti loomisel peab saama määrata:
- reisi algus ja lõpp
- reisi algus ja lõpp
- reisil osalejad
- reisil osalejad
- reisi sihtkoht
- reisi sihtkoht
- käibiv valuuta
- käibiv valuuta(d)
- reisi-projekti omanik
- teiste kasutajate õigused
- teiste kasutajate õigused


'''Kasutajahaldus'''
'''Kasutajahaldus'''
Reisi-projekti omanikul peab olema võimalus sisestada uusi kasutajaid või reisil osalejaid. Süsteemi kasutaja pääseb keskkonda ligi ning ta saab seal tegutseda. Reisil osaleja registreeritakse süsteemi kulukandjaks, ligipääsu tal ei ole.
*Administraatoril peab olema võimalus sisestada uusi kasutajaid või reisil osalejaid.
Uue kasutaja lisamisel saab sisestada järgmised andmed:
Uue kasutaja lisamisel saab sisestada järgmised andmed:
- email (kasutaja
** email (kasutaja nimi)
- nimi)
** eesnimi
- eesnimi
** perenimi
- perenimi
** parool
- parool
** isikukood
- isikukood
** pangakonto
- pangakonto
** passi / ID kaardi number
- passi / ID kaardi number
** roll
- roll
Kohustuslikud väljad on email, eesnimi, parool, roll.


'''Kulukannete sisestus'''
'''Kulukannete sisestus'''
Kasutajal peab olema võimlus sisestada kulukandeid ning sinna juurde märkida:
*Kasutajal peab olema võimalus sisestada kulukandeid ning sinna juurde märkida:
- mitme peale kulukanne jaguneb
** milliste inimeste vahel kulukanne jagamisele läheb (kas kõigi või valitud nimede)
- milliste inimeste vahel kulukanne jagamisele läheb (kas kõigi või valitud nimede)
** kulu hetk
- kulu hetk
** kulu kirjeldus
- kulu kirjeldus
** kulu suurus
- kulu suurus
** kulu valuuta
- kulu valuuta
** kulu liik (meelelahutus, transport, söömine, öömaja, ...)
- kulu tüüp (ühiskulu, erakulu, laen, ...)
** kes kulu maksis (üks või mitu inimest)
- kulu liik (meelelahutus, transport, söömine, öömaja, ...)
** palju maksis  
- kes kulu maksis (üks või mitu inimest)
** kulu valuuta
- palju maksis  
** (kulu tüüp (ühiskulu, erakulu, laen, ...))
- mis valuutas
 


'''Reisiülevaade'''
'''Reisiülevaade'''
Kasutajal peab olema võimalus igal hetkel näha ülevaadet reisikulude hetkeseisu kohta. Ülevaates peab kajastuma kõikide reisil osalejate kulude hetkeseis (kes on omadega plussis, kes on miinuses).
*Kasutajal peab olema võimalus igal hetkel näha ülevaadet reisikulude hetkeseisu kohta. Ülevaates peab kajastuma kõikide reisil osalejate kulude hetkeseis (kes on omadega plussis, kes on miinuses).


'''Logi'''
'''Logi'''
Süsteem peab pidama logi, kes millal, mida tegi.
*Süsteem peab pidama logi, kes millal, mida tegi.
 


===Nice to have===
===Nice to have===


'''Kuludokumendi üleslaadimine'''
'''Kuludokumendi üleslaadimine'''
Kasutajal võiks olla võimalus kuludokument ka üles laadida, kas pildi, pdf või muu faili näol.
*Kasutajal võiks olla võimalus kuludokument ka üles laadida, kas pildi, pdf või muu faili näol.


'''Off-line kasutusvõimalus'''
'''Off-line kasutusvõimalus'''
Veebijuurdepääsu puudumisel saab iga kasutaja oma kulusid ikka sisestada ja esimesel veebikontaktil arvestatakse vahepeal sisestatud kulud juurde.
*Veebijuurdepääsu puudumisel saab iga kasutaja oma kulusid ikka sisestada ja esimesel veebikontaktil arvestatakse vahepeal sisestatud kulud juurde.


===Tööjaotus===
===Tööjaotus===
*Tiina - front end
*Lea - andmebaas
*Ülari - back end


===Ohukohad===
===Ohukohad===
Loome selle veebilahendusena, mis tähendab, et eeldame reisiseltskonnal veebiühenduse olemasolu. See võib esialgu kasutust piirata.
Probleemseks võib osutuda erinevate valuutade ümberarvestamiseks optimaalse lahenduse leidmine.

Revision as of 22:53, 30 October 2014

Meeskond

Liikmed:

  • Tiina Pukk
  • Lea Tuberik (projektijuht)
  • Ülari Kalamees

Idee

DamageReport on WPF rakendus reisikulude jagamiseks.

Rakendus on mõeldud seltskonnale reisikaaslastele reisiga seotud kulude haldamiseks ja omavahel õiglaselt jagamiseks. Rakendus võimaldab sisestada erinevaid kulutüüpe (poes käigud, restorani arved jmt) ning mis kõige tähtsam, inimese, kes arve tasus. Süsteem jagab automaatselt arve kaaslaste vahel ning reisi lõpuks on täpne ülevaade, palju on reisi jooksul kokku kulutusi ning kes on need kinni maksnud.


Projekti analüüs

Probleemi püstitus ja töö eesmärgid

Probleem

Reisides seltskonnaga, kellega ei ole ühine rahaott, tuleb ette olukordi, kus on mõistlik tasuda arveid ühel inimesel ning hiljem jagada summa omavahel ära. Tihti tuleb selliseid olukordi reisi jooksul rohkesti ette ning reisi lõppedes võib olla raske ja kindlasti tüütu hakata uuesti meenutama, kes kellele ja palju võlgu on.

Projekti ülevaade

DamageReport on veebipõhine rakendus reisikulude arvestuse pidamiseks ning lõplikuks jagamiseks reisiseltskonna liikmete vahel. Reisi jaoks luuakse kasutajate grupp. Rakendus võimaldab sisestada põhiinfo reisi kohta: toimumise aeg, sihtkoht, transiitriigid, võimalik kulude valuuta. Igal kasutajal on võimalik lisada rakendusse enda poolt grupi huvides kantud kuluühikuid, märkides ära summa, kulu lühikirjelduse (restoran, takso, laevapiletid vm) ja milliste grupi liikmete vahel läheb kulu jagamisele (default kõigi). Kuluühiku sisestamise kuupäev on tuvastatav. Kuluühiku juurde on võimalik lisada foto kuludokumendist, näiteks mobiiliga pildistatud restoranitsekk vms. Rakendus liidab jooksvalt kulud kokku ning arvestab välja sisestatud summade jaotuse grupi liikmete vahel. Iga grupi liige näeb enda ja teiste n.ö jooksvat saldot.

Kasutajarollid

Rakenduse kasutamiseks peab isik end registreerimisvormi alusel süsteemi kasutajaks registreerima. Rakenduses eristatakse kolm erinevat rolli: Osaleja

  • rakendusse sisse logida ei saa
  • omab administraatori poolt loodud profiili

Kasutaja

  • võib rakendusse sisse logida
  • võib muuta oma profiili andmeid
  • võib luua ja salvestada uusi kulukandeid
  • näeb ülevaadet reisikulude hetkeseisu kohta
  • saab kustutada ja muuta enda sisestatud kuluridu

Administraator

  • võib teha kõike, mida saab teha kasutaja
  • võib lisada / muuta / kustutada valuutakursse
  • võib genereerida kasutajale uue salasõna

Kulude jagamise algoritm

Personaalne kulu = Jagatav kulu / osalejate arv

Kasutatavad andmebaaside tabelid:

  • Kasutajad - administraatori, kasutajate ja osalejate andmed
  • Kululiigid - mis liiki kulu on: transport, majutus, söök, meelelahutus jne
  • Kulukanded - kasutajate poolt lisatud kulukanded
  • Logi - kes mida millal tegi
  • Reisid - erinevad reisi-projektid
  • Valuutakursid - administraatori poolt koostatav tabel erinevate valuutakursside haldamiseks

(*Kulutüübid - võimalik on valida isiklik kulu või grupi huvides tehtud kulu)

Must have funktsionaalsus

Uue reisi sisestamine Administraator peab saama algatada uut reisi-projekti. Reisiprojekti loomisel peab saama määrata: - reisi algus ja lõpp - reisil osalejad - reisi sihtkoht - käibiv valuuta(d) - teiste kasutajate õigused

Kasutajahaldus

  • Administraatoril peab olema võimalus sisestada uusi kasutajaid või reisil osalejaid.

Uue kasutaja lisamisel saab sisestada järgmised andmed:

    • email (kasutaja nimi)
    • eesnimi
    • perenimi
    • parool
    • isikukood
    • pangakonto
    • passi / ID kaardi number
    • roll

Kohustuslikud väljad on email, eesnimi, parool, roll.

Kulukannete sisestus

  • Kasutajal peab olema võimalus sisestada kulukandeid ning sinna juurde märkida:
    • milliste inimeste vahel kulukanne jagamisele läheb (kas kõigi või valitud nimede)
    • kulu hetk
    • kulu kirjeldus
    • kulu suurus
    • kulu valuuta
    • kulu liik (meelelahutus, transport, söömine, öömaja, ...)
    • kes kulu maksis (üks või mitu inimest)
    • palju maksis
    • kulu valuuta
    • (kulu tüüp (ühiskulu, erakulu, laen, ...))

Reisiülevaade

  • Kasutajal peab olema võimalus igal hetkel näha ülevaadet reisikulude hetkeseisu kohta. Ülevaates peab kajastuma kõikide reisil osalejate kulude hetkeseis (kes on omadega plussis, kes on miinuses).

Logi

  • Süsteem peab pidama logi, kes millal, mida tegi.

Nice to have

Kuludokumendi üleslaadimine

  • Kasutajal võiks olla võimalus kuludokument ka üles laadida, kas pildi, pdf või muu faili näol.

Off-line kasutusvõimalus

  • Veebijuurdepääsu puudumisel saab iga kasutaja oma kulusid ikka sisestada ja esimesel veebikontaktil arvestatakse vahepeal sisestatud kulud juurde.

Tööjaotus

  • Tiina - front end
  • Lea - andmebaas
  • Ülari - back end

Ohukohad

Loome selle veebilahendusena, mis tähendab, et eeldame reisiseltskonnal veebiühenduse olemasolu. See võib esialgu kasutust piirata. Probleemseks võib osutuda erinevate valuutade ümberarvestamiseks optimaalse lahenduse leidmine.