<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aseiman</id>
	<title>ICO wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.itcollege.ee/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Aseiman"/>
	<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php/Special:Contributions/Aseiman"/>
	<updated>2026-05-09T18:29:38Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.45.1</generator>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131582</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131582"/>
		<updated>2018-06-10T19:59:03Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - MealPlannerSolo(Triin Oja)&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
*17:45 - Hammas&lt;br /&gt;
*18:00 - VariousArtists&lt;br /&gt;
*18:15 - Pillar Of Autumn&lt;br /&gt;
*18:30 - Curry&lt;br /&gt;
*18:45 - WatchWinders&lt;br /&gt;
*19:00 - MOT&lt;br /&gt;
*19:15 - AmateurBB&lt;br /&gt;
*19:30 - Autolugu&lt;br /&gt;
*19:45 - VRII2018&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://drive.google.com/open?id=1Pq8Lhrs3G5mGiTje70ww-zMBNB5cXnRh ZIP]&lt;br /&gt;
&lt;br /&gt;
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenus ning klientrakendus.&#039;&#039;&#039; [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [http://enos.itcollege.ee/~mpolma/vr2/API.zip]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://github.com/karlerikounapuu/autolugu-front]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm (Meeskonnast lahkunud)&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode API ja klientrakendus:&#039;&#039;&#039; [https://github.com/taavip9/Veebirakendused-II Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon  XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode veebiteenus:&#039;&#039;&#039; [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kasutusjuhend:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode klient:&#039;&#039;&#039; [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML failid:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon veebiteenusele: TODO retsenseerime projekti WatchWinders&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon klientrakendusele: TODO retsenseerime projekti WatchWinders&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-ile: TODO retsenseerime projekti WatchWinders&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
* Karen Grigorjan&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* [https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0 .zip fail rakendus ja klient koos] &lt;br /&gt;
* [https://bitbucket.org/itcollegeprojects/loojang-app veebirakenduse repo] &lt;br /&gt;
* [https://bitbucket.org/itcollegeprojects/loojang-client klientrakenduse repo] &lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus XML:  link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Veebiteenusele veebiteenuse retsensioon meeskonna Curry tööle.]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML-ile XML retsensioon meeskonna Curry tööle.]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/SharpRestoVRII#XML Wikis]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron (loobus)&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039; [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  [http://enos.itcollege.ee/~pploom/VR2/ link] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML: &#039;&#039;&#039;  [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XML_andmefail link] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XSD: &#039;&#039;&#039;  [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSD_schema_fail link] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XSLT1: &#039;&#039;&#039;  [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_HTML link] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XSLT2: &#039;&#039;&#039;  [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_XML link] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Curry meeskonna veebiteenust, klientrakendust ja XML-i retsenseerib meeskond KuldneLoojang. Curryle kirjutatud retsensioonid [https://wiki.itcollege.ee/index.php/Kuldneloojang#Meie_tehtud_retsensioonid asuvad siin: link]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&#039;&#039;&#039;Veebiteenus:&#039;&#039;&#039; [https://github.com/Tafkinz/AmateurBB/tree/BB-1 GitHub]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus:&#039;&#039;&#039; [https://github.com/Tafkinz/frontend GitHub]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/AmateurBB wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;br /&gt;
&#039;&#039;&#039;Project:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/z9snrydbl5e8jp2/vr2_service-v2.zip?dl=0 Veebiteenus]&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]&lt;br /&gt;
&amp;lt;br/&amp;gt;&#039;&#039;&#039;XML:&#039;&#039;&#039; TODO&lt;br /&gt;
&amp;lt;br/&amp;gt;&#039;&#039;&#039;Retsensioon:&#039;&#039;&#039; TODO&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131581</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131581"/>
		<updated>2018-06-10T19:57:55Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Veebiteenusele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid meie projektile=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: BeerPressure&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang retsensioon discussioni lehel]&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
(seisuga 02.06.2018, bugide parandusi lisatud 04.06.2018)&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;br /&gt;
&lt;br /&gt;
=Meie tehtud retsensioonid=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry veebiteenusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039; &lt;br /&gt;
&lt;br /&gt;
Meeskond Curry on loonud krüptovaluuta tehingute vahendamiseks mõeldud veebiteenuse. Veebiteenuse kaudu saab luua omale kasutaja ja hiljem loodud kasutaja andmeid kasutades panna üles krüptovaluutade vahetustehinguid. Kasutaja saab valida, kas müüa või osta mingit valuutat. Tehingu toimimiseks on vajalik vastaspool ehk keegi teine, kes soovib teha vastupidist tehingut. Kui vastaspoolt ei leita, siis jääb tehing ootele, kuni vastaspool tekib.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Projekt on arhitektuuriliselt üles ehitatud vastavalt õppeaine käigus õpetatud nõuannetele ehk projektil on nö. kihiline arkitektuur, mis võimaldab asju kihi kaupa vajadusel asendada. See on võimalik, sest kihtide vahelised ühendused on kirjutatud kasutades liideseid. Selgelt on eristatavad andmete kiht, äriloogika kiht ning veebiteenuse kiht. Need kihid on jagatud veel omakorda alamkihtideks.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse domeeni mudel koosneb 11 olemist, millest üks on siis jäetud kasutaja andmete jaoks. Olemid kirjeldavad valuutasid ja nendega  kaubeldavaid valuuta-paare, tehinguid koos tehingu staatuse ja tüüpidega ning konto seisu, jne. Andmemudel on põhjalik ning koostatud tulevikkuvaatavalt. Sellise andmemudeli pealt saab luua funktsionaalsust, mida sellises keskkonnas kindlasti kliendid tahaksid näha, kuid hetkel pole veel implementeeritud. Näiteks oma konto seisu ajalise muutuse jälgimine, valuutakursside liikumine ajas, erinevat tüüpi tehingud, jne.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmemudeli juures on kasutatud annotatsioone, et määrata ära väljade pikkusi, serialiseerimist, jne. Kuid andmete seisukohalt peaks määrama rangemalt, millised väljad on kohustuslikud. Hetkel lubataks andmebaasi panna ka sellised tehinguid, kus näiteks puuduvad tehingu osapooled või valuutad, jne. Õnneks on vastav kontroll enamasti äriloogika poolel. Proovisime teha tehinguid, kus osa infot oleks puudu, aga need ei läinud läbi. Samas kui üritasime lisada uusi valuuta paare, kus puudusid teatud väljad, siis õnnestus saada andmebaasi viga ning teenus kokku jooksutada.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Andmete kättesaamise kihid on läbimõeldud. Tore on näha, et lahendusi on erinevaid ning kõik ei kasuta &#039;&#039;UnitOfWork&#039;&#039; mustrit. See on ntud mahuga projekti juures mõistlik lähenemine. &#039;&#039;RepositoryProvider/RepositoryFactory&#039;&#039; mustroga oleks saanud mõned repositooriumd jätta kirjutamata, sest nendes polnud erimeetodeid, kuid see õnneks oli väike lisatöö.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kontrollerid on kenasti annoteeritud. Lisaks autoriseerimise annotatsioonidele on kasutusel annotatsioonid, mis annavad teada tagastatavad objekti kuju ning võimalikud &#039;&#039;http&#039;&#039; staatuskoodid. Nende pealt on loodud &#039;&#039;Swaggeriga&#039;&#039; API dokumentatsioon, millega on klientrakenduse kaudu võimalik ka tutvuda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Koodi paigaldusjuhised on lakoonilised, piirdudes ühe lausega: “&#039;&#039;Proovimaks administraator õigustes kasutaja funktsionaalsust, logi sisse kasutajanimega &#039;adminuser&#039; ning parooliga &#039;Kala1.maja&#039;&#039;&#039;”. Sõnagi pole juttu sellest, et uues masinas paigaldamiseks peab looma kõigepealt andmebaasi, jne. Seda asja annaks parandada. Samas on see viga, mis on ühine paljude teiste projektidega.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtteks võib öelda, et meeskond Curry on demonstreerinud edukalt, et nad on omandanud õppeaine õpiväljundid. Loodud projekt peegeldab seda, mida poolaasta jooksul on õpitud.&lt;br /&gt;
&lt;br /&gt;
==Klientrakendusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry klientrakendusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeskond Curry on loonud klientrakendusena kliendi oma poolt loodud veebiteenusele. Kaks asja koos moodustavad platvormi, mida saab kasutada krüptorahadega kauplemiseks. Platvorm toimib põhimõttele, et igaüks saab tulla ja luua omale konto, kus saab ülevaate oma krüptorahakoti seisust. Testimiseks täidetakse kasutaja rahakott juhuslike arvude generaatori abil erinevate krüptovaluutadega. Kasutajal on võimalik panna üles ordereid meelepäraste valuutapaaride vahel täpsustades soovitud hinna, koguse ja tehingu tüübi (ost või müük). Orderid jäävad seni üles, kuni leidub vastaspool, kes soovib viia läbi vastupidise tehingu. Seepärast on soovitatav rakenduse testimiseks teha kaks kontot, kelle vahel siis tehinguid ellu viia. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on teostatud Angulari raamistikus. Klientrakendus on kirjutatud veebiteenuse solutioni sisse, mistõttu käib tema käivitamine mugavalt üheskoos veebiteenusega. Klientrakenduse projekti ülesehitus on selge ja arusaadav. Kood on suudetud hoida puhas. Mõned komponendid on siiski päris suured ja võiks ollaväiksemateks osadeks jaotatud. Esineb mõningat koodi kopeerimist, mida oleks võimalik vähendada kirjutades asju komponentidesse. Näiteks tehingute teostamisel on ostu- ja müügitehingu vormid ühesugused, mida oleks lihtsalt saanud hoida ühes komponendis.&lt;br /&gt;
Rakenduse kasutamise, ega paigaldamise kohta pole mitte mingisugust informatsiooni. Õnneks on talupoja mõistusega rakenduse käivitamine siiski võimalik. Tuli avada vastav solution, luua lokaalne andmebaas ning seejärel käivitada solutionis vastav projekt (WebApp), mis pani korraga käima nii veebiteenuse kui ka klientrakenduse.&lt;br /&gt;
Järgnevalt mõningaid tähelepanekuid rakenduse kasutamise kohta:&lt;br /&gt;
&lt;br /&gt;
* Kasutaja loomisel valideeritakse kenasti kasutajaandmeid. Pole võimalik sisestada liiga lühikest nime või liiga lihtsat parooli. Kasutaja loomisel antakse kenasti tagasisidet, kui üritatakse luua kasutajat, kelle kasutajanimi või email on juba kasutusel.&lt;br /&gt;
* Kasutajal on võimalik muuta kasutajaandmeid - eesnimi, perekonna nimi ning email. Paraku pole võimalik muuta ei parooli ega kasutajanime.&lt;br /&gt;
* Klientrakendus näeb selge ja puhas välja. See on saavutatud Bootstrap CSS raamistiku kasutamisega. &lt;br /&gt;
* Äriloogika on krüptovaluutade-võõrale kasutajale pisut segane. Kliendi vaatest on näha, et kauplemine on võimalik vaid kahe valuuta suhtes (Bitcoin ja Ethereum). See tähendab, et üks kahest peab olema alati valitud. Seejärel saab kasutaja valida, mis valuuta on tehingu vastaspooleks. See tähendab, et kui näiteks soovitakse vahetada Monero valuuta Agrello vastu, siis  tuleb kõige pealt Monero vahetada Ethereumi vastu, mis seejärel vahetatakse  Bitcoini vastu, mille eest lõpuks saab osta Agrello valuutat.&lt;br /&gt;
* Huvitaval kombel saab kasutaja olla iseenda tehingu vastaspooleks. See tähendab, et kui kasutaja on pannud üles orderi ostmiseks ja seejärel ka müümiseks, siis ka selline tehing läbi viiakse.&lt;br /&gt;
* Klientrakenduses on puudu loogilisi funktsionaalsuseid, mis võiks olla seda sorti platvormil realiseeritud. Näiteks kasutajana sooviksin näha enda poolt läbiviidud tehingute ajalugu või sooviksin tühistada enda poolt üles pandud orderieid, jne.&lt;br /&gt;
* Kliendipoolelt paistab välja üks äriloogika viga. Näiteks kasutaja krüptovaluutade bilanss ei muutu nii nagu eeldaks. Viies läbi müügi tehingu, kus hind on 10 ja kogus 5, siis müüdava valuuta kogus väheneb vaid 5 võrra, mitte 50 võrra nagu oleks eeldanud. Seda kas selle vea põhjustab kliendi või rakenduse pool peaks välja selgitama koodi põhjalikum analüüs.&lt;br /&gt;
* Selliseid vigu, mis suudaksid klientrakenduse kokkujooksutada või panna ta andma veateatei, ei suudetud leida.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond Curry on näidanud, et oskavad klientrakendust luua ning saavad aru kuidas klientrakendus peab suhtlema veebiteenusega. Puudused, mis saab välja tuua pole tehnilist laadi vaid pigem seotud sellega, et klientrakenduse poolele on realiseeritud skoop väiksem, kui võiks antud rakendusest eeldada.&lt;br /&gt;
&lt;br /&gt;
==XML-ile==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond [https://wiki.itcollege.ee/index.php/Meeskond:Curry Curry XML-ile]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
XML on süntaksilt korrektne vastavalt validaatorile [https://www.w3schools.com/xml/xml_validator.asp https://www.w3schools.com/xml/xml_validator.asp]&lt;br /&gt;
&lt;br /&gt;
XML ja XSD on kooskõlas vastavalt [https://www.freeformatter.com/xml-validator-xsd.html https://www.freeformatter.com/xml-validator-xsd.html]&lt;br /&gt;
&lt;br /&gt;
XML-i ülesehitus on selline, millist retsenseerija varem näinud ei ole. Kui tavaliselt on erinevad elemendid paigutatud loogiliselt üksteise sisse, siis antud näites on alguses ära toodud linnad ning neile antud id. Järgnevalt on eraldi ära kirjeldatud riigid, mille sees on element, mis id abil viitab eelnevalt kirjeldatud linnale. Objektidevahelised seosed on küll olemas, kuid fail on tänu sellele mahukam, see on raskemini loetav ning ilmselt on raskendatud XMLi töötlemine XPATHi abil, millest enamus eeldab parent-child tüüpi seoseid, mitte relatsioonilisust. XMLi elementidel on piisavalt attribuute ning objektid on piisava sügavusega.&lt;br /&gt;
&lt;br /&gt;
Esimesel XSLT versioonil oli paar tähemärki algusest puudu, kuid need parandati kiirelt ning seejärel sai XSLT abil väikese HTML tabeli kui uue XMLi. Tabeli loomisel on kasutatud peamiselt for-each tsükleid ning leidub üks tingimuste kontroll. Kasutatud on xsl:key attribuuti.&lt;br /&gt;
&lt;br /&gt;
XMLiks transformeeriv XSLT on oma ülesehituselt veidi lihtsam, kuid seal on ühe huvitava lisana kokku loetud ja kuvatud lapselementide arv. Ühe võimaliku murekohana pole tulemusena saadavas XMLis välja toodavad riigid grupeeritud eraldi tagi &amp;lt;Country&amp;gt; vahele. Seetõttu, kui meid huvitaksid näiteks Leedu linnad, peaksime me praegusest XMList otsima Leedu nimele järgnevaid linnasid &amp;lt;Towns&amp;gt; , mis on samas enne järgmist &amp;lt;name&amp;gt; tagi. Lihtsam oleks võtta ainult järgmised &amp;lt;Towns&amp;gt; elemendid, kuid mõnel riigil võivad need ka puudu olla ja sellisel juhul võime saada tulemuseks teise riigi linnad.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131577</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131577"/>
		<updated>2018-06-10T17:41:24Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - MealPlannerSolo(Triin Oja)&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
*17:45 - Hammas&lt;br /&gt;
*18:00 - VariousArtists&lt;br /&gt;
*18:15 - Pillar Of Autumn&lt;br /&gt;
*18:30 - Curry&lt;br /&gt;
*18:45 - WatchWinders&lt;br /&gt;
*19:00 - MOT&lt;br /&gt;
*19:15 - AmateurBB&lt;br /&gt;
*19:30 - Autolugu&lt;br /&gt;
*19:45 - VRII2018&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://drive.google.com/open?id=1Pq8Lhrs3G5mGiTje70ww-zMBNB5cXnRh ZIP]&lt;br /&gt;
&lt;br /&gt;
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenus ning klientrakendus.&#039;&#039;&#039; [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [http://enos.itcollege.ee/~mpolma/vr2/API.zip]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://github.com/karlerikounapuu/autolugu-front]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm (Meeskonnast lahkunud)&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode API ja klientrakendus:&#039;&#039;&#039; [https://github.com/taavip9/Veebirakendused-II Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon  XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode veebiteenus:&#039;&#039;&#039; [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kasutusjuhend:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode klient:&#039;&#039;&#039; [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML failid:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon veebiteenusele: TODO retsenseerime projekti WatchWinders&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon klientrakendusele: TODO retsenseerime projekti WatchWinders&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-ile: TODO retsenseerime projekti WatchWinders&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
* Karen Grigorjan&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* [https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0 .zip fail rakendus ja klient koos] &lt;br /&gt;
* [https://bitbucket.org/itcollegeprojects/loojang-app veebirakenduse repo] &lt;br /&gt;
* [https://bitbucket.org/itcollegeprojects/loojang-client klientrakenduse repo] &lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus XML:  link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Veebiteenusele veebiteenuse retsensioon meeskonna Curry tööle. &#039;&#039;&#039;(TEGEMISEL)&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML-ile XML retsensioon meeskonna Curry tööle.]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/SharpRestoVRII#XML Wikis]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron (loobus)&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039; [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  [http://enos.itcollege.ee/~pploom/VR2/ link] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML: &#039;&#039;&#039;  [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XML_andmefail link] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XSD: &#039;&#039;&#039;  [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSD_schema_fail link] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XSLT1: &#039;&#039;&#039;  [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_HTML link] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XSLT2: &#039;&#039;&#039;  [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_XML link] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Curry meeskonna veebiteenust, klientrakendust ja XML-i retsenseerib meeskond KuldneLoojang. Curryle kirjutatud retsensioonid [https://wiki.itcollege.ee/index.php/Kuldneloojang#Meie_tehtud_retsensioonid asuvad siin: link]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&#039;&#039;&#039;Veebiteenus:&#039;&#039;&#039; [https://github.com/Tafkinz/AmateurBB/tree/BB-1 GitHub]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus:&#039;&#039;&#039; [https://github.com/Tafkinz/frontend GitHub]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/AmateurBB wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;br /&gt;
&#039;&#039;&#039;Project:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/z9snrydbl5e8jp2/vr2_service-v2.zip?dl=0 Veebiteenus]&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]&lt;br /&gt;
&amp;lt;br/&amp;gt;&#039;&#039;&#039;XML:&#039;&#039;&#039; TODO&lt;br /&gt;
&amp;lt;br/&amp;gt;&#039;&#039;&#039;Retsensioon:&#039;&#039;&#039; TODO&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131539</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131539"/>
		<updated>2018-06-09T12:45:11Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - MealPlannerSolo(Triin Oja)&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
*17:45 - Hammas&lt;br /&gt;
*18:00 - VariousArtists&lt;br /&gt;
*18:15 - Pillar Of Autumn&lt;br /&gt;
*18:30 - Curry&lt;br /&gt;
*18:45 - WatchWinders&lt;br /&gt;
*19:00 - MOT&lt;br /&gt;
*19:15 - AmateurBB&lt;br /&gt;
*19:30 - Autolugu&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: &lt;br /&gt;
&lt;br /&gt;
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenus ning klientrakendus.&#039;&#039;&#039; [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm (Meeskonnast lahkunud)&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode API ja klientrakendus:&#039;&#039;&#039; [https://github.com/taavip9/Veebirakendused-II Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon  XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode veebiteenus:&#039;&#039;&#039; [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kasutusjuhend:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode klient:&#039;&#039;&#039; [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML failid:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon veebiteenusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon klientrakendusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-ile: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
* Karen Grigorjan&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* [https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0 .zip fail rakendus ja klient koos] &lt;br /&gt;
* [https://bitbucket.org/itcollegeprojects/loojang-app veebirakenduse repo] &lt;br /&gt;
* [https://bitbucket.org/itcollegeprojects/loojang-client klientrakenduse repo] &lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus XML:  link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Veebiteenusele veebiteenuse retsensioon meeskonna Curry tööle. &#039;&#039;&#039;(TEGEMISEL)&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML-ile XML retsensioon meeskonna Curry tööle. &#039;&#039;&#039;(TEGEMISEL)&#039;&#039;&#039;]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron (loobus)&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039; [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  [http://enos.itcollege.ee/~pploom/VR2/ link] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Curry meeskonna veebiteenust, klientrakendust ja XML-i retsenseerib meeskond KuldneLoojang.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;br /&gt;
&#039;&#039;&#039;Project:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/z9snrydbl5e8jp2/vr2_service-v2.zip?dl=0 Veebiteenus]&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131538</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131538"/>
		<updated>2018-06-09T12:44:17Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - MealPlannerSolo(Triin Oja)&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
*17:45 - Hammas&lt;br /&gt;
*18:00 - VariousArtists&lt;br /&gt;
*18:15 - Pillar Of Autumn&lt;br /&gt;
*18:30 - Curry&lt;br /&gt;
*18:45 - WatchWinders&lt;br /&gt;
*19:00 - MOT&lt;br /&gt;
*19:15 - AmateurBB&lt;br /&gt;
*19:30 - Autolugu&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: &lt;br /&gt;
&lt;br /&gt;
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenus ning klientrakendus.&#039;&#039;&#039; [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm (Meeskonnast lahkunud)&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode API ja klientrakendus:&#039;&#039;&#039; [https://github.com/taavip9/Veebirakendused-II Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon  XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode veebiteenus:&#039;&#039;&#039; [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kasutusjuhend:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode klient:&#039;&#039;&#039; [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML failid:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon veebiteenusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon klientrakendusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-ile: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
* Karen Grigorjan&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* [https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0 .zip fail rakendus ja klient koos] &lt;br /&gt;
* [https://bitbucket.org/itcollegeprojects/loojang-app veebirakenduse repo] &lt;br /&gt;
* [https://bitbucket.org/itcollegeprojects/loojang-client klientrakenduse repo] &lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus XML:  link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Veebiteenusele veebiteenuse retsensioon meeskonna Curry tööle. &#039;&#039;&#039;(TEGEMISEL)&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML-ile XML retsensioon meeskonna Curry tööle.]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron (loobus)&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039; [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  [http://enos.itcollege.ee/~pploom/VR2/ link] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Curry meeskonna veebiteenust, klientrakendust ja XML-i retsenseerib meeskond KuldneLoojang.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;br /&gt;
&#039;&#039;&#039;Project:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/z9snrydbl5e8jp2/vr2_service-v2.zip?dl=0 Veebiteenus]&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131537</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131537"/>
		<updated>2018-06-09T12:43:09Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - MealPlannerSolo(Triin Oja)&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
*17:45 - Hammas&lt;br /&gt;
*18:00 - VariousArtists&lt;br /&gt;
*18:15 - Pillar Of Autumn&lt;br /&gt;
*18:30 - Curry&lt;br /&gt;
*18:45 - WatchWinders&lt;br /&gt;
*19:00 - MOT&lt;br /&gt;
*19:15 - AmateurBB&lt;br /&gt;
*19:30 - Autolugu&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: &lt;br /&gt;
&lt;br /&gt;
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenus ning klientrakendus.&#039;&#039;&#039; [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm (Meeskonnast lahkunud)&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode API ja klientrakendus:&#039;&#039;&#039; [https://github.com/taavip9/Veebirakendused-II Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon  XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode veebiteenus:&#039;&#039;&#039; [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kasutusjuhend:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode klient:&#039;&#039;&#039; [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML failid:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon veebiteenusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon klientrakendusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-ile: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
* Karen Grigorjan&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* [https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0 .zip fail rakendus ja klient koos] &lt;br /&gt;
* [https://bitbucket.org/itcollegeprojects/loojang-app veebirakenduse repo] &lt;br /&gt;
* [https://bitbucket.org/itcollegeprojects/loojang-client klientrakenduse repo] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Veebiteenusele veebiteenuse retsensioon meeskonna Curry tööle. &#039;&#039;&#039;(TEGEMISEL)&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]&lt;br /&gt;
* XML retsensioon meeskonna Curry tööle.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron (loobus)&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039; [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  [http://enos.itcollege.ee/~pploom/VR2/ link] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Curry meeskonna veebiteenust, klientrakendust ja XML-i retsenseerib meeskond KuldneLoojang.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;br /&gt;
&#039;&#039;&#039;Project:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/z9snrydbl5e8jp2/vr2_service-v2.zip?dl=0 Veebiteenus]&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131536</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131536"/>
		<updated>2018-06-09T12:42:32Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - MealPlannerSolo(Triin Oja)&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
*17:45 - Hammas&lt;br /&gt;
*18:00 - VariousArtists&lt;br /&gt;
*18:15 - Pillar Of Autumn&lt;br /&gt;
*18:30 - Curry&lt;br /&gt;
*18:45 - WatchWinders&lt;br /&gt;
*19:00 - MOT&lt;br /&gt;
*19:15 - AmateurBB&lt;br /&gt;
*19:30 - Autolugu&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: &lt;br /&gt;
&lt;br /&gt;
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenus ning klientrakendus.&#039;&#039;&#039; [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm (Meeskonnast lahkunud)&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode API ja klientrakendus:&#039;&#039;&#039; [https://github.com/taavip9/Veebirakendused-II Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon  XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode veebiteenus:&#039;&#039;&#039; [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kasutusjuhend:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode klient:&#039;&#039;&#039; [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML failid:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon veebiteenusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon klientrakendusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-ile: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
* Karen Grigorjan&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* [https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0 .zip fail rakendus ja klient koos]&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Veebiteenusele veebiteenuse retsensioon meeskonna Curry tööle. &#039;&#039;&#039;(TEGEMISEL)&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]&lt;br /&gt;
* XML retsensioon meeskonna Curry tööle.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron (loobus)&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039; [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  [http://enos.itcollege.ee/~pploom/VR2/ link] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Curry meeskonna veebiteenust, klientrakendust ja XML-i retsenseerib meeskond KuldneLoojang.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;br /&gt;
&#039;&#039;&#039;Project:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/z9snrydbl5e8jp2/vr2_service-v2.zip?dl=0 Veebiteenus]&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131535</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131535"/>
		<updated>2018-06-09T12:42:09Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - MealPlannerSolo(Triin Oja)&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
*17:45 - Hammas&lt;br /&gt;
*18:00 - VariousArtists&lt;br /&gt;
*18:15 - Pillar Of Autumn&lt;br /&gt;
*18:30 - Curry&lt;br /&gt;
*18:45 - WatchWinders&lt;br /&gt;
*19:00 - MOT&lt;br /&gt;
*19:15 - AmateurBB&lt;br /&gt;
*19:30 - Autolugu&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: &lt;br /&gt;
&lt;br /&gt;
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenus ning klientrakendus.&#039;&#039;&#039; [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm (Meeskonnast lahkunud)&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode API ja klientrakendus:&#039;&#039;&#039; [https://github.com/taavip9/Veebirakendused-II Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon  XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode veebiteenus:&#039;&#039;&#039; [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kasutusjuhend:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode klient:&#039;&#039;&#039; [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML failid:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon veebiteenusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon klientrakendusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-ile: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
* Karen Grigorjan&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Veebiteenusele veebiteenuse retsensioon meeskonna Curry tööle. &#039;&#039;&#039;(TEGEMISEL)&#039;&#039;&#039;]&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]&lt;br /&gt;
* XML retsensioon meeskonna Curry tööle.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron (loobus)&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039; [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  [http://enos.itcollege.ee/~pploom/VR2/ link] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Curry meeskonna veebiteenust, klientrakendust ja XML-i retsenseerib meeskond KuldneLoojang.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;br /&gt;
&#039;&#039;&#039;Project:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/z9snrydbl5e8jp2/vr2_service-v2.zip?dl=0 Veebiteenus]&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131534</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131534"/>
		<updated>2018-06-09T12:41:22Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - MealPlannerSolo(Triin Oja)&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
*17:45 - Hammas&lt;br /&gt;
*18:00 - VariousArtists&lt;br /&gt;
*18:15 - Pillar Of Autumn&lt;br /&gt;
*18:30 - Curry&lt;br /&gt;
*18:45 - WatchWinders&lt;br /&gt;
*19:00 - MOT&lt;br /&gt;
*19:15 - AmateurBB&lt;br /&gt;
*19:30 - Autolugu&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: &lt;br /&gt;
&lt;br /&gt;
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenus ning klientrakendus.&#039;&#039;&#039; [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm (Meeskonnast lahkunud)&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode API ja klientrakendus:&#039;&#039;&#039; [https://github.com/taavip9/Veebirakendused-II Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon  XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode veebiteenus:&#039;&#039;&#039; [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kasutusjuhend:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode klient:&#039;&#039;&#039; [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML failid:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon veebiteenusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon klientrakendusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-ile: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
* Karen Grigorjan&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid: (TEGEMISEL)&#039;&#039;&#039;&lt;br /&gt;
* veebiteenuse retsensioon meeskonna Curry tööle.&lt;br /&gt;
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]&lt;br /&gt;
* XML retsensioon meeskonna Curry tööle.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron (loobus)&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039; [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  [http://enos.itcollege.ee/~pploom/VR2/ link] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Curry meeskonna veebiteenust, klientrakendust ja XML-i retsenseerib meeskond KuldneLoojang.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;br /&gt;
&#039;&#039;&#039;Project:&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/z9snrydbl5e8jp2/vr2_service-v2.zip?dl=0 Veebiteenus]&lt;br /&gt;
&amp;lt;br/&amp;gt;[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131533</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131533"/>
		<updated>2018-06-09T12:39:57Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Klientrakendusele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid meie projektile=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: BeerPressure&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang retsensioon discussioni lehel]&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
(seisuga 02.06.2018, bugide parandusi lisatud 04.06.2018)&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;br /&gt;
&lt;br /&gt;
=Meie tehtud retsensioonid=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry veebiteenusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry klientrakendusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
Meeskond Curry on loonud klientrakendusena kliendi oma poolt loodud veebiteenusele. Kaks asja koos moodustavad platvormi, mida saab kasutada krüptorahadega kauplemiseks. Platvorm toimib põhimõttele, et igaüks saab tulla ja luua omale konto, kus saab ülevaate oma krüptorahakoti seisust. Testimiseks täidetakse kasutaja rahakott juhuslike arvude generaatori abil erinevate krüptovaluutadega. Kasutajal on võimalik panna üles ordereid meelepäraste valuutapaaride vahel täpsustades soovitud hinna, koguse ja tehingu tüübi (ost või müük). Orderid jäävad seni üles, kuni leidub vastaspool, kes soovib viia läbi vastupidise tehingu. Seepärast on soovitatav rakenduse testimiseks teha kaks kontot, kelle vahel siis tehinguid ellu viia. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on teostatud Angulari raamistikus. Klientrakendus on kirjutatud veebiteenuse solutioni sisse, mistõttu käib tema käivitamine mugavalt üheskoos veebiteenusega. Klientrakenduse projekti ülesehitus on selge ja arusaadav. Kood on suudetud hoida puhas. Mõned komponendid on siiski päris suured ja võiks ollaväiksemateks osadeks jaotatud. Esineb mõningat koodi kopeerimist, mida oleks võimalik vähendada kirjutades asju komponentidesse. Näiteks tehingute teostamisel on ostu- ja müügitehingu vormid ühesugused, mida oleks lihtsalt saanud hoida ühes komponendis.&lt;br /&gt;
Rakenduse kasutamise, ega paigaldamise kohta pole mitte mingisugust informatsiooni. Õnneks on talupoja mõistusega rakenduse käivitamine siiski võimalik. Tuli avada vastav solution, luua lokaalne andmebaas ning seejärel käivitada solutionis vastav projekt (WebApp), mis pani korraga käima nii veebiteenuse kui ka klientrakenduse.&lt;br /&gt;
Järgnevalt mõningaid tähelepanekuid rakenduse kasutamise kohta:&lt;br /&gt;
&lt;br /&gt;
* Kasutaja loomisel valideeritakse kenasti kasutajaandmeid. Pole võimalik sisestada liiga lühikest nime või liiga lihtsat parooli. Kasutaja loomisel antakse kenasti tagasisidet, kui üritatakse luua kasutajat, kelle kasutajanimi või email on juba kasutusel.&lt;br /&gt;
* Kasutajal on võimalik muuta kasutajaandmeid - eesnimi, perekonna nimi ning email. Paraku pole võimalik muuta ei parooli ega kasutajanime.&lt;br /&gt;
* Klientrakendus näeb selge ja puhas välja. See on saavutatud Bootstrap CSS raamistiku kasutamisega. &lt;br /&gt;
* Äriloogika on krüptovaluutade-võõrale kasutajale pisut segane. Kliendi vaatest on näha, et kauplemine on võimalik vaid kahe valuuta suhtes (Bitcoin ja Ethereum). See tähendab, et üks kahest peab olema alati valitud. Seejärel saab kasutaja valida, mis valuuta on tehingu vastaspooleks. See tähendab, et kui näiteks soovitakse vahetada Monero valuuta Agrello vastu, siis  tuleb kõige pealt Monero vahetada Ethereumi vastu, mis seejärel vahetatakse  Bitcoini vastu, mille eest lõpuks saab osta Agrello valuutat.&lt;br /&gt;
* Huvitaval kombel saab kasutaja olla iseenda tehingu vastaspooleks. See tähendab, et kui kasutaja on pannud üles orderi ostmiseks ja seejärel ka müümiseks, siis ka selline tehing läbi viiakse.&lt;br /&gt;
* Klientrakenduses on puudu loogilisi funktsionaalsuseid, mis võiks olla seda sorti platvormil realiseeritud. Näiteks kasutajana sooviksin näha enda poolt läbiviidud tehingute ajalugu või sooviksin tühistada enda poolt üles pandud orderieid, jne.&lt;br /&gt;
* Kliendipoolelt paistab välja üks äriloogika viga. Näiteks kasutaja krüptovaluutade bilanss ei muutu nii nagu eeldaks. Viies läbi müügi tehingu, kus hind on 10 ja kogus 5, siis müüdava valuuta kogus väheneb vaid 5 võrra, mitte 50 võrra nagu oleks eeldanud. Seda kas selle vea põhjustab kliendi või rakenduse pool peaks välja selgitama koodi põhjalikum analüüs.&lt;br /&gt;
* Selliseid vigu, mis suudaksid klientrakenduse kokkujooksutada või panna ta andma veateatei, ei suudetud leida.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond Curry on näidanud, et oskavad klientrakendust luua ning saavad aru kuidas klientrakendus peab suhtlema veebiteenusega. Puudused, mis saab välja tuua pole tehnilist laadi vaid pigem seotud sellega, et klientrakenduse poolele on realiseeritud skoop väiksem, kui võiks antud rakendusest eeldada.&lt;br /&gt;
&lt;br /&gt;
==XML-ile==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry XML-ile [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131532</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131532"/>
		<updated>2018-06-09T12:37:35Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Klientrakendusele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid meie projektile=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: BeerPressure&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang retsensioon discussioni lehel]&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
(seisuga 02.06.2018, bugide parandusi lisatud 04.06.2018)&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;br /&gt;
&lt;br /&gt;
=Meie tehtud retsensioonid=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry veebiteenusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry klientrakendusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
Meeskond Curry on loonud klientrakendusena kliendi oma poolt loodud veebiteenusele. Kaks asja koos moodustavad platvormi, mida saab kasutada krüptorahadega kauplemiseks. Platvorm toimib põhimõttele, et igaüks saab tulla ja luua omale konto, kus saab ülevaate oma krüptorahakoti seisust. Testimiseks täidetakse kasutaja rahakott juhuslike arvude generaatori abil erinevate krüptovaluutadega. Kasutajal on võimalik panna üles ordereid meelepäraste valuutapaaride vahel täpsustades soovitud hinna, koguse ja tehingu tüübi (ost või müük). Orderid jäävad seni üles, kuni leidub vastaspool, kes soovib viia läbi vastupidise tehingu. Seepärast on soovitatav rakenduse testimiseks teha kaks kontot, kelle vahel siis tehinguid ellu viia. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on teostatud Angulari raamistikus. Klientrakendus on kirjutatud veebiteenuse solutioni sisse, mistõttu käib tema käivitamine mugavalt üheskoos veebiteenusega. Klientrakenduse projekti ülesehitus on selge ja arusaadav. Kood on suudetud hoida puhas. Mõned komponendid on siiski päris suured ja võiks ollaväiksemateks osadeks jaotatud. Esineb mõningat koodi kopeerimist, mida oleks võimalik vähendada kirjutades asju komponentidesse. Näiteks tehingute teostamisel on ostu- ja müügitehingu vormid ühesugused, mida oleks lihtsalt saanud hoida ühes komponendis.&lt;br /&gt;
Rakenduse kasutamise, ega paigaldamise kohta pole mitte mingisugust informatsiooni. Õnneks on talupoja mõistusega rakenduse käivitamine siiski võimalik. Tuli avada vastav solution, luua lokaalne andmebaas ning seejärel käivitada solutionis vastav projekt (WebApp), mis pani korraga käima nii veebiteenuse kui ka klientrakenduse.&lt;br /&gt;
Järgnevalt mõningaid tähelepanekuid rakenduse kasutamise kohta:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Kasutaja loomisel valideeritakse kenasti kasutajaandmeid. Pole võimalik sisestada liiga lühikest nime või liiga lihtsat parooli. Kasutaja loomisel antakse kenasti tagasisidet, kui üritatakse luua kasutajat, kelle kasutajanimi või email on juba kasutusel.&lt;br /&gt;
* Kasutajal on võimalik muuta kasutajaandmeid - eesnimi, perekonna nimi ning email. Paraku pole võimalik muuta ei parooli ega kasutajanime.&lt;br /&gt;
* Klientrakendus näeb selge ja puhas välja. See on saavutatud Bootstrap CSS raamistiku kasutamisega. &lt;br /&gt;
* Äriloogika on krüptovaluutade-võõrale kasutajale pisut segane. Kliendi vaatest on näha, et kauplemine on võimalik vaid kahe valuuta suhtes (Bitcoin ja Ethereum). See tähendab, et üks kahest peab olema alati valitud. Seejärel saab kasutaja valida, mis valuuta on tehingu vastaspooleks. See tähendab, et kui näiteks soovitakse vahetada Monero valuuta Agrello vastu, siis  tuleb kõige pealt Monero vahetada Ethereumi vastu, mis seejärel vahetatakse  Bitcoini vastu, mille eest lõpuks saab osta Agrello valuutat.&lt;br /&gt;
* Huvitaval kombel saab kasutaja olla iseenda tehingu vastaspooleks. See tähendab, et kui kasutaja on pannud üles orderi ostmiseks ja seejärel ka müümiseks, siis ka selline tehing läbi viiakse.&lt;br /&gt;
* Klientrakenduses on puudu loogilisi funktsionaalsuseid, mis võiks olla seda sorti platvormil realiseeritud. Näiteks kasutajana sooviksin näha enda poolt läbiviidud tehingute ajalugu või sooviksin tühistada enda poolt üles pandud orderieid, jne.&lt;br /&gt;
* Kliendipoolelt paistab välja üks äriloogika viga. Näiteks kasutaja krüptovaluutade bilanss ei muutu nii nagu eeldaks. Viies läbi müügi tehingu, kus hind on 10 ja kogus 5, siis müüdava valuuta kogus väheneb vaid 5 võrra, mitte 50 võrra nagu oleks eeldanud. Seda kas selle vea põhjustab kliendi või rakenduse pool peaks välja selgitama koodi põhjalikum analüüs.&lt;br /&gt;
* Selliseid vigu, mis suudaksid klientrakenduse kokkujooksutada või panna ta andma veateatei, ei suudetud leida.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond Curry on näidanud, et oskavad klientrakendust luua ning saavad aru kuidas klientrakendus peab suhtlema veebiteenusega. Puudused, mis saab välja tuua pole tehnilist laadi vaid pigem seotud sellega, et klientrakenduse poolele on realiseeritud skoop väiksem, kui võiks antud rakendusest eeldada.&lt;br /&gt;
&lt;br /&gt;
==XML-ile==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry XML-ile [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131531</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131531"/>
		<updated>2018-06-09T12:37:24Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Klientrakendusele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid meie projektile=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: BeerPressure&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang retsensioon discussioni lehel]&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
(seisuga 02.06.2018, bugide parandusi lisatud 04.06.2018)&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;br /&gt;
&lt;br /&gt;
=Meie tehtud retsensioonid=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry veebiteenusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry klientrakendusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
Meeskond Curry on loonud klientrakendusena kliendi oma poolt loodud veebiteenusele. Kaks asja koos moodustavad platvormi, mida saab kasutada krüptorahadega kauplemiseks. Platvorm toimib põhimõttele, et igaüks saab tulla ja luua omale konto, kus saab ülevaate oma krüptorahakoti seisust. Testimiseks täidetakse kasutaja rahakott juhuslike arvude generaatori abil erinevate krüptovaluutadega. Kasutajal on võimalik panna üles ordereid meelepäraste valuutapaaride vahel täpsustades soovitud hinna, koguse ja tehingu tüübi (ost või müük). Orderid jäävad seni üles, kuni leidub vastaspool, kes soovib viia läbi vastupidise tehingu. Seepärast on soovitatav rakenduse testimiseks teha kaks kontot, kelle vahel siis tehinguid ellu viia. &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Klientrakendus on teostatud Angulari raamistikus. Klientrakendus on kirjutatud veebiteenuse solutioni sisse, mistõttu käib tema käivitamine mugavalt üheskoos veebiteenusega. Klientrakenduse projekti ülesehitus on selge ja arusaadav. Kood on suudetud hoida puhas. Mõned komponendid on siiski päris suured ja võiks ollaväiksemateks osadeks jaotatud. Esineb mõningat koodi kopeerimist, mida oleks võimalik vähendada kirjutades asju komponentidesse. Näiteks tehingute teostamisel on ostu- ja müügitehingu vormid ühesugused, mida oleks lihtsalt saanud hoida ühes komponendis.&lt;br /&gt;
Rakenduse kasutamise, ega paigaldamise kohta pole mitte mingisugust informatsiooni. Õnneks on talupoja mõistusega rakenduse käivitamine siiski võimalik. Tuli avada vastav solution, luua lokaalne andmebaas ning seejärel käivitada solutionis vastav projekt (WebApp), mis pani korraga käima nii veebiteenuse kui ka klientrakenduse.&lt;br /&gt;
Järgnevalt mõningaid tähelepanekuid rakenduse kasutamise kohta:&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* Kasutaja loomisel valideeritakse kenasti kasutajaandmeid. Pole võimalik sisestada liiga lühikest nime või liiga lihtsat parooli. Kasutaja loomisel antakse kenasti tagasisidet, kui üritatakse luua kasutajat, kelle kasutajanimi või email on juba kasutusel.&lt;br /&gt;
* Kasutajal on võimalik muuta kasutajaandmeid - eesnimi, perekonna nimi ning email. Paraku pole võimalik muuta ei parooli ega kasutajanime.&lt;br /&gt;
* Klientrakendus näeb selge ja puhas välja. See on saavutatud Bootstrap CSS raamistiku kasutamisega. &lt;br /&gt;
* Äriloogika on krüptovaluutade-võõrale kasutajale pisut segane. Kliendi vaatest on näha, et kauplemine on võimalik vaid kahe valuuta suhtes (Bitcoin ja Ethereum). See tähendab, et üks kahest peab olema alati valitud. Seejärel saab kasutaja valida, mis valuuta on tehingu vastaspooleks. See tähendab, et kui näiteks soovitakse vahetada Monero valuuta Agrello vastu, siis  tuleb kõige pealt Monero vahetada Ethereumi vastu, mis seejärel vahetatakse  Bitcoini vastu, mille eest lõpuks saab osta Agrello valuutat.&lt;br /&gt;
* Huvitaval kombel saab kasutaja olla iseenda tehingu vastaspooleks. See tähendab, et kui kasutaja on pannud üles orderi ostmiseks ja seejärel ka müümiseks, siis ka selline tehing läbi viiakse.&lt;br /&gt;
* Klientrakenduses on puudu loogilisi funktsionaalsuseid, mis võiks olla seda sorti platvormil realiseeritud. Näiteks kasutajana sooviksin näha enda poolt läbiviidud tehingute ajalugu või sooviksin tühistada enda poolt üles pandud orderieid, jne.&lt;br /&gt;
* Kliendipoolelt paistab välja üks äriloogika viga. Näiteks kasutaja krüptovaluutade bilanss ei muutu nii nagu eeldaks. Viies läbi müügi tehingu, kus hind on 10 ja kogus 5, siis müüdava valuuta kogus väheneb vaid 5 võrra, mitte 50 võrra nagu oleks eeldanud. Seda kas selle vea põhjustab kliendi või rakenduse pool peaks välja selgitama koodi põhjalikum analüüs.&lt;br /&gt;
** Selliseid vigu, mis suudaksid klientrakenduse kokkujooksutada või panna ta andma veateatei, ei suudetud leida.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond Curry on näidanud, et oskavad klientrakendust luua ning saavad aru kuidas klientrakendus peab suhtlema veebiteenusega. Puudused, mis saab välja tuua pole tehnilist laadi vaid pigem seotud sellega, et klientrakenduse poolele on realiseeritud skoop väiksem, kui võiks antud rakendusest eeldada.&lt;br /&gt;
&lt;br /&gt;
==XML-ile==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry XML-ile [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131530</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131530"/>
		<updated>2018-06-09T12:37:02Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Klientrakendusele */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid meie projektile=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: BeerPressure&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang retsensioon discussioni lehel]&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
(seisuga 02.06.2018, bugide parandusi lisatud 04.06.2018)&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;br /&gt;
&lt;br /&gt;
=Meie tehtud retsensioonid=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry veebiteenusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry klientrakendusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
Meeskond Curry on loonud klientrakendusena kliendi oma poolt loodud veebiteenusele. Kaks asja koos moodustavad platvormi, mida saab kasutada krüptorahadega kauplemiseks. Platvorm toimib põhimõttele, et igaüks saab tulla ja luua omale konto, kus saab ülevaate oma krüptorahakoti seisust. Testimiseks täidetakse kasutaja rahakott juhuslike arvude generaatori abil erinevate krüptovaluutadega. Kasutajal on võimalik panna üles ordereid meelepäraste valuutapaaride vahel täpsustades soovitud hinna, koguse ja tehingu tüübi (ost või müük). Orderid jäävad seni üles, kuni leidub vastaspool, kes soovib viia läbi vastupidise tehingu. Seepärast on soovitatav rakenduse testimiseks teha kaks kontot, kelle vahel siis tehinguid ellu viia. &lt;br /&gt;
&lt;br /&gt;
Klientrakendus on teostatud Angulari raamistikus. Klientrakendus on kirjutatud veebiteenuse solutioni sisse, mistõttu käib tema käivitamine mugavalt üheskoos veebiteenusega. Klientrakenduse projekti ülesehitus on selge ja arusaadav. Kood on suudetud hoida puhas. Mõned komponendid on siiski päris suured ja võiks ollaväiksemateks osadeks jaotatud. Esineb mõningat koodi kopeerimist, mida oleks võimalik vähendada kirjutades asju komponentidesse. Näiteks tehingute teostamisel on ostu- ja müügitehingu vormid ühesugused, mida oleks lihtsalt saanud hoida ühes komponendis.&lt;br /&gt;
Rakenduse kasutamise, ega paigaldamise kohta pole mitte mingisugust informatsiooni. Õnneks on talupoja mõistusega rakenduse käivitamine siiski võimalik. Tuli avada vastav solution, luua lokaalne andmebaas ning seejärel käivitada solutionis vastav projekt (WebApp), mis pani korraga käima nii veebiteenuse kui ka klientrakenduse.&lt;br /&gt;
Järgnevalt mõningaid tähelepanekuid rakenduse kasutamise kohta:&lt;br /&gt;
&lt;br /&gt;
* Kasutaja loomisel valideeritakse kenasti kasutajaandmeid. Pole võimalik sisestada liiga lühikest nime või liiga lihtsat parooli. Kasutaja loomisel antakse kenasti tagasisidet, kui üritatakse luua kasutajat, kelle kasutajanimi või email on juba kasutusel.&lt;br /&gt;
* Kasutajal on võimalik muuta kasutajaandmeid - eesnimi, perekonna nimi ning email. Paraku pole võimalik muuta ei parooli ega kasutajanime.&lt;br /&gt;
* Klientrakendus näeb selge ja puhas välja. See on saavutatud Bootstrap CSS raamistiku kasutamisega. &lt;br /&gt;
* Äriloogika on krüptovaluutade-võõrale kasutajale pisut segane. Kliendi vaatest on näha, et kauplemine on võimalik vaid kahe valuuta suhtes (Bitcoin ja Ethereum). See tähendab, et üks kahest peab olema alati valitud. Seejärel saab kasutaja valida, mis valuuta on tehingu vastaspooleks. See tähendab, et kui näiteks soovitakse vahetada Monero valuuta Agrello vastu, siis  tuleb kõige pealt Monero vahetada Ethereumi vastu, mis seejärel vahetatakse  Bitcoini vastu, mille eest lõpuks saab osta Agrello valuutat.&lt;br /&gt;
* Huvitaval kombel saab kasutaja olla iseenda tehingu vastaspooleks. See tähendab, et kui kasutaja on pannud üles orderi ostmiseks ja seejärel ka müümiseks, siis ka selline tehing läbi viiakse.&lt;br /&gt;
Klientrakenduses on puudu loogilisi funktsionaalsuseid, mis võiks olla seda sorti platvormil realiseeritud. Näiteks kasutajana sooviksin näha enda poolt läbiviidud tehingute ajalugu või sooviksin tühistada enda poolt üles pandud orderieid, jne.&lt;br /&gt;
* Kliendipoolelt paistab välja üks äriloogika viga. Näiteks kasutaja krüptovaluutade bilanss ei muutu nii nagu eeldaks. Viies läbi müügi tehingu, kus hind on 10 ja kogus 5, siis müüdava valuuta kogus väheneb vaid 5 võrra, mitte 50 võrra nagu oleks eeldanud. Seda kas selle vea põhjustab kliendi või rakenduse pool peaks välja selgitama koodi põhjalikum analüüs.&lt;br /&gt;
** Selliseid vigu, mis suudaksid klientrakenduse kokkujooksutada või panna ta andma veateatei, ei suudetud leida.&lt;br /&gt;
&lt;br /&gt;
Kokkuvõtvalt võib öelda, et meeskond Curry on näidanud, et oskavad klientrakendust luua ning saavad aru kuidas klientrakendus peab suhtlema veebiteenusega. Puudused, mis saab välja tuua pole tehnilist laadi vaid pigem seotud sellega, et klientrakenduse poolele on realiseeritud skoop väiksem, kui võiks antud rakendusest eeldada.&lt;br /&gt;
&lt;br /&gt;
==XML-ile==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry XML-ile [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131529</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131529"/>
		<updated>2018-06-09T12:23:56Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Retsensioonid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid meie projektile=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: BeerPressure&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang retsensioon discussioni lehel]&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
(seisuga 02.06.2018, bugide parandusi lisatud 04.06.2018)&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;br /&gt;
&lt;br /&gt;
=Meie tehtud retsensioonid=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry veebiteenusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry klientrakendusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML-ile==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry XML-ile [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131528</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131528"/>
		<updated>2018-06-09T12:23:35Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Retsensioonid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid meie projektile=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: BeerPressure&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang retsensioon discussioni lehel]&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
(seisuga 02.06.2018, bugide parandusi lisatud 04.06.2018)&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry veebiteenusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry klientrakendusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML-ile==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry XML-ile [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131527</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131527"/>
		<updated>2018-06-09T12:22:22Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Retsensioonid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: BeerPressure&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang retsensioon discussioni lehel]&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
(seisuga 02.06.2018, bugide parandusi lisatud 04.06.2018)&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry veebiteenusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendusele==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry klientrakendusele [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML-ile==&lt;br /&gt;
&#039;&#039;&#039;Retsensioon meeskond Curry XML-ile [https://wiki.itcollege.ee/index.php/Meeskond:Curry link]&#039;&#039;&#039;&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131526</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131526"/>
		<updated>2018-06-09T12:18:35Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: BeerPressure&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang retsensioon discussioni lehel]&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
(seisuga 02.06.2018, bugide parandusi lisatud 04.06.2018)&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
&lt;br /&gt;
==Veebiteenusele==&lt;br /&gt;
Retsensioon meeskond Curry veebiteenusele (https://wiki.itcollege.ee/index.php/Meeskond:Curry)&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendusele==&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML-ile==&lt;br /&gt;
TODO&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131507</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131507"/>
		<updated>2018-06-09T10:28:09Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - MealPlannerSolo(Triin Oja)&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
*17:45 - Hammas&lt;br /&gt;
*18:00 - VariousArtists&lt;br /&gt;
*18:15 - Pillar Of Autumn&lt;br /&gt;
*18:30 - Curry&lt;br /&gt;
*18:45 - WatchWinders&lt;br /&gt;
*19:00 - MOT&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenus ning klientrakendus.&#039;&#039;&#039; [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm (Meeskonnast lahkunud)&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode API ja klientrakendus:&#039;&#039;&#039; [https://github.com/taavip9/Veebirakendused-II Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon  XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode veebiteenus:&#039;&#039;&#039; [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kasutusjuhend:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode klient:&#039;&#039;&#039; [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML failid:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon veebiteenusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon klientrakendusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-ile: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid: (TEGEMISEL)&#039;&#039;&#039;&lt;br /&gt;
* veebiteenuse retsensioon meeskonna Curry tööle.&lt;br /&gt;
* klientrakenduse retsensioon meeskonna Curry tööle.&lt;br /&gt;
* XML retsensioon meeskonna Curry tööle.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron (loobus)&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039; [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  [http://enos.itcollege.ee/~pploom/VR2/ link] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Curry meeskonna veebiteenust, klientrakendust ja XML-i retsenseerib meeskond KuldneLoojang.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131506</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131506"/>
		<updated>2018-06-09T10:24:31Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Meeskond: Curry */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - MealPlannerSolo(Triin Oja)&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
*17:45 - Hammas&lt;br /&gt;
*18:00 - VariousArtists&lt;br /&gt;
*18:15 - Pillar Of Autumn&lt;br /&gt;
*18:30 - Curry&lt;br /&gt;
*18:45 - WatchWinders&lt;br /&gt;
*19:00 - MOT&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenus ning klientrakendus.&#039;&#039;&#039; [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm (Meeskonnast lahkunud)&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode API ja klientrakendus:&#039;&#039;&#039; [https://github.com/taavip9/Veebirakendused-II Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon  XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode veebiteenus:&#039;&#039;&#039; [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kasutusjuhend:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode klient:&#039;&#039;&#039; [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML failid:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon veebiteenusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon klientrakendusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-ile: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron (loobus)&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039; [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  [http://enos.itcollege.ee/~pploom/VR2/ link] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Curry meeskonna veebiteenust, klientrakendust ja XML-i retsenseerib meeskond KuldneLoojang.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131505</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131505"/>
		<updated>2018-06-09T10:23:40Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Meeskond: Curry */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - MealPlannerSolo(Triin Oja)&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
*17:45 - Hammas&lt;br /&gt;
*18:00 - VariousArtists&lt;br /&gt;
*18:15 - Pillar Of Autumn&lt;br /&gt;
*18:30 - Curry&lt;br /&gt;
*18:45 - WatchWinders&lt;br /&gt;
*19:00 - MOT&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenus ning klientrakendus.&#039;&#039;&#039; [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm (Meeskonnast lahkunud)&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode API ja klientrakendus:&#039;&#039;&#039; [https://github.com/taavip9/Veebirakendused-II Lõpptoode]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon  XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode veebiteenus:&#039;&#039;&#039; [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Kasutusjuhend:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode klient:&#039;&#039;&#039; [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]&amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML failid:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon veebiteenusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon klientrakendusele: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
Retsensioon XML-ile: TODO&amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron (loobus)&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039; [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon: &#039;&#039;&#039; &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  [http://enos.itcollege.ee/~pploom/VR2/ link] &amp;lt;br&amp;gt;&lt;br /&gt;
&lt;br /&gt;
Klientrakendust retsenseerib meeskond KuldneLoojang.&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Veebiteenuse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Klientrakenduse retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML retsensioon&#039;&#039;&#039; meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]&#039;&#039;&#039;&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131366</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131366"/>
		<updated>2018-06-05T19:24:18Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Kaitsmisele registreerumine */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
Sellele päevale rohkem aegu juurde lisada ei saa&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;06.06.2018&#039;&#039;&#039;&lt;br /&gt;
*17:00 - Raamaturiiul&lt;br /&gt;
*17:15 - Pakiraam&lt;br /&gt;
*..&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - Triin Oja&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - &amp;amp;lt;div&amp;amp;gt;&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
*17:00 - JääTuli&lt;br /&gt;
*17:15 - Ophelia&lt;br /&gt;
*17:30 - Kuldne Loojang&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]&lt;br /&gt;
&lt;br /&gt;
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse ja klientrakenduse retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud  Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML failide retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://ildtest.azurewebsites.net azure]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/lundens/ild-core github]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;XML&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]&lt;br /&gt;
&amp;lt;br/&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid&#039;&#039;&#039; In progress&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&#039;&#039;&#039;[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail: XML]&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131279</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131279"/>
		<updated>2018-06-04T20:33:08Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Lõpptoode */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
(seisuga 02.06.2018, bugide parandusi lisatud 04.06.2018)&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131278</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131278"/>
		<updated>2018-06-04T20:32:56Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Lõpptoode(seisuga 2. juuni 2018) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode===&lt;br /&gt;
(seisuga 02.06.2018, bugide parandusi lisatud 04.06.2018)&lt;br /&gt;
https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131277</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131277"/>
		<updated>2018-06-04T20:32:16Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
&lt;br /&gt;
Sellel päeval pole rohkem aegu pakkuda hetkel. Kes ära ei mahtunud, siis palun lisage oma nimed siia&lt;br /&gt;
*RaamatuRiiul&lt;br /&gt;
*Pakiraam&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - Triin Oja&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - ..&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse ja klientrakenduse retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele :&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: TODO&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud: tegemisel&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039;&lt;br /&gt;
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018&lt;br /&gt;
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML retsensioon:&#039;&#039;&#039; TODO &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131276</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131276"/>
		<updated>2018-06-04T20:31:18Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - Miisiks&lt;br /&gt;
*15:15 - Maagikud &lt;br /&gt;
*15:30 - GoFood&lt;br /&gt;
*15:45 - Raavo V2™&lt;br /&gt;
*16:00 - LearnToDrive&lt;br /&gt;
&lt;br /&gt;
Sellel päeval pole rohkem aegu pakkuda hetkel. Kes ära ei mahtunud, siis palun lisage oma nimed siia&lt;br /&gt;
*RaamatuRiiul&lt;br /&gt;
*Pakiraam&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;09.06.2018&#039;&#039;&#039;&lt;br /&gt;
*16:00 - Triin Oja&lt;br /&gt;
*16:15 - Beer Pressure&lt;br /&gt;
*16:30 - ..&lt;br /&gt;
*16:45 - NutriCheck&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie veebiteenuse ja klientrakenduse retsensioonid meeskonnale Miisiiks:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 klientrakendusele :&lt;br /&gt;
&lt;br /&gt;
Retsensioon meeskonna Raavo v2 veebiteenusele:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
Lõpptoode: TODO&lt;br /&gt;
&lt;br /&gt;
Meie rühma kirjutatud retsentsioonid rühmale Maagikud: tegemisel&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]&lt;br /&gt;
&lt;br /&gt;
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid meeskonnale Raavo V2™&lt;br /&gt;
&lt;br /&gt;
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
Retsensioonid rühmale [https://wiki.itcollege.ee/index.php/Miisiiks Miisiiks™]: [https://docs.google.com/document/d/1gQmas-Fay_XHHhLInKM92152vYeFdFflDIRozN63mxA/edit?usp=sharing veebiteenus, klientrakendus ja XML]&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode&#039;&#039;&#039; (algselt üles laetud 2. juunil 2018, 4. juunil lisatud bugide parandusi kliendile)&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;XML:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML retsensioon:&#039;&#039;&#039; TODO &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud klientrakenduse retsensioon:&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar (loobus)&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/ &amp;lt;br&amp;gt;&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse, klientrakenduse ja XML&#039;i retsensioon:&#039;&#039;&#039; [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131100</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131100"/>
		<updated>2018-06-02T11:14:29Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Projektliikmete panus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode(seisuga 2. juuni 2018)===&lt;br /&gt;
https://www.dropbox.com/s/0qs4zcon2bsnr72/loojang.zip?dl=0&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine, analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131099</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131099"/>
		<updated>2018-06-02T11:13:39Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Tegevuste logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode(seisuga 2. juuni 2018)===&lt;br /&gt;
https://www.dropbox.com/s/0qs4zcon2bsnr72/loojang.zip?dl=0&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine)analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ta ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131098</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131098"/>
		<updated>2018-06-02T11:13:17Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Klientrakendus. */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode(seisuga 2. juuni 2018)===&lt;br /&gt;
https://www.dropbox.com/s/0qs4zcon2bsnr72/loojang.zip?dl=0&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsud käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine)analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ta ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131097</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131097"/>
		<updated>2018-06-02T11:11:59Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Käivitamine (retsensentidele) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode(seisuga 2. juuni 2018)===&lt;br /&gt;
https://www.dropbox.com/s/0qs4zcon2bsnr72/loojang.zip?dl=0&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
===Ettevalmistus.===&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus.===&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus.===&lt;br /&gt;
Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsudkäivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine)analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ta ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131096</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131096"/>
		<updated>2018-06-02T11:11:36Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Käivitamine (retsensentidele) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode(seisuga 2. juuni 2018)===&lt;br /&gt;
https://www.dropbox.com/s/0qs4zcon2bsnr72/loojang.zip?dl=0&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
&#039;&#039;&#039;Ettevalmistus.&#039;&#039;&#039;&lt;br /&gt;
Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus.&#039;&#039;&#039;&lt;br /&gt;
Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus.&#039;&#039;&#039; Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks ning käsudkäivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine)analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ta ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131095</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131095"/>
		<updated>2018-06-02T11:10:52Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Käivitamine (retsensentidele) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode(seisuga 2. juuni 2018)===&lt;br /&gt;
https://www.dropbox.com/s/0qs4zcon2bsnr72/loojang.zip?dl=0&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
&#039;&#039;&#039;Ettevalmistus.&#039;&#039;&#039; Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus.&#039;&#039;&#039; Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus.&#039;&#039;&#039; Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
ning käivitamiseks:&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine)analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ta ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131094</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131094"/>
		<updated>2018-06-02T11:10:35Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Käivitamine (retsensentidele) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode(seisuga 2. juuni 2018)===&lt;br /&gt;
https://www.dropbox.com/s/0qs4zcon2bsnr72/loojang.zip?dl=0&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
&#039;&#039;&#039;Ettevalmistus.&#039;&#039;&#039; Projekti paigaldamiseks on kaks varianti: 1) kloonida mõlemad repositooriumid või 2) alla laadida .zip fail ning lahti pakkida see sobivasse kohta. Viimasel juhul paigaldatakse nii veebi- kui ka klientrakendus korraga.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus.&#039;&#039;&#039; Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. Sellisel juhul tuleb vastav aadress meelde jätta ning kopeerida see klientrakenduse sätetesse. Vastasel juhul ei oska klient veebirakenduse poole pöörduda.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus.&#039;&#039;&#039; Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks:&lt;br /&gt;
&#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid)&lt;br /&gt;
&lt;br /&gt;
ning käivitamiseks:&lt;br /&gt;
&#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; (vastavalt inglise või eesti keelse rakenduse käivitamiseks)&lt;br /&gt;
&lt;br /&gt;
Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine)analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ta ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131093</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131093"/>
		<updated>2018-06-02T11:08:02Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Kood / Versioonihaldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
**Kristjan Peterson - ei osalenud arenduses&lt;br /&gt;
&lt;br /&gt;
Lõpptooted:&lt;br /&gt;
* Veebiteenus ja klientrakendus: [https://wiki.itcollege.ee/index.php/Kuldneloojang#L.C3.B5pptoode Link antud lehe peatükile] &lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &#039;&#039;&#039;Kes soovib retsenseerida?&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
TODO&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Lõpptoode(seisuga 2. juuni 2018)===&lt;br /&gt;
https://www.dropbox.com/s/0qs4zcon2bsnr72/loojang.zip?dl=0&lt;br /&gt;
&lt;br /&gt;
===Versiooni haldus===&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus&#039;&#039;&#039;&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
&#039;&#039;&#039;Ettevalmistus.&#039;&#039;&#039; Kloonida mõlemad repositooriumid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus.&#039;&#039;&#039; Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik vaated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda veebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On võimalik, et igas süsteemis on see erinev. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klientrakendus.&#039;&#039;&#039; Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks &#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid) ning käivitamiseks &#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; vastavalt inglise või eesti keelse rakenduse käivitamiseks. Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klient päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid uued loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
Uues andmebaasis esimest korda käivitamisel täidetakse baasis ainult FrequencyTypes tabel, ülejäänud info patsientide, tubade jne kohta tuleb retsensendil ise klientrakendusse sisestada ja asuda seoseid looma. Kuna teiste rollide õigused on muudatuste tegemiseks andmebaasis on piiratud, tuleks alustada andmete sisestamist rollis &amp;quot;admin&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
* 2018-06-01 Veebiteenuse ja klientrakenduse kokkuvõtte lisamine&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine)analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ta ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131092</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131092"/>
		<updated>2018-06-02T11:04:40Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - ..&lt;br /&gt;
*15:15 - ..&lt;br /&gt;
*15:30 - ..&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Madis Heinsoo&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Margus Kildemaa&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode&#039;&#039;&#039; (seisuga 2. juuni 2018)&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/0qs4zcon2bsnr72/loojang.zip?dl=0&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; https://github.com/sikumiku/TaisKohtApi  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML retsensioon:&#039;&#039;&#039; TODO &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse ja klientrakenduse retsensioon:&#039;&#039;&#039; https://wiki.itcollege.ee/index.php/Talk:MOT, TODO&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131091</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131091"/>
		<updated>2018-06-02T10:59:28Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - ..&lt;br /&gt;
*15:15 - ..&lt;br /&gt;
*15:30 - ..&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Madis Heinsoo&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Margus Kildemaa&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed&#039;&#039;&#039;:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode&#039;&#039;&#039; (seisuga 2. juuni 2018)&#039;&#039;&#039;:&#039;&#039;&#039;&lt;br /&gt;
* .zip fail rakendus ja klient koos: http://enos.itcollege.ee/~aseiman/vrii/loojang.zip&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Retsensioonid:&#039;&#039;&#039;&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; https://github.com/sikumiku/TaisKohtApi  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML retsensioon:&#039;&#039;&#039; TODO &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse ja klientrakenduse retsensioon:&#039;&#039;&#039; https://wiki.itcollege.ee/index.php/Talk:MOT, TODO&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131090</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131090"/>
		<updated>2018-06-02T10:58:55Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - ..&lt;br /&gt;
*15:15 - ..&lt;br /&gt;
*15:30 - ..&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Madis Heinsoo&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Margus Kildemaa&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Lõpptoode (seisuga 2. juuni 2018):&lt;br /&gt;
* .zip fail rakendus ja klient koos: http://enos.itcollege.ee/~aseiman/vrii/loojang.zip&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; https://github.com/sikumiku/TaisKohtApi  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML retsensioon:&#039;&#039;&#039; TODO &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse ja klientrakenduse retsensioon:&#039;&#039;&#039; https://wiki.itcollege.ee/index.php/Talk:MOT, TODO&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131089</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131089"/>
		<updated>2018-06-02T10:58:34Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - ..&lt;br /&gt;
*15:15 - ..&lt;br /&gt;
*15:30 - ..&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Madis Heinsoo&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&#039;&#039;&#039;Meie XML:&#039;&#039;&#039; https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Margus Kildemaa&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]&lt;br /&gt;
&lt;br /&gt;
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]&lt;br /&gt;
&lt;br /&gt;
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
Lõpptoode (seisuga 2. juuni 2018):&lt;br /&gt;
* .zip fail rakendus ja klient koos: http://enos.itcollege.ee/~aseiman/vrii/loojang.zip&lt;br /&gt;
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app&lt;br /&gt;
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
* TODO&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler (loobus)&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; https://github.com/sikumiku/TaisKohtApi  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML retsensioon:&#039;&#039;&#039; TODO &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse ja klientrakenduse retsensioon:&#039;&#039;&#039; https://wiki.itcollege.ee/index.php/Talk:MOT, TODO&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131014</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131014"/>
		<updated>2018-05-31T20:38:22Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Käivitamine (retsensentidele) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
Projektide asukohad:&lt;br /&gt;
* Veebiteenus: TODO&lt;br /&gt;
* Klientrakendus: TODO&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
&lt;br /&gt;
=Meeskonnatöö=&lt;br /&gt;
Kes millega on tegelenud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
&#039;&#039;&#039;Ettevalmistus.&#039;&#039;&#039; Kloonida mõlemad repositooriumid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus.&#039;&#039;&#039; Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik aated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda vebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On täiesti võimali, et igas süsteemis on see erinev.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klinetrakendus.&#039;&#039;&#039; Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks &#039;&#039;&#039;npm install&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid) ning käivitamiseks &#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; vastavalt inglise või eesti keelse rakenduse käivitamiseks. Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klinet on päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine)analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ta ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131013</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131013"/>
		<updated>2018-05-31T20:37:46Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Käivitamine (retsensentidele) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
Projektide asukohad:&lt;br /&gt;
* Veebiteenus: TODO&lt;br /&gt;
* Klientrakendus: TODO&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
&lt;br /&gt;
=Meeskonnatöö=&lt;br /&gt;
Kes millega on tegelenud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
&#039;&#039;&#039;Ettevalmistus.&#039;&#039;&#039; Kloonida mõlemad repositooriumid.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Veebirakendus.&#039;&#039;&#039; Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik aated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda vebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On täiesti võimali, et igas süsteemis on see erinev.&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Klinetrakendus.&#039;&#039;&#039; Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks &#039;&#039;&#039;npm insstall&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid) ning käivitamiseks &#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; vastavalt inglise või eesti keelse rakenduse käivitamiseks. Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klinet on päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine)analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ta ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131012</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131012"/>
		<updated>2018-05-31T20:37:10Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Kood / Versioonihaldus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
Projektide asukohad:&lt;br /&gt;
* Veebiteenus: TODO&lt;br /&gt;
* Klientrakendus: TODO&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
&lt;br /&gt;
=Meeskonnatöö=&lt;br /&gt;
Kes millega on tegelenud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Lõpptoode=&lt;br /&gt;
&lt;br /&gt;
==Kood / Versioonihaldus==&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
==Käivitamine (retsensentidele)==&lt;br /&gt;
&#039;&#039;&#039;Ettevalmistus.&#039;&#039;&#039; Kloonida mõlemad repositooriumid. &#039;&#039;&#039;Veebirakendus.&#039;&#039;&#039; Avada Visual Studios LoojangApp solution ning käivitada projekt Web App läbi. Kuna kõik aated on projektist eemaldatud, siis avaneb tühi aken. Sealt tuleb välja lugeda vebiaadress, mille poole klientrakendus pöörduma peab. Meie puhul oli selleks: &#039;&#039;&#039;https://localhost:44382&#039;&#039;&#039;. On täiesti võimali, et igas süsteemis on see erinev. &#039;&#039;&#039;Klinetrakendus.&#039;&#039;&#039; Peale kloonimist käivitada käsurealt klientrakenduse kaustas käsud projekti ehitamiseks &#039;&#039;&#039;npm insstall&#039;&#039;&#039; (vajalik vaid esimesel korral, sest paigaldab vajalikud paketid) ning käivitamiseks &#039;&#039;&#039;npm run start-en&#039;&#039;&#039; või &#039;&#039;&#039;npm run start-ee&#039;&#039;&#039; vastavalt inglise või eesti keelse rakenduse käivitamiseks. Kui backendi aadress erines meie poolt kasutatavast (https://localhost:44382), siis tuleb otsida klientrakenduse kaustas &#039;&#039;&#039;src/enivornemnts/environments.ts&#039;&#039;&#039; ja &#039;&#039;&#039;src/enivornemnts/environments.prod.ts&#039;&#039;&#039; failis ära muutuja &#039;&#039;&#039;apiUrl&#039;&#039;&#039; väärtused. Selle aadressi pihta teeb klinet on päringud ja see peab ühtima veebirakenduse aadressiga.&lt;br /&gt;
&lt;br /&gt;
Rakenduses on neli erinevat kasutaja tüüp: admin, doctor (arst), caretaker (hooldaja) ja guardian (lähedane). Nendele on loodud vaikimisi kasutajad vastavalt: admin@eesti.ee, doctor@eesti.ee, caretaker@eesti.ee. guardian@eesti.ee. Kõikide parool on &#039;&#039;&#039;aaaaaa&#039;&#039;&#039;. Kasutajaid võib vabalt juurde teha, kuid loodud kasutaja on õigusteta ning neile peab õigused andma mõni olemasoleva admin kasutaja.&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine)analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ta ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131011</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131011"/>
		<updated>2018-05-31T19:14:21Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
Projektide asukohad:&lt;br /&gt;
* Veebiteenus: TODO&lt;br /&gt;
* Klientrakendus: TODO&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
&lt;br /&gt;
=Meeskonnatöö=&lt;br /&gt;
Kes millega on tegelenud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kood / Versioonihaldus=&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Projektliikmete panus=&lt;br /&gt;
* 1/3 Andrus Seiman (valdav osa klientrakenduse koodist, andmemudeli ja EF andmebaasikihi loomine, analüüs, wiki)&lt;br /&gt;
* 1/3 Marko Belzetski (suurem osa äriloogikast ja kontrolleritest, turvalisuse nõuded ja nende täitmise kontrollimine)analüüs)&lt;br /&gt;
* 1/3 Priit Tiganik (suur osa äriloogikast ja kontrolleritest, protseduuride ja ettekirjutuste vaated klientrakenduses, analüüs, XML-osa, wiki)&lt;br /&gt;
* Kristjan Peterson loobus üsna algul isiklikel põhjustel. Rakenduste loomises ta ei osalenud, küll  aga panustas analüüsi ja wiki-lehe loomisse.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131010</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131010"/>
		<updated>2018-05-31T19:08:57Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Tegevuste logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
Projektide asukohad:&lt;br /&gt;
* Veebiteenus: TODO&lt;br /&gt;
* Klientrakendus: TODO&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
&lt;br /&gt;
=Meeskonnatöö=&lt;br /&gt;
Kes millega on tegelenud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kood / Versioonihaldus=&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
===Analüüs ja dokumentatsioon===&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131009</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131009"/>
		<updated>2018-05-31T19:08:12Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Klientrakendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
Projektide asukohad:&lt;br /&gt;
* Veebiteenus: TODO&lt;br /&gt;
* Klientrakendus: TODO&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
&lt;br /&gt;
=Meeskonnatöö=&lt;br /&gt;
Kes millega on tegelenud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kood / Versioonihaldus=&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
==Analüüs ja Dokumentatsioon==&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
&lt;br /&gt;
==Veebirakendus==&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131008</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131008"/>
		<updated>2018-05-31T19:08:00Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Veebirakendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
Projektide asukohad:&lt;br /&gt;
* Veebiteenus: TODO&lt;br /&gt;
* Klientrakendus: TODO&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
&lt;br /&gt;
=Meeskonnatöö=&lt;br /&gt;
Kes millega on tegelenud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kood / Versioonihaldus=&lt;br /&gt;
&lt;br /&gt;
===Veebirakendus===&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
==Analüüs ja Dokumentatsioon==&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
&lt;br /&gt;
==Veebirakendus==&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131007</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131007"/>
		<updated>2018-05-31T19:07:43Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Veebirakendus */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
Projektide asukohad:&lt;br /&gt;
* Veebiteenus: TODO&lt;br /&gt;
* Klientrakendus: TODO&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
&lt;br /&gt;
=Meeskonnatöö=&lt;br /&gt;
Kes millega on tegelenud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kood / Versioonihaldus=&lt;br /&gt;
&lt;br /&gt;
==Veebirakendus==&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-app/&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
==Analüüs ja Dokumentatsioon==&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
&lt;br /&gt;
==Veebirakendus==&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131006</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131006"/>
		<updated>2018-05-31T19:06:01Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Tegevuste logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
Projektide asukohad:&lt;br /&gt;
* Veebiteenus: TODO&lt;br /&gt;
* Klientrakendus: TODO&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
&lt;br /&gt;
=Meeskonnatöö=&lt;br /&gt;
Kes millega on tegelenud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kood / Versioonihaldus=&lt;br /&gt;
&lt;br /&gt;
==Veebirakendus==&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
==Analüüs ja Dokumentatsioon==&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
&lt;br /&gt;
==Veebirakendus==&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
* 2018-05-16 Enamus kontrolleritesse sisseviidud turvakontrollid vastavalt kasutaja rollile või id-le.&lt;br /&gt;
* 2018-05-20 Täiendavad turvalisuse nõuded sisse viidud&lt;br /&gt;
* 2018-05-30 Koodi puhastamine. Kasutamata kontrollerite ja vaadete eemaldamine.&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;br /&gt;
* 2018-04-12 Esimene vaade püsti.&lt;br /&gt;
* 2018-04-12 i18 mustriga kakskeelsuse toe lisamine.&lt;br /&gt;
* 2018-04-17 Rollide põhine roiting.&lt;br /&gt;
* 2018-04-22 Baas pipe-d olemite sortimiseks või filtreerimiseks.&lt;br /&gt;
* 2018-05-01 JWT tokeniga sisse logimine.&lt;br /&gt;
* 2018-05-09 Vaadete lisamine (toad, arstlikud läbivaatused).&lt;br /&gt;
* 2018-05-15 Navigation-bari lisamine.&lt;br /&gt;
* 2018-05-21 Protseduuride ja nende sageduse lisamine.&lt;br /&gt;
* 2018-05-25 Kasutajahaldus.&lt;br /&gt;
* 2018-05-29 Tokeni talletamine.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131005</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131005"/>
		<updated>2018-05-31T18:56:50Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Tegevuste logi */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
Projektide asukohad:&lt;br /&gt;
* Veebiteenus: TODO&lt;br /&gt;
* Klientrakendus: TODO&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
&lt;br /&gt;
=Meeskonnatöö=&lt;br /&gt;
Kes millega on tegelenud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kood / Versioonihaldus=&lt;br /&gt;
&lt;br /&gt;
==Veebirakendus==&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
==Analüüs ja Dokumentatsioon==&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;br /&gt;
&lt;br /&gt;
==Veebirakendus==&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Andmebaasi kiht EF baasil püsti.&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis. Äriloogika arendamise algus.&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse. Swaggeri integreerimine koodi.&lt;br /&gt;
* 2018-04-13 Identity lisatud veebirakendusele.&lt;br /&gt;
* 2018-04-15 Veebirakenduse äriloogika selgroog püsti (Factoryd, DTO-d ja Serviced enamikele olemitele). Algas suurem kontrollerite tegemine.&lt;br /&gt;
* 2018-04-28 Enamus CRUD operatsioone ja vastavaid kontrolleried töökorras. Edaspidi arendati palju asju paralleelis kliendiga ning täiendati vastavalt veebiteenuse äriloogikat või kontrollereid.&lt;br /&gt;
* 2018-05-06 Logimise lisamine veebirakendusele.&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
* 2018-04-09 Pandi algus klientrakenduse arendamisele.&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131004</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=131004"/>
		<updated>2018-05-31T18:41:23Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond ja projekt=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
Projektide asukohad:&lt;br /&gt;
* Veebiteenus: TODO&lt;br /&gt;
* Klientrakendus: TODO&lt;br /&gt;
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus Link antud lehe peatükile]&lt;br /&gt;
&lt;br /&gt;
=Retsensioonid=&lt;br /&gt;
Meie tööle kirjutatud retsensioonid&lt;br /&gt;
==Veebiteenus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
==XML==&lt;br /&gt;
Retsenseerija meeskond: &lt;br /&gt;
Kes soovib retsenseerida?&lt;br /&gt;
&lt;br /&gt;
=Meeskonnatöö=&lt;br /&gt;
Kes millega on tegelenud&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus (esialgne)==&lt;br /&gt;
&lt;br /&gt;
Tegemist on esialgse, analüüsi käigus loodud kirjeldusega. Lõpliku dokumentatsiooni saamiseks kasuta veebiteenuse Swaggerit.&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Kasutajalood ehk üldisem kliendi funktsionaalsuse kirjeldus=&lt;br /&gt;
Kasutajalood-funktsionaalsus erinevatele rollidele. Kasutatud ERD tabelite nimetusi. Nice-to-have funktsionaalsus on märgitud tärniga (*).&lt;br /&gt;
 &lt;br /&gt;
===Administraator===&lt;br /&gt;
Soovin &lt;br /&gt;
*Lisada/muuta/kustutada tubasid&lt;br /&gt;
*Lisada/muuta/kustutada kasutajaid: hooldaja, arst, patsient, kliendi lähedane&lt;br /&gt;
*Lisada/muuta/kustutada Patient seost Room-is&lt;br /&gt;
*Lisada/muuta/kustutada FrequencyTypesid&lt;br /&gt;
*Lisada/muuta/kustutada kõiki muid mõeldavaid asju kõikide tabelitega *&lt;br /&gt;
===Arst===&lt;br /&gt;
Soovin&lt;br /&gt;
*Patsiendi külge lisada uut MedicalCase-t &lt;br /&gt;
*MedicalCase külge lisada Prescription ja määrata selle sagedus&lt;br /&gt;
*Saada ülevaadet enda MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda patsientidest&lt;br /&gt;
*Enda ühe Patienti raames ülevaadet &lt;br /&gt;
**tema MedicalCase-dest&lt;br /&gt;
**Prescription-itest&lt;br /&gt;
**Procedure-dest&lt;br /&gt;
&lt;br /&gt;
===Patsient või kliendi lähedane===&lt;br /&gt;
Soovin&lt;br /&gt;
*Saada ülevaadet enda kõikidest MedicalCase-dest&lt;br /&gt;
*Saada ülevaadet enda Prescription-itest&lt;br /&gt;
*Saada ülevaadet enda Procedure-dest&lt;br /&gt;
*Saada teada, mis toas ma asun&lt;br /&gt;
===Hooldaja===&lt;br /&gt;
Soovin&lt;br /&gt;
*Teada, millised Procedure pean järgmisena tegema&lt;br /&gt;
*Märkida üks (või mitu korraga*) Procedure tehtuks&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma pean tegema mingis kuupäevavahemikus*&lt;br /&gt;
*Ülevaadet, milliseid procedure-sid ma olen mingis kuupäevavahemikus teinud*&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=XML ülesande kirjeldus=&lt;br /&gt;
Kuna antud ülesandega tuli kokku päris palju faile, ei ole hakatud nende sisu siia kopeerima, vaid kõik failid leiab üles sellelt aadressilt: [https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne https://drive.google.com/drive/folders/1HzdoZaEJ-i475aFXH-OfYER7Try0fNne]&lt;br /&gt;
&lt;br /&gt;
Failide nimekiri:&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.wsdl&#039;&#039;&#039; - infoks WCF SOAP teenuse kirjeldus, mille abil näidis-XML ja xsd said loodud&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang.xsd&#039;&#039;&#039; - XSD fail XML-i sisu kirjeldamiseks&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forXML.xml&#039;&#039;&#039; - XML näidis, millesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojangExample_forHTML.xml&#039;&#039;&#039; - täpselt sama XML näidis nagu eelmine, aga sellesse on lisatud HTML-iks transformeerimise XSLT faili link&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toHTML.xslt&#039;&#039;&#039; - meie XMList HTMLi transformatisioonid&lt;br /&gt;
* &#039;&#039;&#039;KuldneLoojang_toXML.xslt&#039;&#039;&#039; - meie XMList väikese uue XMLi transformatisoonid&lt;br /&gt;
&lt;br /&gt;
XMLi näide pärineb enam-vähem meie veebirakenduse andmestruktuurist, kuigi lihtsuse nimel on seda veidi muudetud, nimelt on guid lühendatud ning käsitsi lisatud mõned attribuudid. XML-ist leiab väikese infohulgaga patsiendid, kellel on omakorda küljes nimekiri temaga seotud haigusjutudest (Medicalcase) ning viimaste küljes võib olla veel hulk raviprotseduure (Prescription). XMLi näidetes on alles jäetud SOAP päised ja nimeruumid. Kuigi need lisavad andmete töötlemisel keerukust, on nimeruumidega tegelemine eluliselt vajalik oskus ja seetõttu ei hakanud neid ka eemaldama ja XMLi lihtsamaks muutma. Kolmele XMLi tasemele on lisatud andmete lisakirjeldusena atribuute. &lt;br /&gt;
&lt;br /&gt;
Järgnevalt veidi lähemalt transformatsioonidest. &lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toHTML.xslt==&lt;br /&gt;
Õppejõu poolt antud ülesanne nõudis paljude erinevate XSLT võimaluste kasutamist. Otsustasime erinevaid transformatisoone kasutada erinevate HTML tabelite loomiseks. &lt;br /&gt;
&lt;br /&gt;
Esimeses tabelis on ära toodud Kuldne Loojang hooldekodu kõikide patsientide nimekiri kasutades xsL:for-each meetodit. Lisaks antakse igale reale xsl:choose abil klassi nimetus vastavalt patsiendi soo atribuudile. Nõnda on lõpptulemuses mehed värvitud siniseks ja naised roosaks.&lt;br /&gt;
&lt;br /&gt;
Teises tabelis antakse ülevaade patsientide ravist ning välja on kogutud kõik raviprotseduurid. Nende külge on omakorda otsitud XPath ancestor meetodiga nende protseduuride haiguslood ja patsiendid. Lisaks on andmed patsiendi perekonnanime järgi sorteeritud.&lt;br /&gt;
&lt;br /&gt;
Kolmandas janeljandas tabelis on välja otsitud ilma ravita patsiendid. Neid saab eristada kahte viisi kasutades. Esiteks on haiguslugudel XMLis küljes info, kas neil on küljes raviprotseduure või mitte. Seda lahendust kasutab kolmas tabel. Neljandas tabelis loetakse XSLT abil kokku, mitu raviprotseduuri ravijuhtumil küljes on ning kui neid ei ole, siis kuvatakse patsiendi andmed.&lt;br /&gt;
&lt;br /&gt;
Lõplik transformatsioon näeb meie andmetega välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
[[File:KuldneLoojangHTML.JPG | 500px ]]&lt;br /&gt;
&lt;br /&gt;
==KuldneLoojang_toXML.xslt==&lt;br /&gt;
Kuna HTMLi transformeerimisel on kasutatud juba teatud hulk nõutust, siis XMLi transformatsioon sai üpris lihtne. Selle &#039;&#039;tag&#039;&#039;-ide nimetused on muudetud eestikeelseteks ning kokku on kogutud kõik raviprotseduurid. Lõpptulemus näeb välja alljärgnev:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
&amp;lt;?xml version=&amp;quot;1.0&amp;quot; encoding=&amp;quot;UTF-8&amp;quot;?&amp;gt;&lt;br /&gt;
&amp;lt;ettekirjutused&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;9223d9c2&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta Sudafedi&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;35c813bd&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;loputa nina&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-02-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-02-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;d10d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta rögalahtistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2018-03-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2018-08-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
	&amp;lt;ettekirjutus id=&amp;quot;220d3379&amp;quot;&amp;gt;&lt;br /&gt;
		&amp;lt;kirjeldus&amp;gt;võta valuvaigistit&amp;lt;/kirjeldus&amp;gt;&lt;br /&gt;
		&amp;lt;algus&amp;gt;2017-01-01&amp;lt;/algus&amp;gt;&lt;br /&gt;
		&amp;lt;lopp&amp;gt;2017-01-14&amp;lt;/lopp&amp;gt;&lt;br /&gt;
	&amp;lt;/ettekirjutus&amp;gt;&lt;br /&gt;
&amp;lt;/ettekirjutused&amp;gt;&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
=Kood / Versioonihaldus=&lt;br /&gt;
&lt;br /&gt;
==Veebirakendus==&lt;br /&gt;
&lt;br /&gt;
==Klientrakendus==&lt;br /&gt;
https://bitbucket.org/itcollegeprojects/loojang-client/&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis&lt;br /&gt;
* 2018-04-10 Kasutajalugude lisamine wikisse&lt;br /&gt;
* tõsisem arendus, polnud aegagi verstaposte kirja panna&lt;br /&gt;
* 2018-05-31 XMLi osa täiendamine wikilehel&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131003</id>
		<title>Kodutöö aines &quot;Võrgurakendused II: hajussüsteemide ehitamine&quot; 2018</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&amp;diff=131003"/>
		<updated>2018-05-31T18:22:05Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /*  Meeskond: Kuldne loojang */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]&lt;br /&gt;
__NOINDEX__&lt;br /&gt;
&lt;br /&gt;
=Kodutöö aines &amp;quot;Võrgurakendused II: hajussüsteemide ehitamine&amp;quot; 2018=&lt;br /&gt;
==Eesmärk==&lt;br /&gt;
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. &lt;br /&gt;
*SOAP veebiteenuse puhul eeldatakse WCF tehnoloogia kasutamist. Vanema põlvkonna ASP.NET veebiteenuse loomine ei ole lubatud, kuna seda ei toeta ka Microsoft enam tänasel päeval.&lt;br /&gt;
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.&lt;br /&gt;
&lt;br /&gt;
Kaugem eesmärk on loomulikult hinne :).&lt;br /&gt;
&lt;br /&gt;
==Reeglid==&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus&lt;br /&gt;
&lt;br /&gt;
Ühte projektimeeskonda kuulub 3..4 tudengit ning ühel teemal teostab projekti üks või mitu meeskonda. 1,2 ja viie liikmelised meeskonnad tuleks õppejõuga eraldi kooskõlastada.&lt;br /&gt;
&lt;br /&gt;
Töö käiku kajastatakse  http://wiki.itcollege.ee keskkonnas. Wikilehe täitmise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest.&lt;br /&gt;
&lt;br /&gt;
==Tähtajad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Veebiteenus&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Veebiteenus NB! Täpsem info]&lt;br /&gt;
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: &#039;&#039;&#039;01.aprill 2018&#039;&#039;&#039;. Lisaks on  &#039;&#039;&#039;Meeskonnad on loonud omale enda wiki lehe, kuhu kirjeldavad meeskonna ja panevad nad üles oma tööd. Lisaks hakkavad kogunema ka sinna teiste gruppide poolt kirjutatavad retsensioonid. &amp;lt;ins&amp;gt;Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.&amp;lt;/ins&amp;gt;&#039;&#039;&#039;&lt;br /&gt;
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid veebiteenuste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;Klientrakendused&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#Klientrakendus NB! Täpsem info]&lt;br /&gt;
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;27. mai 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid klientrakenduste kohta peavad tehtud olema &#039;&#039;&#039;03. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
* &#039;&#039;&#039;XML fail&#039;&#039;&#039; [https://wiki.itcollege.ee/index.php/Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018#XML_andmefail NB! Täpsem info]&lt;br /&gt;
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt &#039;&#039;&#039;01. juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
** Retsensioonid XML-failide kohta peavad tehtud olema &#039;&#039;&#039;05.juuni 2018&#039;&#039;&#039;.&lt;br /&gt;
&lt;br /&gt;
==Hindamine==&lt;br /&gt;
===Üldised kriteeriumid===&lt;br /&gt;
&lt;br /&gt;
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.&lt;br /&gt;
&lt;br /&gt;
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub  arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), paigaldusjuhend ning lahenduse kirjeldus. &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Maksimumtulemuse annab (vähemalt 4/7):&#039;&#039;&#039;&lt;br /&gt;
&lt;br /&gt;
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)&lt;br /&gt;
* Mobiilirakendused/Angularis/reactis loodud klientrakendus&lt;br /&gt;
* Kogukondade kaasamine&lt;br /&gt;
* Kasutajamugavus&lt;br /&gt;
* Läbimõeldud töökorraldus&lt;br /&gt;
* Lisavõimaluste realiseerimine (vt näidisteemad)&lt;br /&gt;
* Korraliku arhitektuuriga kirjutatud kood&lt;br /&gt;
&lt;br /&gt;
===XML andmefail===&lt;br /&gt;
Ülesande täitmiseks tuleb luua XML fail andmete edastamiseks, selle XML faili skeemifail ning minimaalselt kaks sobivat XSL transformatsiooni faili loodud XML failis olevate andmete transformeerimiseks HTML formaati ja XML faili formaadi muutmiseks. Transformatsioonid peavad sisaldama midagi enamat, kui ainult üks for-each klausel. Transformatsiooni käigus peaks kasutama vajadusel parameetreid ning kindlasti ka erinevaid tingimuste kontrolle.&lt;br /&gt;
&lt;br /&gt;
XML-il peab olema vähemalt 4 loogilist dimensiooni.&lt;br /&gt;
 &amp;lt;dim1&amp;gt;&lt;br /&gt;
   &amp;lt;dim2&amp;gt;&lt;br /&gt;
     &amp;lt;dim3&amp;gt;&lt;br /&gt;
       &amp;lt;dim4&amp;gt;&lt;br /&gt;
       &amp;lt;/dim4&amp;gt;&lt;br /&gt;
     &amp;lt;/dim3&amp;gt;&lt;br /&gt;
   &amp;lt;/dim2&amp;gt;&lt;br /&gt;
 &amp;lt;/dim1&amp;gt;&lt;br /&gt;
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.&lt;br /&gt;
&lt;br /&gt;
===Veebiteenus===&lt;br /&gt;
Loodav veebiteenus peab võimaldama:&lt;br /&gt;
* Teenuse pakkumist&lt;br /&gt;
* &#039;&#039;&#039;Teenuse kasutajate tuvastamist ning haldamist&#039;&#039;&#039;&lt;br /&gt;
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes&lt;br /&gt;
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus peab toetama mitme kasutaja võimalust.&lt;br /&gt;
&lt;br /&gt;
Loodav veebiteenus tuleb luua kasutades &#039;&#039;Windows Communication Foundation&#039;&#039; või ASP.NET MVC  Web API tehnoloogiat&lt;br /&gt;
&lt;br /&gt;
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).&lt;br /&gt;
&lt;br /&gt;
===Klientrakendus===&lt;br /&gt;
Klientrakendus mõnele olemasolevale veebiteenusele, võib olla teostatud veebirakendusena(ASP.NET veebirakendus või hoopis Angulari või Reacti baasil), töölauarakendusena(WPF) või mobiilse rakendusena(Xamarin)&lt;br /&gt;
&lt;br /&gt;
Variant1: teha klientrakendus enda loodud veebiteenusele &lt;br /&gt;
&lt;br /&gt;
Variant2: teha klientrakendus mõnele levinud veebiteenusele.&lt;br /&gt;
Näiteks: &lt;br /&gt;
* http://www.bing.com/developer&lt;br /&gt;
* http://www.flickr.com/services/api/response.soap.html&lt;br /&gt;
* http://developer.ebay.com/developercenter/windows/&lt;br /&gt;
* http://apiwiki.twitter.com/Getting-Started&lt;br /&gt;
&lt;br /&gt;
===Retsensioonid===&lt;br /&gt;
Retsensioon on üliõpilase iseseisva teadustöö kriitilise analüüsi põhjal koostatud argumenteeritud hinnang. Retsensioonis tuleb hinnata töö vastavust esitatud tingimustele, programmikoodi loetavust ning kommenteeritust, dokumentatsiooni ja kirjeldada puudusi. Retsensioonide põhjal on meeskondadel õigus oma projekte parandada enne määratud esitamistähtaja kättejõudmist.&lt;br /&gt;
&lt;br /&gt;
Retsensioon peab sisaldama minimaalselt...&lt;br /&gt;
* XML - ...200 sõna.&lt;br /&gt;
* Veebiteenus - ...600 sõna.&lt;br /&gt;
* Klientrakendus - ...600 sõna.&lt;br /&gt;
&lt;br /&gt;
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.&lt;br /&gt;
&lt;br /&gt;
==Konsultatsioonid==&lt;br /&gt;
 Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma&lt;br /&gt;
 töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida&lt;br /&gt;
 õppejõuga kokkuleppeid kontaktidel&lt;br /&gt;
 mait.poska [ät] itcollege.ee või (+372 53 469 734)&lt;br /&gt;
 (teksti originaalautor Priit Raspel)&lt;br /&gt;
&lt;br /&gt;
==Kaitsmisele registreerumine==&lt;br /&gt;
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;05.06.2018&#039;&#039;&#039;&lt;br /&gt;
*15:00 - ..&lt;br /&gt;
*15:15 - ..&lt;br /&gt;
*15:30 - ..&lt;br /&gt;
&lt;br /&gt;
=Teemad 2018 kevad=&lt;br /&gt;
&#039;&#039;&#039; Kodutöö koosneb kolmest eraldiseisvast ülesandest:&#039;&#039;&#039;&lt;br /&gt;
* Luua XML fail vabalt valitud andmete edastamiseks,selle faili skeemifail ning XSL fail(id) erinevate transformatsioonide tarvis (soovitavalt vähemalt andmete HTML ja XML kujul kuvamiseks)&lt;br /&gt;
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes&lt;br /&gt;
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele&lt;br /&gt;
&lt;br /&gt;
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Näidisteemad==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua sobiva alguse järgi nimede pakkumise teenus:&lt;br /&gt;
* alates kahetähelisetest algustest pakkuda sobivad nimesid&lt;br /&gt;
* luua võimalus kasutajatel nimesid lisada&lt;br /&gt;
* luua võimalus administraatoril nimesid muuta/kustutada&lt;br /&gt;
* meeste ja naiste nimed peavad olema süsteemis eristatavad&lt;br /&gt;
* luua võimalus, mis võimaldab kuvada populaarseid nimesid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud&lt;br /&gt;
&lt;br /&gt;
===Külastusstatistika teenus===&lt;br /&gt;
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua külastusstatistika teenus:&lt;br /&gt;
* kasutaja saab teenuses registreerida külastusi&lt;br /&gt;
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
&lt;br /&gt;
Lisavõimalused:&lt;br /&gt;
* luua võimalus registreerida alamlehtede külastusstatistikat&lt;br /&gt;
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)&lt;br /&gt;
&lt;br /&gt;
===Telefoniraamatu teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua telefoniraamatu teenus:&lt;br /&gt;
* kasutaja saab teenuses kontakte lisada ja kustutada&lt;br /&gt;
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutajaid on võimalik lisada gruppidesse&lt;br /&gt;
* kasutajal on võimalik lisada vajalike kontaktandmete liike&lt;br /&gt;
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper&lt;br /&gt;
&lt;br /&gt;
===RSS voogude kogumise ja uudiste kuvamise teenus===&lt;br /&gt;
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda&lt;br /&gt;
&lt;br /&gt;
====Ülesanne====&lt;br /&gt;
Luua RSS voogude haldusteenus:&lt;br /&gt;
* kasutaja saab teenuses RSS vooge lisada ja kustudada&lt;br /&gt;
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid&lt;br /&gt;
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks&lt;br /&gt;
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult&lt;br /&gt;
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega &lt;br /&gt;
*&lt;br /&gt;
&lt;br /&gt;
= Meeskonnad 2018=&lt;br /&gt;
==Päevaõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaido Henrik Elias&lt;br /&gt;
* Arvo Paomees&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Ruudi Vinter&lt;br /&gt;
* Madis Roosioks&lt;br /&gt;
* Madis Heinsoo&lt;br /&gt;
* Pavel Fleišer&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristina Rästas&lt;br /&gt;
*Simo Jaanus&lt;br /&gt;
*Artur Tammiste&lt;br /&gt;
*Rauno Lõhmus&lt;br /&gt;
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alo Avi&lt;br /&gt;
* Arnika Rästa&lt;br /&gt;
* Marite Rammo&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Margus Põlma&lt;br /&gt;
* Karl Erik Õunapuu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Kaspar Kaal&lt;br /&gt;
* Teet Adamson&lt;br /&gt;
* Rahel Kangur&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Peeter Fridolin&lt;br /&gt;
* Kristo Leesmann&lt;br /&gt;
* Rando Rommot&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Taavi Põder&lt;br /&gt;
* Taavi Vesinurm&lt;br /&gt;
* Raido Vell&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Tarmo Luugus&lt;br /&gt;
*Leho Kivistik&lt;br /&gt;
*Hannes Mäeorg&lt;br /&gt;
*Marten Tammeleht&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Argo Hansen&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kristo Naeris&lt;br /&gt;
*Margus Kildemaa&lt;br /&gt;
*Indro Kottise&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===&lt;br /&gt;
Liikmed: &lt;br /&gt;
&lt;br /&gt;
* Rando Kurel&lt;br /&gt;
* Henrik Prangel&lt;br /&gt;
* Markus Mänd&lt;br /&gt;
* Edgar Tereping&lt;br /&gt;
* Jane Kaldma&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===&lt;br /&gt;
&#039;&#039;&#039;Liikmed:&#039;&#039;&#039;&lt;br /&gt;
*Eve Ormisson&lt;br /&gt;
*Carlos Kirtsi&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Christo Aruste&lt;br /&gt;
*Heleriin Malkov&lt;br /&gt;
*Tõnis Prants&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &amp;amp;lt;div&amp;amp;gt;]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Kaarel Pärtel&lt;br /&gt;
*Marek Juhanson&lt;br /&gt;
*Kai Kallastu&lt;br /&gt;
&lt;br /&gt;
==Kaugõpe==&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Liina Abner&lt;br /&gt;
* Marju Pütsepp&lt;br /&gt;
* Liisi Taimre&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Toomas Juhkov&lt;br /&gt;
* Kunnar Kukk&lt;br /&gt;
* Tiit Kuuskmäe&lt;br /&gt;
&lt;br /&gt;
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andrus Seiman&lt;br /&gt;
* Marko Belzetski&lt;br /&gt;
* Priit Tiganik&lt;br /&gt;
* Kristjan Peterson (loobus)&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Siim Kallari&lt;br /&gt;
* Andres Kepler&lt;br /&gt;
* Jorma Rebane&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Andres Aava (lahkunud liige)&lt;br /&gt;
* Henri Annilo&lt;br /&gt;
* Jaan Koolmeister&lt;br /&gt;
* Lauri Üksti&lt;br /&gt;
&lt;br /&gt;
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]&lt;br /&gt;
&lt;br /&gt;
Retsensioonid:&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sigrid Aasma&lt;br /&gt;
* Evelin Jõgi&lt;br /&gt;
* Martin Kask&lt;br /&gt;
* Marko Nõu&lt;br /&gt;
&#039;&#039;&#039;Projekt:&#039;&#039;&#039; https://github.com/sikumiku/TaisKohtApi  &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode:&#039;&#039;&#039; https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud XML retsensioon:&#039;&#039;&#039; TODO &lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Meie kirjutatud veebiteenuse ja klientrakenduse retsensioon:&#039;&#039;&#039; https://wiki.itcollege.ee/index.php/Talk:MOT, TODO&lt;br /&gt;
&lt;br /&gt;
===[[ Memorize | Meeskond: Memorize]]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Madis Uudam&lt;br /&gt;
* Olle Mikk&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Mart Raus&lt;br /&gt;
* Ando Kiidron&lt;br /&gt;
* Liina Saar&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Merike Meizner&lt;br /&gt;
* Helen Oppar&lt;br /&gt;
* Hardi Tiitus&lt;br /&gt;
&lt;br /&gt;
&#039;&#039;&#039;Lõpptoode: &#039;&#039;&#039;  http://enos.itcollege.ee/~mmeizner/MOT/&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
*Rein Remsu&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Rain Elken&lt;br /&gt;
* Peeter Ploom&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Sten Lunden&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
* Alex Kaska&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Taavi Kivimaa&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Triin Oja&lt;br /&gt;
&lt;br /&gt;
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===&lt;br /&gt;
Liikmed:&lt;br /&gt;
*Artyom Likhachev&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
	<entry>
		<id>https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=130048</id>
		<title>Kuldneloojang</title>
		<link rel="alternate" type="text/html" href="https://wiki.itcollege.ee/index.php?title=Kuldneloojang&amp;diff=130048"/>
		<updated>2018-03-30T21:00:12Z</updated>

		<summary type="html">&lt;p&gt;Aseiman: /* Endpointid */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Meeskond=&lt;br /&gt;
&lt;br /&gt;
*Andrus Seiman&lt;br /&gt;
*Marko Belzetski&lt;br /&gt;
*Priit Tiganik&lt;br /&gt;
*Kristjan Peterson&lt;br /&gt;
&lt;br /&gt;
=Analüüs=&lt;br /&gt;
&lt;br /&gt;
==Kirjeldus==&lt;br /&gt;
Vanadekodu “Kuldne loojang” on vanadekodu nagu vanadekodud ikka. Siin kantakse igapäevast hoolt vanemate inimeste eest, kes üksi enam hakkama ei saa ja kelle eest hooldamise on lähedased inimesed usaldanud professionaalide kätte. Vananevas ühiskonnas on vajadus säärase teenuse vastu suur ja pidevalt kasvav, seetõttu on konkurents tihe. Kuna teenuse kvaliteet on vanadekodule “Kuldne loojang” südameasi, on juhtkond otsustanud investeerida teenuse kvaliteedikontrolli digitaliseerimisse. On tehtud plaan luua infosüsteem, mis aitab põetajatel pidada järge klientidega igapäevaselt sooritatavate protseduuride üle. Kuna infotehnoloogia on juhtkonnale võõras teema, siis on otsustatud alustada vaikselt ja liikuda samm haaval. Seetõttu on disainitav infosüsteem kaunis väike.&lt;br /&gt;
&lt;br /&gt;
==Kasutajad==&lt;br /&gt;
&lt;br /&gt;
*juhtkonna poolt volitatud administratiivsed kasutajad, kes jagavad kasutajate õiguseid ja kontrollivad põetajate tööd&lt;br /&gt;
*vanadekodu arstid, kes teostavad meditsiinilist läbivaatust ja määravad vajalikke protseduure,&lt;br /&gt;
*klientide lähedased või kliendid ise, kes pääsevad ligi nendega seotud kliendiga seotud informatsioonile (meditsiiniline läbivaatus, protseduurid, jne.)&lt;br /&gt;
*põetajad, kes saavad tutvuda tööülesannetega ning märkida neid teostatuks&lt;br /&gt;
&lt;br /&gt;
==Infosüsteemi funktsionaalsus==&lt;br /&gt;
* Vanadekodu arsti vastutada on klientide tervise jälgimine.&lt;br /&gt;
* Vajadusel teeb arst tervisekontrolli käigus ettekirjutisi, mille järgi põetajad klientide eest hoolitsevad.&lt;br /&gt;
* Iga ettekirjutise kohta on teada kirjeldus, algus ja lõpu kuupäev ning sagedus, mis ütleb kui tihti protseduure ette tuleb võtta.&lt;br /&gt;
* Vanadekodus võib tegutseda korraga mitu arsti.&lt;br /&gt;
* Ühele kliendile võib ettekirjutisi teha mitu erinevat arsti.&lt;br /&gt;
* Kuna klientide eest hoolitsemine käib kindlate graafikute alusel, siis peab ettekirjutises märgitud protseduuri sagedus tulema lubatud sageduste sõnastikust, mis sisaldab sagedusi nagu “kolm korda päevas peale sööki”, “hommikul ja õhtuti enne sööki”, jne.&lt;br /&gt;
* Kui arst on ettekirjutise teinud, siis vastavalt alguse ja lõpukuupäevadele ning valitud sagedusele genereeritakse süsteemi kõik üksikud protseduurid, mis selle ettekirjutuse täitmiseks on vaja teostada.&lt;br /&gt;
* Protseduuride läbi viimiseks on vanadekodus põetajad. Põetajate ülesanne on klientide eest hoolitsemine ja arstide ettekirjutuste elluviimine. Kuna patsiente on palju ja ettekirjutused erinevad, siis on vaja olla hoolas. Infosüsteem on selleks, et aidata põetajatel järge pidada, mis tööd on juba tehtud või mis töid on veel vaja teha. Selleks kuvab infosüsteem kõiki ühe toa või ühe kliendi kohta tänasel päeval tehtavaid protseduure.&lt;br /&gt;
* Kui protseduur on täide viidud, siis saab põetaja märkida selle tehtuks ja asuda järgmiseid ülesandeid täitma.&lt;br /&gt;
*Lähedastel on esialgu infosüsteemis väike roll. Nemad saavad lihtsalt uurida, mis ettekirjutisi arst on nende lähedaste kohta teinud ja kas need on kõik ikka ellu viidud.&lt;br /&gt;
* Administraatoritel on voli luua teisi kasutajaid ja jagada neile rolle.&lt;br /&gt;
* Lisaks on neil võimalus kontrollida arstide ja põetajate töid ning korraldada klientide paiknemist tubades.&lt;br /&gt;
&lt;br /&gt;
==Andmemudel==&lt;br /&gt;
[[File:Kuldne_loojang_ERD1.png | 600px | center]]&lt;br /&gt;
&lt;br /&gt;
==API endpointide kirjeldus==&lt;br /&gt;
&lt;br /&gt;
====User==== &lt;br /&gt;
POST/user - Adds a new user&lt;br /&gt;
&lt;br /&gt;
GET/users/{UserId} - Returns a user object for the given UserId&lt;br /&gt;
&lt;br /&gt;
DELETE/users/{UserId} - Deletes the user according to user id&lt;br /&gt;
&lt;br /&gt;
PATCH/users/{UserId} - Modify the user&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/users - Returns all the users in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Guardian====&lt;br /&gt;
POST/guardian - Adds a new patient&#039;s guardian&lt;br /&gt;
&lt;br /&gt;
GET/guardians/{GuardianId} - Returns a patient&#039;s guardian by ID&lt;br /&gt;
&lt;br /&gt;
DELETE/guardians/{GuardianId} - Deletes guardian according to guardian&#039;s ID&lt;br /&gt;
&lt;br /&gt;
PATCH/guardians/{GuardianId} - Updates Guardian according to id&lt;br /&gt;
&lt;br /&gt;
GET/guardians - Returns all Guardians&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Patient====&lt;br /&gt;
POST/patient - Adds a new patient&lt;br /&gt;
&lt;br /&gt;
GET/patient/{PatientId} - Gets patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
DELETE/patient/{PatientId} - Deletes patient according to patient ID&lt;br /&gt;
&lt;br /&gt;
PATCH/patient/{PatientId} - Modified patient&#039;s data according to patient ID&lt;br /&gt;
&lt;br /&gt;
GET/patients - Returns all patients&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====UserType====&lt;br /&gt;
POST/usertype - Adds a new usertype&lt;br /&gt;
&lt;br /&gt;
GET/usertypes/{UserTypeId} - Returns a usertype object for the given UserTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/usertypes/{UserTypeId} - Deletes the usertype according to usertype id&lt;br /&gt;
&lt;br /&gt;
PATCH/usertypes/{UserTypeId} - Modify the usertype&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/usertypes - Returns all the usertypes in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientRoom====&lt;br /&gt;
POST/patientRoom - Adds a new patientRoom&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms/{PatientRoomId} - Returns a patientRoom object for the given PatientRoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientRooms/{PatientRoomId} - Deletes the patientRoom according to patientRoom id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientRooms/{PatientRoomId} - Modify the patientRoom&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientRooms - Returns all the patientRooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====Room====&lt;br /&gt;
&lt;br /&gt;
POST/room - Adds a new room&lt;br /&gt;
&lt;br /&gt;
GET/rooms/{RoomId} - Returns a room object for the given RoomId&lt;br /&gt;
&lt;br /&gt;
DELETE/rooms/{RoomId} - Deletes the room according to room id&lt;br /&gt;
&lt;br /&gt;
PATCH/rooms/{RoomId} - Modify the room&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/rooms - Returns all the rooms in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====PatientsDoctor====&lt;br /&gt;
&lt;br /&gt;
POST/patientsDoctor - Adds a new patientsDoctor&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctor/{PatientsDoctorId} - Returns a patientsDoctor object for the given PatientsDoctorId&lt;br /&gt;
&lt;br /&gt;
DELETE/patientsDoctor/{PatientsDoctorId} - Deletes the patientsDoctor according to patientsDoctor id&lt;br /&gt;
&lt;br /&gt;
PATCH/patientsDoctor/{PatientsDoctorId} - Modify the patientsDoctor&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/patientsDoctors - Returns all the patientsDoctors in the database&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====MedicalReview====&lt;br /&gt;
&lt;br /&gt;
POST/medicalReview - Adds a new medicalReview&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/{MedicalReviewId} - Returns a medicalReview object for the given MedicalReviewId&lt;br /&gt;
&lt;br /&gt;
DELETE/medicalReviews/{MedicalReviewId} - Deletes the medicalReview according to medicalReview id&lt;br /&gt;
&lt;br /&gt;
PATCH/medicalReviews/{MedicalReviewId} - Modify the medicalReview&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews - Returns all the medicalReviews in the database&lt;br /&gt;
&lt;br /&gt;
GET/medicalReviews/patient/{PatientId} - Gets all medical review IDs for the given patient&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
====FrequencyType====&lt;br /&gt;
&lt;br /&gt;
POST/frequencyType - Adds a new frequencyType&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes/{FrequencyTypeId} - Returns a frequencyType object for the given FrequencyTypeId&lt;br /&gt;
&lt;br /&gt;
DELETE/frequencyTypes/{FrequencyTypeId} - Deletes the frequencyType according to frequencyType id&lt;br /&gt;
&lt;br /&gt;
PATCH/frequencyTypes/{FrequencyTypeId} - Modify the frequencyType&#039;s data&lt;br /&gt;
&lt;br /&gt;
GET/frequencyTypes - Returns all the frequencyTypes in the database&lt;br /&gt;
&lt;br /&gt;
=Tegevuste logi=&lt;br /&gt;
* 2018-03-06 Meeskonna loomine, teema fikseerimine&lt;br /&gt;
* 2018-03-14 Esialgne analüüs ja andmemudel&lt;br /&gt;
* 2018-03-16 API kirjeldus Swaggeris&lt;br /&gt;
* 2018-03-20 Repositooriumi loomine TFS-is. Mudelite ja DAL-i seadistamine.&lt;br /&gt;
* 2018-03-23 Wiki lehe loomine&lt;br /&gt;
* 2018-03-30 Analüüsi lõplik vormistamine wikis&lt;/div&gt;</summary>
		<author><name>Aseiman</name></author>
	</entry>
</feed>