PlantWise: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Gvesterb (talk | contribs)
Anisepp (talk | contribs)
No edit summary
Line 90: Line 90:
Kasutuslugu lõppeb.
Kasutuslugu lõppeb.


====Kasutuslugu 4 - uue taime lisamine raamatukokku ====
====Kasutuslugu 4 - uue grupi lisamine====
''Registreeritud kasutajana soovin lisada uusi taimi raamatukokku, et saaksin hiljem konkreetse taime lisamisel kasutada raamatukogus leiduvat informatsiooni.''
''Registreeritud kasutajana soovin lisada uue grupi - näiteks "Taimed töö juures", et hiljem sellesse gruppi taimi lisada.''
*Kasutaja logib rakendusse sisse.
*Kasutaja logib rakendusse sisse.
**Kui kasutajal ei ole varasemalt taimi lisatud, siis avaneb '''4. vaade''' tekstiga, et kasutajal ei ole veel ühtegi taime, juhised, kuidas edasi toimida ning nupp "Add new".
**Kui kasutajal ei ole varasemalt taimi lisatud, siis avaneb '''4. vaade''' tekstiga, et kasutajal ei ole veel ühtegi taime, juhised, kuidas edasi toimida ning nupp "Add new".
*Kasutaja vajutab ☰ nupule.
*Kasutaja vajutab ☰ nupule.
**Avaneb viis valikut "My plants", "My groups", "Library", "Info" ja "Log out".
**Avaneb neli valikut "My plants", "My groups", "Info" ja "Log out".
*Kasutaja vajutab "Library" nupule.
*Kasutaja vajutab "My groups" nupule.
**Kui kasutaja taimede raamatukogu on tühi, siis avaneb '''5. vaade''', kus on tekst, et kasutaja raamatukogu on tühi ning nupp "Add new".
**Kui kasutajal pole ühtegi gruppi salvestatud, siis avaneb '''5. vaade''', kus on tekst, et kasutajal pole veel ühtegi gruppi ning nupp "Add new".
*Kasutaja vajutab nupule "Add new".
*Kasutaja vajutab nupule "Add new".
**Avaneb '''6. vaade''' taime lisamise vormiga, kus on neli välja "Plant name", "Plant description", "Watering interval", "Fertilize interval" ning nupud "Save" ja "Cancel".  
**Avaneb '''6. vaade''' grupi lisamise vormiga, kus on kolm välja "Group name", "Location", "Description" ning nupud "Save" ja "Cancel".  
*Kasutaja täidab korrektselt kõik väljad ning vajutab "Save" nuppu.
*Kasutaja täidab korrektselt kõik väljad ning vajutab "Save" nuppu.
Kasutuslugu lõppeb.
Kasutuslugu lõppeb.


====Kasutuslugu 5 - raamatukogus oleva taime andmete muutmine/täiendamine ====
====Kasutuslugu 5 - grupi andmete muutmine/täiendamine ====
''Registreeritud kasutajana soovin muuta raamatukogus oleva taime andmeid, et raamatukogu sisaldaks täpset ja õiget informatsiooni.''
''Registreeritud kasutajana soovin muuta eelnevalt salvestatyd grupi andmeid, et grupp sisaldaks täpset ja õiget informatsiooni.''
*Kasutaja logib rakendusse sisse ja vajutab menüüs "Library" nupule.
*Kasutaja logib rakendusse sisse ja vajutab menüüs "My groups" nupule.
**Kuna kasutajal on juba taimi raamatukokku lisatud, siis avaneb '''5. vaade''' taimede loeteluga: taime nimi ja sellest paremal kaks valikut "Edit" ning "Delete". Vaate ülemises osas on nupp "Add new".
**Kuna kasutajal on juba eelnevalt grupp salvestatud, siis avaneb '''5. vaade''' gruppide loeteluga: grupi nimi ja sellest paremal kaks valikut "Edit" ning "Delete". Vaate ülemises osas on nupp "Add new".
*Kasutaja vajutab nupule "Edit".
*Kasutaja vajutab nupule "Edit".
**Avaneb 6. vaade taime lisamise vormiga, mis on täidetud varasemalt salvestatud informatsiooniga.
**Avaneb 6. vaade grupi lisamise vormiga, mis on täidetud varasemalt salvestatud informatsiooniga.
*Kasutaja teeb soovitud muudatused ning vajutab "Save" nuppu.
*Kasutaja teeb soovitud muudatused ning vajutab "Save" nuppu.
Kasutuslugu lõppeb.
Kasutuslugu lõppeb.


