Meeskond "Nämm-nämm": Difference between revisions
Line 75: | Line 75: | ||
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout | Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout | ||
Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/ | Kellel SVN ei ole, saab kogu projekti alla laadida [http://enos.itcollege.ee/~saaver/VR2/kohvikuprojekt.zip siit]. Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -> properties -> common properties -> startup project -> multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator). | ||
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1 | |||
== Logi == | == Logi == |
Revision as of 21:00, 4 June 2011
Idee
Meie poolne teenus:
Meie poolt pakutud teenus lubab kohvikupidajatel oma kohvikuid ja seal pakutavaid toite süsteemi registreerida. Süsteemis on võimalik kohvikuid ja nende kaupa ilma sisse logimata kommenteerida ja võibolla ehk isegi hinnata.
Rakendus:
Tuleb üks asp.net veebileht, kus kohvikupidajatel on võimalus sisselogides oma menüüd üles panna/neid muuta/kustutada jne. Kui (tava)kasutaja tuleb lehele, on tal võimalus sisestada oma aadress, mille peale kuvatakse talle lähima kohviku asukoht (kaardi pealt näeb ka teiste kohvikute aadresse). Loomulikult on võimalik vaadata kõigi kohvikute menüüsid ning otsida menüüde seast meelepärast toitu. Mingit otsest sisselogimist pealehelt ei tule, selle jaoks teeb eraldi lehe.
Meeskond
- Joosep Ilves
- Kaspar Kallasmaa
- Siim Aaver
XML
Tõenäoliselt internetibrauser viskab XMLi ja XSLT vaatamisel errori. Sel põhjusel tuleb need enda arvutisse salvestada ja tekstiredaktoriga avada.
XSLT tulemus
Veebiteenus
Meie veebiteenus on valmistatud WCF baasil. See valik võimaldas teha teenusele formsi põhjal kasutajaliidese ja 'cache', mistõttu teeb teenus andmebaasi suunas vähem päringuid. Teenuse kasutajaliideses on logi, kuhu salvestatakse kõik meetodid ja nende parameetrid, mida kasutaja on väljakutsunud. Lisaks salvestatakse iga sekundi tagant logi ka faili.
Teenus/andmebaas on paindlik:
- Võimalik on koostada menüüsid erinevatele kuupäevadele. Näiteks saab terve nädala menüü juba ette ära määrata.
- Soodustused on seostatud kindla toiduga. Seega saab igale toidule (menüüs olemise korrale) määrata erinevad soodustused.
- Võimalik on ühe toiduga seostada 0 kuni piiramatu arv portse või soodustusi.
- Iga portsul eraldi on olemas 'saadavuse' väli. Seega on võimalik tekitada olukord, kus näiteks suur ports on otsa lõppenud aga väike veel saadaval.
Public meetodid:
* List<EntityKohvik> getEntityKohvikList(); * EntityKohvik getEntityKohvikById(int id); * List<EntityKaup> getItemData(int kohvikID, string date); * Boolean insertItem(int kohvikID, String kategooria, String nimetus, String kuupaev, List<EntityPorts> portsud, List<EntitySoodustus> soodukad); * Boolean editItem(int itemID, int kohvikID, String kategooria, String nimetus, String kuupaev, List<EntityPorts> portsud, List<EntitySoodustus> soodukad); * Boolean deleteItem(int itemID, String kuupaev); * public Boolean toggleAvailability(); * List<EntityUudis> getEntityUudisList(); * List<EntityUudis> getEntityUudisListByAmount(int limit); * EntityUudis getEntityUudisById(int id); * List<EntityLahtiolekuAjad> getEntityLahtiolekuAjadByKohvikId(int kohvikId); * List<EntityKommentaar> getEntityKommentaarList(); * List<EntityKommentaar> getEntityKommentaarFor(KommentaarType kommentaarType, int id); * int getCommentCountFor(KommentaarType kommentaarType, int id); * bool addEntityKommentaarFor(KommentaarType kommentaarType, int rowIdToAddKommentaarFor, String sisu, String autor, DateTime postituseAeg); * List<EntityValuuta> getCurrency(); * int login(String user, String pass); * List<String> getKaupNimed(int kasutaja_ID, string prefixText); * List<EntityKategooria> getKatNimed(int kasutaja_ID); * string EncodePassword(string originalPassword);
Lähtekood: link
Klientrakendus
//TODO: Kaspar
ASP.net aine raames tegime projektile mõned täiendused. Nende kohta saab täpsemalt lugeda Meeskond "Nämm-nämm asp.net" lehelt.
Lähtekood
Kogu lähtekood on saadaval Google Codes aadressil http://code.google.com/p/kohvik/source/checkout
Kellel SVN ei ole, saab kogu projekti alla laadida siit. Projekti käivitamisel tuleb enne tööle panna teenus ja alles seejärel klientrakendus. Selle saavutamiseks üks võimalus on määrata mitu startup projekti (visual studios paremklõps solutioni peal -> properties -> common properties -> startup project -> multiple startup projects ja määrata järjekord Teenus, Kohvik, KohvikuRax. Actioni alla määrata kas start või start without debugging). EndpointNotFoundExceptioni korral tuleb vajutada F5 (continue) ja kõik asjad peaks siiski tööle minema. See error tuleb sellepärast, et vahel läheb klientrakendus kiiremini tööle kui veebiteenus. Teenuse käivitamine nõuab adminniõigusi (Visual Studiole run as administrator).
Sisselogimiseks ITK kohviku kasutaja on test/test ja superadmin 1/1
Logi
2. mai
Teenusele lisatud paar puuduvat meetodit.
18. aprill
Töötab toitude lisamise leht. Autocomplete.
16. aprill
Adminni lehel sisselogimine.
7. aprill
Teenus oskab kohvikuid ja nende andmeid puhverdada. Need on ühtlasi ka kõige tihedamini teenuselt küsitavad andmed.
2. aprill
Läksime ASMX teenuse pealt üle WCF teenusele et saaks ka andmete puhverdamise teha.
23. märts
Töötavad kohviku andmete, menüüde ja kommentaaride näitamise vaated.
9. märts
Andmebaas ülesseatud ja lisatud kirjed päringute testimiseks.
8. märts
Tõenäoliselt lõplik versioon andmebaasi disainist.
1. märts
Esialgne andmebaasi disain. Mõned tabelid ja kirjed andmebaasi, et oleks võimalik katsetada.
27. veebruar
XML fail, schema, xsl. Esialgne andmebaasi mudel.
24. veebruar
Google mapsi integreerimine rakendusse.
22. veebruar
SVN ülesseadmine, esialgne rakenduse disain.
21. veebruar
Meeskonna moodustamine, teema valimine.