H2I: Difference between revisions
Line 46: | Line 46: | ||
* Otsingufunktsioon. Otsida saab, sisestades teose pealkirja või autori. Otsingu tulemus annab teada, kas teos eksisteerib andmebaasis ning mis on selle olek. | * Otsingufunktsioon. Otsida saab, sisestades teose pealkirja või autori. Otsingu tulemus annab teada, kas teos eksisteerib andmebaasis ning mis on selle olek. | ||
=== Nice To Have === | ==== Nice To Have ==== | ||
* Sisselogimisvõimalus ning n + 1 kasutajat. Rakendusel saavad olla erinevad kasutajad, kes omavad erinevaid kogusid. Selleks on vaja teha registreerimine, kasutajate andmebaas. | * Sisselogimisvõimalus ning n + 1 kasutajat. Rakendusel saavad olla erinevad kasutajad, kes omavad erinevaid kogusid. Selleks on vaja teha registreerimine, kasutajate andmebaas. | ||
* Rakendus on multifunktsionaalsem – ei keskendu ainult raamatute kogujatele, vaid üleüldse kogujatele. Näiteks on ühel inimesel kogud raamatutest „Seiklusjutte maalt ja merelt“, kuid samal ajal on tal ka teine kogu, mis koosneb müntidest. | * Rakendus on multifunktsionaalsem – ei keskendu ainult raamatute kogujatele, vaid üleüldse kogujatele. Näiteks on ühel inimesel kogud raamatutest „Seiklusjutte maalt ja merelt“, kuid samal ajal on tal ka teine kogu, mis koosneb müntidest. |
Revision as of 20:54, 4 November 2017
Projekt õppeaines "Programmeerimine C# keeles"
Meeskond
- Ingvar Lukas - projektijuht
- Helen Oppar
- Hardi Tiitus
Tehnoloogiad
- C#
- WPF
- MS SQL Server
- git
Analüüs
Meeskonna H2I projekti eesmärgiks on luua WPF rakendus, mis on suunatud kogujatele (hetkel keskendume raamatute kollektsioneerimisele). Rakendus võimaldaks kasutajal leida kiiresti infot selle kohta, millised teosed tal mingist seeriast juba olemas on ja mis on veel puudu (st milliseid teoseid sooviks kasutaja omale saada). Kasutaja peab saama oma kogu suurendades muuta teoste saatust. Eesmärgiks oleks, et kasutaja saaks kiire ülevaade teostest, mida ta sooviks omale saada (nö wishlist). Kasutajal on võimalus näha oma olemasoleva kogu rahalist väärtust.
Rakendus sisaldab ”Minu kogu” vaadet, otsinguvaadet ning wishlist-vaadet.
“Minu kogu” vaates on nähtavad erinevad kasutaja poolt sisestatud kogud (vaade 1). Klikkides valitud kogu peale tekib uus vaade (vaade 2), milles on näidatud kogus leiduvad eksemplarid ning olemasolevad ja mitteolemasolevad selgelt eristatud on.
“Minu kogu” vaade (vaade 1) võimaldab kasutajal näha tema loodud kogusid, lisada uut kogu, andes kogule nime, muuta olemasoleva nime või kustutada terve kogu. Minu kogu (vaade 2) võiks näidata olemasoleva kogu rahalist väärtust.
Konkreetse kogu nimele klikkamine võimaldab kasutajal näha kogus olevaid eksemplare (vaade 2). Konkreetse kogu vaates (vaade 2) saab lisada kogusse uusi eksemplare ning muuta sisse kantud teoste andmeid. Teine lisamine (vaates 2) võimaldab lisada konkreetsesse kogusse teoseid, märkides ära teose pealkirja (not null), autori (not null), väljalaskeaasta, staatuse (jah/ei) (not null), koguse, seisukorra, hinnangulise väärtuse, kas suunata wishlisti või mitte.
Otsinguvaates (vaade 3) saab kasutaja otsida teost nime, autori või väljalaskmise aasta järgi. Eesmärk on anda tagasiside kasutajale, kas otsitav toode on andmebaasis ning mis on selle staatus (olemas, ei ole olemas, wishlistis). Klikates juba eksisteeriva teose peale, tekib nupp, mis võimaldab muuta varem sisestatud andmeid.
Wishlist-vaade (vaade 4) võimaldab kasutajal lisada andmebaasi eksemplare, mida ta sooviks omandada ning mis on kasutaja jaoks tähtsaimad ehk siis sellised, mida ta sooviks esmalt oma kogusse. Peaks olema ka võimalus märkida lisatud teose prioriteet (näiteks viiepallisüsteemis: hinne 5 – teost on kiiresti oma kogusse vaja, hinne 1 – teost oleks kogusse vaja, aga sellega pole kiiret). Kõik teosed, millel on konkreetsesse kogusse teose lisamise ajal lisatud wishlist jah, kantakse siia.
Rakendus luuakse kasutades MVVM (Model-View-ViewModel) arendusmustrit.
Milliste osade realiseerimine võib osutuda problemaatiliseks?
Problemaatiliseks võib osutuda:
- rakenduse multifunktsionaalseks muutmine (kogutakse münte, marke jmt), olgugi, et projekti seisukohalt on see ”nice to have”,
- erinevate vaadete vahel navigeerimine ning vaadete ja andmebaaside probleemivaba sidumine,
- kasutajasõbraliku liidese loomine, lähtudes kaasaegse UX’i olemusest, kuna ühelgi liikmel meeskonnas pole eelnevat kogemust kasutajasõbraliku liidese disainiga,
- programmeerimine lähtudes MVVM printsiipidest, kuna tahes tahtmata võib tekkida olukordi, kus mitu loogikat ühte klassi kokku kirjutatakse.
Must Have funktsionaalsused
- Andmebaas teostest. Sisaldab andmeid ja olekut teoste kohta.
- Kogude lisamine. Võimalik on rakendusse lisada uusi kogusid, andes neile vabalt valitud nime (raamatuseeria nimi, autori nimi, väljalaskeaasta jmt).
- Kogude kustutamine. Kogu saab täielikult kustutada ehk siis kustutatakse kogu ja selles olevad teosed korraga.
- Teoste lisamine. Konkreetsesse kogusse saab lisada teoseid, kusjuures kindlasti peab väärtuse saama pealkiri, autor ning olek.
- Teoste kustutamine. Teos kustutatakse kogust.
- Teoste wishlist. Nagu nimigi ütleb, kuuluvad siia teosed, mida kasutaja eriti omada soovib.
- Ülevaade kogude kaupa. Vaade, kus on esitatud kõik kogusse kuuluvad eksemplarid.
- Otsingufunktsioon. Otsida saab, sisestades teose pealkirja või autori. Otsingu tulemus annab teada, kas teos eksisteerib andmebaasis ning mis on selle olek.
Nice To Have
- Sisselogimisvõimalus ning n + 1 kasutajat. Rakendusel saavad olla erinevad kasutajad, kes omavad erinevaid kogusid. Selleks on vaja teha registreerimine, kasutajate andmebaas.
- Rakendus on multifunktsionaalsem – ei keskendu ainult raamatute kogujatele, vaid üleüldse kogujatele. Näiteks on ühel inimesel kogud raamatutest „Seiklusjutte maalt ja merelt“, kuid samal ajal on tal ka teine kogu, mis koosneb müntidest.
- Rakendust saab kasutada ka sisse logimata, kui on vaja kogutavate nimekirjale kiiresti pilk peale heita.
- Rakendust saab kasutada läbi Interneti.
- Wishlistis olevate teoste kohta kuvatakse lisainfot (wikipedia, goodreads vms), mis scrape’itakse otse vastava teose wikipedia lehelt.
- Wishlistis olevate teoste jaoks pakutakse viide saidile, kust antud teost osta saaks (näiteks eBay, Amazon vms)
Tööjaotus
Täpsem tööjaotus võib töö käigus muutuda (kõik teevad kõike). Hetkel on tööjaotus selline:
- Ingvar Lukas – projekti juhtimine ja andmebaasid
- Hardi Tiitus - backend
- Helen Oppar - frontend ja disain
Blogi
17.09 Meeskonna kokkupanek
13.10 Idee lõplik valik, esialgse tööjaotuse paikapanemine
31.10 Wiki lehe ja bitbucketi repo loomine
04.11 Analüüsi lisamine wiki lehele