====Kasutuslugu 6 - raamatukogus oleva taime kustutamine ====
====Kasutuslugu 6 - grupi kustutamine ====
''Registreeritud kasutajana soovin kustutada raamatukogus oleva taime, kuna selliseid taimi mul enam ei ole ja ei plaani neid ka tulevikus soetada.''
''Registreeritud kasutajana soovin kustutada eelnevalt salvestatud gruppi, kuna ma ei soovi seda gruppi enam hallata.''
*Kasutaja logib rakendusse sisse ja vajutab menüüs "Library" nupule.
*Kasutaja logib rakendusse sisse ja vajutab menüüs "My groups" nupule.
**Avaneb 5. vaade taimede loeteluga: taime nimi ja sellest paremal kaks valikut "Edit" ning "Delete". Vaate ülemises osas on nupp "Add new".
**Avaneb 5. vaade gruppide loeteluga: grupi nimi ja sellest paremal kaks valikut "Edit" ning "Delete". Vaate ülemises osas on nupp "Add new".
*Kasutaja vajutab nupule "Delete".
*Kasutaja vajutab nupule "Delete".
**Kui kasutajal on konkreetse taime andmed kasutusel kuvatakse veateade ja "Ok" nupp. Kui taime andmed kasutusel ei ole kuvatakse kinnituse küsimine.
**Kui kasutajal on konkreetse grupiga taimed seotud, siis kuvatakse veateade ja "Ok" nupp. Kui grupi andmed kasutusel ei ole kuvatakse kinnituse küsimine.
*Kasutaja kinnitab taime kustutamise soovi.
*Kasutaja kinnitab grupi kustutamise soovi.
Kasutuslugu lõppeb.
 
====Kasutuslugu 7 - uue grupi lisamine ====
''Registreeritud kasutajana soovin lisada uue grupi - näiteks "Taimed töö juures", et hiljem sellesse gruppi taimi lisada.''
*Kasutaja logib rakendusse sisse ja vajutab menüüs "My groups" nupule.
**Kui kasutajal pole ühtegi gruppi salvestatud, siis avaneb '''7. vaade''', kus on tekst, et kasutajal pole veel ühtegi gruppi ning nupp "Add new".
*Kasutaja vajutab nupule "Add new".
**Avaneb '''8. vaade''' grupi lisamise vormiga, kus on kolm välja "Group name", "Location", "Description" ning nupud "Save" ja "Cancel".
*Kasutaja täidab korrektselt kõik väljad ning vajutab "Save" nuppu.
Kasutuslugu lõppeb.
Kasutuslugu lõppeb.


====Kasutuslugu 8 - uue taime lisamine ====
====Kasutuslugu 7 - uue taime lisamine ====
''Registreeritud kasutajana soovin lisada uut taime, et omada ülevaadet kastmise ning väetamise aegade kohta.''
''Registreeritud kasutajana soovin lisada uut taime, et omada ülevaadet kastmise ning väetamise aegade kohta.''
*Kasutaja logib rakendusse sisse ja vajutab avanenud 4. vaates "Add new" nupule.
*Kasutaja logib rakendusse sisse ja vajutab avanenud 4. vaates "Add new" nupule.
**Avaneb '''9. vaade''' taime lisamise vormiga, kus on: neli lahtrit "Plant name", "Location", "Last watered", "Last fertilized"; kaks rippmenüüga välja "Plant description", mis saab sisendi kasutaja taimede raamatukogust ja "Add to group", mis saab sisendi kasutaja loodud gruppidest; nupud "Save" ja "Cancel".  
**Avaneb '''7. vaade''' taime lisamise vormiga, kus on: neli lahtrit "Plant name", "Location", "Last watered", "Last fertilized"; kaks rippmenüüga välja "Plant description", mis saab sisendi eelnevalt salvestatud raamatukogust ja "Add to group", mis saab sisendi kasutaja loodud gruppidest; nupud "Save" ja "Cancel".  
*Kasutaja täidab korrektselt kõik väljad ja vajutab "Save".
*Kasutaja täidab korrektselt kõik väljad ja vajutab "Save".
Kasutuslugu lõppeb.
Kasutuslugu lõppeb.


