Meeskond:MinuRaamat: Difference between revisions
Line 33: | Line 33: | ||
*Mitteaktiivne (kohe pärast lisamist, enne avalikustamist) | *Mitteaktiivne (kohe pärast lisamist, enne avalikustamist) | ||
*Müügil (avalikustatud müük, võimalik sirvida ja osta) | *Müügil (avalikustatud müük, võimalik sirvida ja osta) | ||
*Broneeritud (Võimalik sirvida ja | *Broneeritud (Võimalik sirvida ja soovikorvi lisada, kuid broneerida ei saa. Võimalik lisada "Jälgimisnimekirja", saadetakse e-mail kui staatus muutub "broneeritud" -> "müügil") | ||
*Tehing sooritatud (müüja on saanud raha kätte ja ostja on saanud raamatu, raamat eemaldatakse kõikide kasutajate soovikorvist) | *Tehing sooritatud (müüja on saanud raha kätte ja ostja on saanud raamatu, raamat eemaldatakse kõikide kasutajate soovikorvist) | ||
Revision as of 11:40, 4 November 2014
Meeskond: MinuRaamat
Meeskonna liikmed
- Erkko Kebbinau
Idee
Juba pikemat aega on mul olnud mõte, et võiks proovida veebi arendada. Mul on hea meel, et selle aine käigus mul see võimalus avanes.
Usun, et veel paljudel peale minu on teinekord mõte osta mõnda raamatut. Raamatupoodides aga ei pruugi seda õiget raamatut olla või on see liiga kallis. Küll aga võib leiduda keegi, kellel just see raamat on üle ja sooviks selle raamatu edasi müüa. Idee ongi on luua veebileht, kus kasutajad saavad isiklikke raamatuid osta ja müüa.
Lahendus realiseeritakse ASP .NET tehnoloogiat kasutades
Analüüs
Üldine kirjeldus
Tegemist on veebirakendusega, kus inimesed saavad panna müüki raamatuid, mida nad enam endale ei soovi ning osta raamatuid, mida nad endale soovivad. Ost/müük käib ainult kasutajalt-kasutajale, mingit keskset poodi ei tehta. Raamatuid saab veebilehel sirvida igaüks, kuid kõigi funktsionaalsuste kasutamiseks on vaja luua kasutajakonto.
Eesmärk
Selle projekti eesmärgiks minu jaoks on õppida paremini tundma C# programmeerimiskeelt, ASP .NET raamistikku, veebilehe ja andmebaasi omavahel suhtlema panemist ning ka veebirakenduse turvamist. Antud projektist saadud teadmisi ja kogemust saab kindlasti ka tulevikus hästi ära kasutada
Funktsionaalsed nõuded
Konto registreerimine
- Kasutaja registreerimisel tuleb täita järgmised väljad: eesnimi, perenimi, isikukood, kasutajanimi, e-mail, parool, parool uuesti
- Kasutajakonto loomisel kasutatakse Captchat
Kasutajaandmete muutmine
- Võimalik on muuta järgmisi andmeid: e-mail, parool
- Kasutajakonto on võimalik deaktiveerida
Autentimine ning välja logimine
- Kasutaja autentitakse e-maili ja parooliga
- "Logi välja" nuppu vajutades logitakse kasutaja välja ning suletakse kõik sessioonid
Võimalikud staatused raamatul
- Mitteaktiivne (kohe pärast lisamist, enne avalikustamist)
- Müügil (avalikustatud müük, võimalik sirvida ja osta)
- Broneeritud (Võimalik sirvida ja soovikorvi lisada, kuid broneerida ei saa. Võimalik lisada "Jälgimisnimekirja", saadetakse e-mail kui staatus muutub "broneeritud" -> "müügil")
- Tehing sooritatud (müüja on saanud raha kätte ja ostja on saanud raamatu, raamat eemaldatakse kõikide kasutajate soovikorvist)
Raamatu lisamine süsteemi
- Raamatut saab lisada ainult sisseloginud kasutaja
- Raamatut lisades tuleb täita vähemalt järgnevad väljad: Raamatu pealkiri, Raamatu autori perenimi, Keel
- Raamatut lisades saab täita järgmised lisaväljad: Raamatu autori eesnimi, Raamatu kokkuvõte, Raamatu seisukord, Raamatu kategooria, Foto(d) raamatust, Kas on raamatusarjast (valik jah/ei, "jah" puhul lisaväli sarja nime kirjutamiseks), Kommentaar
- Raamat läheb esialgu staatusesse "Mitteaktiivne". Selles staatuses olevaid raamatuid saab kasutaja eemaldada ja aktiveerida.
- Pärast raamatu avalikuks tegemist läheb raamat staatusesse "Müügis"
Lisatud raamatu andmete muutmine
- Raamatu andmeid muutes saab muuta järgmisi välju: Raamatu autori eesnimi, Raamatu kokkuvõte, Raamatu keel, Raamatu seisukord, Raamatu kategooria, Kas on raamatusarjast, Kommentaar
- Saab lisada/eemaldada fotosid
Raamatu eemaldamine süsteemist
- Raamatu saab süsteemist eemdalda koos kõikide selle väljadega
- Raamatu eemaldamisel ei eemaldata andmebaasist välja, vaid muudetakse deaktiveerituks (väli endDate täidetakse)
- Raamatu eemaldamine logitakse
Raamatute sirvimine
- Nii sisseloginud kui ka sisselogimata kasutajad saavad "Müügil" staatuses raamatuid sirvida
- Koormuse vähendamiseks saab raamatut uuesti sirvida iga 10 sekundi tagant (ilmselt tuleb kasutada ajaxit)
- Raamatuid saab tulemusi filtreerida järgmise väljade järgi: Raamatu autori eesnimi, Raamatu autori perenimi, Raamatu pealkiri (või selle osa, vähemalt 5 tähemärki), Raamatusari, Seisukord, Keel, Raamatu kategooria
- Raamatuid peab saama sorteerida järgmiste väljade järgi (üks väli korraga): Raamatu autori perenimi, Raamatu pealkiri, Seisukord, Raamatu kategooria
- Raamatute sirvimise vaates kuvatakse järgnevad väljad: Raamatu autori eesnimi, Raamatu autori perenimi, Raamatu pealkiri, Raamatusari, Seisukord
- Lisaks üldisele raamatute listile peab olema võimalik listis raamatul klikkida, et näha detailset infot koos kommentaaride ja fotodega
Raamatu soovikorvi lisamine
- Raamatuid saab lisada soovikorvi
- Raamat võib olla soovikorvis paljudel kasutajatel, kuni müümine on aktiivne. Kui raamat eemdaldatakse või müüakse, kaob raamat kõikide kasutajate soovikorvist
- Soovikorvis võib olla mitu raamatut
- Soovikorvis olevad raamatud grupeeritakse müüa põhiselt, et saaks osta samalt müüjalt mitu raamatut korraga
- Ostu saab sooritada endiselt ka üks raamat korraga
- Soovikorvist saab raamatuid eemaldada
Raamatu(te) broneerimine ja ostmine
- Osta saab soovikorvis olevaid raamatuid
- Raamatuid saab osta ükshaaval või müüjapõhiselt grupeerituna mitu tükki korraga
- Pärast ostmise kinnitamist broneeritakse raamat ning müüja saab selle kohta märke. Müüja peab valima, kas ta on nõus raamatut müüma
- Kui müüja pole nõus raamatut müüma, saab ostja selle kohta märke ning ostjal eemaldatakse raamat soovikorvist
- Kui Müüja on nõus raamatut müüma, läheb raamat staatusesse "Broneeritud"
- Raamat saab olla broneeritud vaid ühele kasutajale
- Seejärel peavad nii ostja kui müüja tegema süsteemi märkme vastavalt kas raha kättesaamise või raamatu kättesaamise kohta
- Raamat märgitakse staatusesse "Tehing sooritatud", kui mõlemad on vajaliku kätte saanud.
Sõnumite saatmine kasutajate vahel
- Kasutajad saavad üksteisele saata sõnumeid
- Sõnumid on privaatsed ja nähtavad ainult sõnumi saatjale ja sõnumi saajale
- Sõnumeid kustutada/muuta ei saa
Kasutaja tegevuste logimine
- Logida on vaja järgmised tegevused (aeg, kasutaja, IP):
- Kasutajakonto loomine
- Kasutajakonto muutmine
- Kasutajakonto kustutamine
- Müüdava raamatu lisamine
- Müüdava raamatu andmete muutmine
- Müüdava raamatu eemaldamine süsteemist
- Raamatu "Soovilisti" lisamine
- Raamatu "Soovilistist" eemdaldamine
- Logifailid eraldatakse päeva põhiselt
Problemaatilised osad
- Internet Exploreri disain
- Raamatu üleandmise ning maksmise loogika
Tööjaotus
Erkko teeb üksi kõik osad.
Must-have funktsionaalsused
- Kasutajate loomine
- Kasutajaandmete muutmine
- Raamatute lisamine süsteemi
- Raamatute sirvimine (autori, pealkirja, ilmumisaasta jms järgi)
- Raamatute ostmine
- Kasutaja tegevuste logi
- Rakendus töötab korrektselt Firefox ja Chrome brauseritega
- Foto lisamine raamatu kohta
Nice-to-have funktsionaalsused
- IE tugi
- Soovitud raamatute list (saadetakse teade (e-mail, võibolla tulevikus SMS), kui süsteemi ilmub soovitud raamatute listis olevate andmetega ühtiv raamat)
- Kulleriteenus
- Kasutajatevaheline suhtlus (messages)
- Ostetud/lisatud raamatute ajalugu
- Raamatu broneerimine (mingiks kindlaks ajaks, müüjaga kokkuleppel)
- Süsteemi monitooring
- Autentimine ID-kaardi ja mobiil-ID'ga
- Mitme foto lisamine korraga
- Raamatute otsingul, lisamisel, muutmisel pakutakse juba süsteemis olevaid andmeid
- Kasutajate rating nii müümiste kui ostmiste kohta + kommentaarid (kas müüja on usaldusväärne või ei)
- Jälgimisnimekiri (broneeritud raamatud; saadetakse teade, kui "Broneeritud" raamat muudetakse staatusesse "Müügil")