====Kasutuslugu 9 - olemasolevate taimede haldamine ====
====Kasutuslugu 8 - olemasolevate taimede haldamine ====
''Registreeritud kasutajana soovin näha ülevaadet enda taimedest ja märkida taimi kastetuks, et teada saada, millal on järgmine kastmine.''
''Registreeritud kasutajana soovin näha ülevaadet enda taimedest ja märkida taimi kastetuks, et teada saada, millal on järgmine kastmine.''
*Kasutaja logib rakendusse sisse.  
*Kasutaja logib rakendusse sisse.  
**Kuna kasutajal on taim salvestatud siis on avanenud 4. vaates loetelu gruppide järgi.
**Kuna kasutajal on taim salvestatud siis on avanenud 4. vaates loetelu gruppide järgi.
*Kasutaja vajutab grupi nimele.
*Kasutaja vajutab grupi nimele.
** Avaneb '''10. vaade''' grupi kirjeldusega ja loeteluga grupis olevatest taimedest. Loetelus on ära toodud taime nimi, asukoht, järgmine kastmise ja väetamise aeg. Nimistus on ülevalpool taimed, mis vajavad kastmist või väetamist kõige enne. Taimest paremal on kaks nuppu "Water" ja "Fertilize".  
** Avaneb '''8. vaade''' grupi kirjeldusega ja loeteluga grupis olevatest taimedest. Loetelus on ära toodud taime nimi, asukoht, järgmine kastmise ja väetamise aeg ''timebar''na. Nimistus on ülevalpool taimed, mis vajavad kastmist või väetamist kõige enne. Taimest paremal on kaks nuppu "Water" ja "Fertilize".  
*Kasutaja märgib taime kastetuks, vajutades "Water" nuppu.
*Kasutaja märgib taime kastetuks, vajutades "Water" nuppu.
**Taime järgmine kastmise aeg on uuendatud vastavalt käesolevale kuupäevale ning kastmis intervallile.
**Taime järgmine kastmise aeg on uuendatud vastavalt käesolevale kuupäevale ning kastmis intervallile.
*Kasutaja vajutab taime nimele.
*Kasutaja vajutab taime nimele.
**Avaneb '''11. vaade''', kus on kogu info taime kohta: taime nimi, taimeliik, asukoht, kirjeldus, kastmis- ning väetamissagedus, järgmise kastmise ning väetamise aeg. Lisaks on neli nuppu: "Water", "Fertilize", "Edit", "Delete" ning "Back".
**Avaneb '''9. vaade''', kus on kogu info taime kohta: taime nimi, taimeliik, asukoht, kirjeldus, kastmis- ning väetamissagedus, järgmise kastmise ning väetamise aeg ''timebar''na. Lisaks on neli nuppu: "Water", "Fertilize", "Edit", "Delete" ning "Back".
Kasutuslugu lõppeb.
Kasutuslugu lõppeb.



Revision as of 23:58, 5 November 2017


Rühmatöö aines Programmeerimine C# keeles

Liikmed

  • Allar Vendla - projektijuht
  • Anita Sepp - front-end arendaja
  • Gert Vesterberg - nooremarendaja

Idee

Luua Androidi rakendus, mis võimaldab hallata erinevaid taimi nii koduses kui ka töökeskkonnas: salvestada taimede kirjeldusi, väetamis- ja kastmissagedusi, märkida taim kastetuks ning (nice-to-have funktsionaalsusena) saada meeldetuletus järgmise kastmisaja saabumise kohta.

Tehnoloogiad

Rakenduse näol on tegemist pilvepõhise teenusega, kus kasutajakontod ning nendega seonduv info on salvestatud serverisse ning mobiilirakendus saab ning salvestab infot üle REST API.

  • C# / ASP.NET
  • SQL andmebaas (HSQL/PostgreSQL)
  • Xamarin
  • Git

Analüüs

Must have

  • Kasutajaks registreerumine.
  • Eelnevalt ette salvestatud taimedega andmebaas ehk taimede raamatukogu.
  • Erinevate taimegruppide lisamine, nt. taimed tööl, kodus, maal.
  • Taimegruppide muutmine, kusutamine.
  • Konkreetsete taimede lisamine.
  • Konkreetsete taimede muutmine, kustutamine.
  • Ülevaade taimedest.
  • Väetamise ja kastmise kuupäeva uuendamine.

Nice to have

  • Taime kastmise ja väetamise ajaloo kuvamine.
  • Foto lisamine konkreetse taime ning grupi juurde.
  • Kasutajal endal võimalus taimede raamatukogu hallata. Taimi lisada, muuta, eemaldada.
  • Meeldetuletused kastmis- või väetamisaja saabumise kohta.
  • Teise kasutaja lisamine enda loodud taimegruppi kasutajaks. Näiteks saaksid elukaaslased koos hallata kodus olevaid taimi või kolleegid tööl olevaid taimi.

Edasiarenduse võimalused

  • Rakenduse ühendamine niiskusanduritega.
  • Ühendumine Facebooki kaudu.
  • Kogu andmebaas viia üle blockchaini.
  • Tulevikus võiks rakendus kasutada big datat ja machine learningut, et tuvastada taime kastmise vajadust.

Mis võib osutuda problemaatiliseks?

  • Kuna puudub varasem mobiilirakenduste loomise kogemus, siis võib osutuda suureks väljakutseks intuitiivse ning selge UI loomine.
  • Kuna pole varem nimetatud tehnoloogiaid kasutanud võib ka aeg saada murekohaks, sest ka väikse asja tööle saamine võib võtta plaanitust kauem aega.

Andmebaasitabelid

  1. Users
  2. Plants - plant library
  3. UserPlantsGroups
  4. UserPlants
  5. PlantWateringHistory
  6. Fertilizers
  7. FertilizingHistory

Kasutuslugu 1 - rakenduse tutvustuse lugemine

Uue kasutajana soovin lugeda PlantWise rakenduse kohta, et saaksin paremini aru, millega on tegu.

  • Kasutaja avab rakenduse.
    • Avanenud 1. vaates on kaks lahtrit "Username", "Password" ja "Login" nupp. Lehe ülemises osas on menüüriba (iga vaate osa), mis koosneb PlantWise logost vasakul ning ☰ (menüü) nupust paremal.
  • Kasutaja vajutab ☰ nupule.
    • Avaneb kaks valikut "Info" ja "Register".
  • Kasutaja vajutab "Info" nupule.
    • Avanenud 2. vaates on rakendust tutvustav tekst ning menüüriba.

Kasutuslugu lõppeb.

Kasutuslugu 2 - kasutajaks registreerumine

Uue kasutajana soovin registreeruda PlantWise kasutajaks, et saaksin paremini hallata enda taimi.

  • Kasutaja avab rakenduse.
  • Kasutaja vajutab ☰ nupule ja valib "Register".
    • Avanenud 3. vaates on kolm lahtrit "Username", "Password", "Retype password" ja "Register" nupp.
  • Kasutaja sisestab kasutajanime, mis on juba kasutusel.
    • Kuvatakse veateade, et kasutajanimi on juba kasutusel.
  • Kasutaja sisestab erinevad paroolid.
    • Kuvatakse veateade, et paroolid ei kattu.
  • Kasutaja pole kõiki välju täitnud ning vajutab "Register" nupule.
    • Kuvatakse veateade täitmata väljade kohta.
  • Kasutaja sisestab korrektselt kõik väljad ja vajutab "Register" nupule.
    • Kasutaja on registreeritud ning ühtlasi ka kohe sisse logitud.

Kasutuslugu lõppeb.

Kasutuslugu 3 - sisselogimine

Registreeritud kasutajana soovin siseneda PlantWise rakendusse, et saaksin hakata enda taimi haldama.

  • Kasutaja avab rakenduse.
  • Kasutaja sisestab "Username" lahtrisse enda kasutajanime ning "Password" lahtrisse vale parooli.
    • Kuvatakse veateade, et parool on vale.
  • Kasutaja täidab korrektselt "Username" ja "Password" lahtrid ning vajutab "Login" nupule.
    • Kasutaja on sisse logitud.

Kasutuslugu lõppeb.

Kasutuslugu 4 - uue grupi lisamine

Registreeritud kasutajana soovin lisada uue grupi - näiteks "Taimed töö juures", et hiljem sellesse gruppi taimi lisada.

  • Kasutaja logib rakendusse sisse.
    • Kui kasutajal ei ole varasemalt taimi lisatud, siis avaneb 4. vaade tekstiga, et kasutajal ei ole veel ühtegi taime, juhised, kuidas edasi toimida ning nupp "Add new".
  • Kasutaja vajutab ☰ nupule.
    • Avaneb neli valikut "My plants", "My groups", "Info" ja "Log out".
  • Kasutaja vajutab "My groups" nupule.
    • Kui kasutajal pole ühtegi gruppi salvestatud, siis avaneb 5. vaade, kus on tekst, et kasutajal pole veel ühtegi gruppi ning nupp "Add new".
  • Kasutaja vajutab nupule "Add new".
    • Avaneb 6. vaade grupi lisamise vormiga, kus on kolm välja "Group name", "Location", "Description" ning nupud "Save" ja "Cancel".
  • Kasutaja täidab korrektselt kõik väljad ning vajutab "Save" nuppu.

Kasutuslugu lõppeb.

Kasutuslugu 5 - grupi andmete muutmine/täiendamine

Registreeritud kasutajana soovin muuta eelnevalt salvestatyd grupi andmeid, et grupp sisaldaks täpset ja õiget informatsiooni.

  • Kasutaja logib rakendusse sisse ja vajutab menüüs "My groups" nupule.
    • Kuna kasutajal on juba eelnevalt grupp salvestatud, siis avaneb 5. vaade gruppide loeteluga: grupi nimi ja sellest paremal kaks valikut "Edit" ning "Delete". Vaate ülemises osas on nupp "Add new".
  • Kasutaja vajutab nupule "Edit".
    • Avaneb 6. vaade grupi lisamise vormiga, mis on täidetud varasemalt salvestatud informatsiooniga.
  • Kasutaja teeb soovitud muudatused ning vajutab "Save" nuppu.

Kasutuslugu lõppeb.

Kasutuslugu 6 - grupi kustutamine

Registreeritud kasutajana soovin kustutada eelnevalt salvestatud gruppi, kuna ma ei soovi seda gruppi enam hallata.

  • Kasutaja logib rakendusse sisse ja vajutab menüüs "My groups" nupule.
    • Avaneb 5. vaade gruppide loeteluga: grupi nimi ja sellest paremal kaks valikut "Edit" ning "Delete". Vaate ülemises osas on nupp "Add new".
  • Kasutaja vajutab nupule "Delete".
    • Kui kasutajal on konkreetse grupiga taimed seotud, siis kuvatakse veateade ja "Ok" nupp. Kui grupi andmed kasutusel ei ole kuvatakse kinnituse küsimine.
  • Kasutaja kinnitab grupi kustutamise soovi.

Kasutuslugu lõppeb.

Kasutuslugu 7 - uue taime lisamine

Registreeritud kasutajana soovin lisada uut taime, et omada ülevaadet kastmise ning väetamise aegade kohta.

  • Kasutaja logib rakendusse sisse ja vajutab avanenud 4. vaates "Add new" nupule.
    • Avaneb 7. vaade taime lisamise vormiga, kus on: neli lahtrit "Plant name", "Location", "Last watered", "Last fertilized"; kaks rippmenüüga välja "Plant description", mis saab sisendi eelnevalt salvestatud raamatukogust ja "Add to group", mis saab sisendi kasutaja loodud gruppidest; nupud "Save" ja "Cancel".
  • Kasutaja täidab korrektselt kõik väljad ja vajutab "Save".

Kasutuslugu lõppeb.

Kasutuslugu 8 - olemasolevate taimede haldamine

Registreeritud kasutajana soovin näha ülevaadet enda taimedest ja märkida taimi kastetuks, et teada saada, millal on järgmine kastmine.

  • Kasutaja logib rakendusse sisse.
    • Kuna kasutajal on taim salvestatud siis on avanenud 4. vaates loetelu gruppide järgi.
  • Kasutaja vajutab grupi nimele.
    • Avaneb 8. vaade grupi kirjeldusega ja loeteluga grupis olevatest taimedest. Loetelus on ära toodud taime nimi, asukoht, järgmine kastmise ja väetamise aeg timebarna. Nimistus on ülevalpool taimed, mis vajavad kastmist või väetamist kõige enne. Taimest paremal on kaks nuppu "Water" ja "Fertilize".
  • Kasutaja märgib taime kastetuks, vajutades "Water" nuppu.
    • Taime järgmine kastmise aeg on uuendatud vastavalt käesolevale kuupäevale ning kastmis intervallile.
  • Kasutaja vajutab taime nimele.
    • Avaneb 9. vaade, kus on kogu info taime kohta: taime nimi, taimeliik, asukoht, kirjeldus, kastmis- ning väetamissagedus, järgmise kastmise ning väetamise aeg timebarna. Lisaks on neli nuppu: "Water", "Fertilize", "Edit", "Delete" ning "Back".

Kasutuslugu lõppeb.

Tööjaotus

  • Anita - Analüüs, Kasutuslood, Kujundus, Androidi App
  • Allar - Androidi App
  • Gert - Andmebaasi disain, Andmebaasi loomine, REST API, API dokumentatsioon, Koduleht

Blogi

  • 17.09.17 Meeskonna moodustamine ja idee paika panek - Cryptocurrency-explorer.
  • 01.10.17 Koosolek kasutajaliideste raamistike teemal.
  • 22.10.17 Wiki lehe ja TFS konto loomine.
  • 04.11.17 Skype koosolek. Projekti analüüsimine, mille käigus otsustasime projekti ideed muuta - PlantWise.
  • 05.11.17 Skype koosolek. Wiki lehe täiendamine projekti analüüsiga.