https://wiki.itcollege.ee/api.php?action=feedcontributions&user=Labner&feedformat=atom
ICO wiki - User contributions [en]
2024-03-28T10:40:54Z
User contributions
MediaWiki 1.41.0
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131637
BestInShow
2018-06-11T22:24:21Z
<p>Labner: /* Retsensioon WatchWinders XML-ile */</p>
<hr />
<div>[[Category: Kodutöö_aines_"Võrgurakendused_II:_hajussüsteemide_ehitamine"_2018]]<br />
<br />
==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**ASP.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br><br />
<br />
admin kasutaja on ''admin@admin.ee''<br><br />
breeder kasutaja on ''husky@koer.ee''<br><br />
owner kasutaja on ''puudel@koer.ee''<br><br />
kõikide kasutajate salasõna on ''1234-Sala''<br />
<br><br />
API meetodid on kirjeldatud Swaggeris host:port/swagger/<br />
<br><br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Retsensioonid==<br />
<br />
===Retsensioon WatchWinders XML-ile===<br />
<br />
WatchWinders meeskonna [https://wiki.itcollege.ee/index.php/WatchWinders#XML_.C3.BClesanne XML faili] näol tundub tegemist olevat IT hooldustööde ticketite infoga. Ideaalis võiks Schema ja/või XML fail sisaldada kommentaare, mis aitaks aru saada, mis eesmärgil ja mis laadi infot see dokumenditüüp edastab. Kuid kuna antud XML on piisavalt lihtne ja tavaloogikaga arusaadav, siis kommentaaride puudumine otseselt ei häiri.<br><br />
XML vastab nõuetele, sisaldab 7 loogilist dimensiooni, mida on rohkem kui ülesandes nõutud. Ticketid on grupeeritud tellija-asukoht-seade hierarhia alusel. XML on hästi struktureeritud ja atribuutide kasutamine on läbimõeldud. Elementide ja atribuutide nimed on üheselt mõistetavad. Esitatud XML on igati asjakohane seda tüüpi sisu esitamiseks.<br><br />
XML fail valideerub esitatud Schema vastu.<br><br />
Schema on korrektne, andmetüübid ja piirangud on adekvaatsed. Võib-olla võiks küsida, et kas poleks otstarbekam nõuda contactPerson elemendi olemasolu iga customer elemendi sees.<br><br />
Esitatud XSL failid ei ole ülearu keerukad, kuid nende abil tehtavad transformatsioonid on funktsionaalsed ning reaaleluliselt põhjendatud.<br><br />
XML-to-XML transformatsioon filtreerib välja mittetöötavad seadmed ja nende kohta käivad menetlemata ticketid. Kasutatud on parameetri järgi otsingut ja kahte for-each tsüklit.<br><br />
XML-to-HTML transformatsioonis on mõnevõrra funktsiooniderohkem. Otsitakse välja kõik seadmed, mille type atribuut on laptopComputer. Lisaks for-each tsüklitele on kasutatud parameetri järgi sorteerimist, ning tingimuste kontrollimist choose-when abil, et kuvada menetletud ja menetlemata ticketeid erineva stiiliga.<br><br />
Seega vastavad ka XSL failid ülesandes esitatud tingimustele.<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br><br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131636
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-11T22:21:02Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
*19:15 - AmateurBB<br />
*19:30 - Autolugu<br />
*19:45 - VRII2018<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
Lõpptoode: [https://drive.google.com/open?id=1Pq8Lhrs3G5mGiTje70ww-zMBNB5cXnRh ZIP]<br />
<br />
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]<br />
<br />
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
Veebiteenus: [http://enos.itcollege.ee/~mpolma/vr2/API.zip]<br />
<br />
Klientrakendus: [https://github.com/karlerikounapuu/autolugu-front]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
Retsensioonid meeskonnale Raamaturiiul asuvad [https://wiki.itcollege.ee/index.php/Jaatuli#Retsensioonid siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Kasutusjuhend:''' [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
'''Retsensioon veebiteenusele:'''[https://docs.google.com/document/d/1C2pLotWV5dNU7TdBTTwZr9Lrh6VGtsN0FDzCzBWUBWg/edit?usp=sharing Retsensioon projektile WatchWinders]<br><br />
Retsensioon klientrakendusele: TODO retsenseerime projekti WatchWinders<br><br />
'''Retsensioon XML-ile:''' [https://wiki.itcollege.ee/index.php/BestInShow#Retsensioon_WatchWinders_XML-ile Retsensioon_WatchWinders_XML-ile]<br><br />
BestInShow meeskonda retsenseerib [https://wiki.itcollege.ee/index.php/Meeskond:Curry#Meie_retsensioonid_BestInShow_meeskonnale '''Curry''']<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===<br />
Liikmed: <br />
* Karen Grigorjan<br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]<br><br />
[https://drive.google.com/file/d/1OtzOCPiWixsrbHcGCcdHgXIgz3_fsC7h/view Retsensioon grupi "Kuldne Loojang" veebiteenusele]<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* [https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0 .zip fail rakendus ja klient koos] <br />
* [https://bitbucket.org/itcollegeprojects/loojang-app veebirakenduse repo] <br />
* [https://bitbucket.org/itcollegeprojects/loojang-client klientrakenduse repo] <br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus XML: link meie Wiki lehele]<br />
<br />
<br />
'''Meie tehtud retsensioonid:'''<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Veebiteenusele veebiteenuse retsensioon meeskonna Curry tööle.]<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML-ile XML retsensioon meeskonna Curry tööle.]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#Klientrakenduse_retsensioon_meeskonnale_MealPlannerSolo Klientrakenduse retsensioon meeskonnale MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/SharpRestoVRII#XML Wikis]<br />
<br />
Retsensioonid: [https://wiki.itcollege.ee/index.php/SharpRestoVRII#Retsensioon_meeskonnale_Hammas Meeskonnale Hammas]<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] <br><br />
'''XML: '''[https://wiki.itcollege.ee/index.php/UCanDo#XML XML] <br><br />
'''XSD: '''[https://wiki.itcollege.ee/index.php/UCanDo#XSD XSD] <br><br />
'''XSLT > HTML: '''[https://wiki.itcollege.ee/index.php/UCanDo#XSLT_.3E_HTML XSLT>HTML] <br><br />
'''XSLT > XML: '''[https://wiki.itcollege.ee/index.php/UCanDo#XSLT_.3E_XML XSLT>XML]<br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
'''Lõpptoode: ''' [http://enos.itcollege.ee/~pploom/VR2/ link] <br><br />
'''Meie retsensioon BestInShow meeskonnale: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#Meie_retsensioonid_BestInShow_meeskonnale link] <br><br />
'''XML: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XML_andmefail link] <br><br />
'''XSD: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSD_schema_fail link] <br><br />
'''XSLT1: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_HTML link] <br><br />
'''XSLT2: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_XML link] <br><br />
<br />
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]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
'''Veebiteenus:''' [https://github.com/Tafkinz/AmateurBB/tree/BB-1 GitHub]<br />
<br/><br />
'''Klientrakendus:''' [https://github.com/Tafkinz/frontend GitHub]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/AmateurBB#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' [https://wiki.itcollege.ee/index.php/AmateurBB#Retsensioon wiki]<br />
<br/><br />
'''Klientrakenduse retsensioon''' -<br />
<br/><br />
'''XML retsensioon''' -<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev<br />
'''Project:'''<br />
<br/>[https://www.dropbox.com/s/irgev5w9ofifg5m/vr2_service-v3.zip?dl=0 Veebiteenus]<br />
<br/>[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]<br />
<br/>'''XML:''' TODO<br />
<br/>'''Retsensioon:''' TODO</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131635
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-11T22:20:32Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
*19:15 - AmateurBB<br />
*19:30 - Autolugu<br />
*19:45 - VRII2018<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
Lõpptoode: [https://drive.google.com/open?id=1Pq8Lhrs3G5mGiTje70ww-zMBNB5cXnRh ZIP]<br />
<br />
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]<br />
<br />
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
Veebiteenus: [http://enos.itcollege.ee/~mpolma/vr2/API.zip]<br />
<br />
Klientrakendus: [https://github.com/karlerikounapuu/autolugu-front]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
Retsensioonid meeskonnale Raamaturiiul asuvad [https://wiki.itcollege.ee/index.php/Jaatuli#Retsensioonid siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Kasutusjuhend:''' [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
'''Retsensioon veebiteenusele:'''[https://docs.google.com/document/d/1C2pLotWV5dNU7TdBTTwZr9Lrh6VGtsN0FDzCzBWUBWg/edit?usp=sharing Retsensioon projektile WatchWinders]<br><br />
Retsensioon klientrakendusele: TODO retsenseerime projekti WatchWinders<br><br />
Retsensioon XML-ile: [https://wiki.itcollege.ee/index.php/BestInShow#Retsensioon_WatchWinders_XML-ile Retsensioon_WatchWinders_XML-ile]<br><br />
BestInShow meeskonda retsenseerib [https://wiki.itcollege.ee/index.php/Meeskond:Curry#Meie_retsensioonid_BestInShow_meeskonnale '''Curry''']<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===<br />
Liikmed: <br />
* Karen Grigorjan<br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]<br><br />
[https://drive.google.com/file/d/1OtzOCPiWixsrbHcGCcdHgXIgz3_fsC7h/view Retsensioon grupi "Kuldne Loojang" veebiteenusele]<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* [https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0 .zip fail rakendus ja klient koos] <br />
* [https://bitbucket.org/itcollegeprojects/loojang-app veebirakenduse repo] <br />
* [https://bitbucket.org/itcollegeprojects/loojang-client klientrakenduse repo] <br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus XML: link meie Wiki lehele]<br />
<br />
<br />
'''Meie tehtud retsensioonid:'''<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Veebiteenusele veebiteenuse retsensioon meeskonna Curry tööle.]<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML-ile XML retsensioon meeskonna Curry tööle.]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#Klientrakenduse_retsensioon_meeskonnale_MealPlannerSolo Klientrakenduse retsensioon meeskonnale MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/SharpRestoVRII#XML Wikis]<br />
<br />
Retsensioonid: [https://wiki.itcollege.ee/index.php/SharpRestoVRII#Retsensioon_meeskonnale_Hammas Meeskonnale Hammas]<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] <br><br />
'''XML: '''[https://wiki.itcollege.ee/index.php/UCanDo#XML XML] <br><br />
'''XSD: '''[https://wiki.itcollege.ee/index.php/UCanDo#XSD XSD] <br><br />
'''XSLT > HTML: '''[https://wiki.itcollege.ee/index.php/UCanDo#XSLT_.3E_HTML XSLT>HTML] <br><br />
'''XSLT > XML: '''[https://wiki.itcollege.ee/index.php/UCanDo#XSLT_.3E_XML XSLT>XML]<br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
'''Lõpptoode: ''' [http://enos.itcollege.ee/~pploom/VR2/ link] <br><br />
'''Meie retsensioon BestInShow meeskonnale: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#Meie_retsensioonid_BestInShow_meeskonnale link] <br><br />
'''XML: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XML_andmefail link] <br><br />
'''XSD: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSD_schema_fail link] <br><br />
'''XSLT1: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_HTML link] <br><br />
'''XSLT2: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_XML link] <br><br />
<br />
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]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
'''Veebiteenus:''' [https://github.com/Tafkinz/AmateurBB/tree/BB-1 GitHub]<br />
<br/><br />
'''Klientrakendus:''' [https://github.com/Tafkinz/frontend GitHub]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/AmateurBB#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' [https://wiki.itcollege.ee/index.php/AmateurBB#Retsensioon wiki]<br />
<br/><br />
'''Klientrakenduse retsensioon''' -<br />
<br/><br />
'''XML retsensioon''' -<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev<br />
'''Project:'''<br />
<br/>[https://www.dropbox.com/s/irgev5w9ofifg5m/vr2_service-v3.zip?dl=0 Veebiteenus]<br />
<br/>[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]<br />
<br/>'''XML:''' TODO<br />
<br/>'''Retsensioon:''' TODO</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131634
BestInShow
2018-06-11T22:18:26Z
<p>Labner: </p>
<hr />
<div>[[Category: Kodutöö_aines_"Võrgurakendused_II:_hajussüsteemide_ehitamine"_2018]]<br />
<br />
==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**ASP.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br><br />
<br />
admin kasutaja on ''admin@admin.ee''<br><br />
breeder kasutaja on ''husky@koer.ee''<br><br />
owner kasutaja on ''puudel@koer.ee''<br><br />
kõikide kasutajate salasõna on ''1234-Sala''<br />
<br><br />
API meetodid on kirjeldatud Swaggeris host:port/swagger/<br />
<br><br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Retsensioonid==<br />
<br />
===Retsensioon WatchWinders XML-ile===<br />
<br />
WatchWinders meeskonna XML faili näol tundub tegemist olevat IT hooldustööde ticketite infoga. Ideaalis võiks Schema ja/või XML fail sisaldada kommentaare, mis aitaks aru saada, mis eesmärgil ja mis laadi infot see dokumenditüüp edastab. Kuid kuna antud XML on piisavalt lihtne ja tavaloogikaga arusaadav, siis kommentaaride puudumine otseselt ei häiri.<br><br />
XML vastab nõuetele, sisaldab 7 loogilist dimensiooni, mida on rohkem kui ülesandes nõutud. Ticketid on grupeeritud tellija-asukoht-seade hierarhia alusel. XML on hästi struktureeritud ja atribuutide kasutamine on läbimõeldud. Elementide ja atribuutide nimed on üheselt mõistetavad. Esitatud XML on igati asjakohane seda tüüpi sisu esitamiseks.<br><br />
XML fail valideerub esitatud Schema vastu.<br><br />
Schema on korrektne, andmetüübid ja piirangud on adekvaatsed. Võib-olla võiks küsida, et kas poleks otstarbekam nõuda contactPerson elemendi olemasolu iga customer elemendi sees.<br><br />
Esitatud XSL failid ei ole ülearu keerukad, kuid nende abil tehtavad transformatsioonid on funktsionaalsed ning reaaleluliselt põhjendatud.<br />
XML-to-XML transformatsioon filtreerib välja mittetöötavad seadmed ja nende kohta käivad menetlemata ticketid. Kasutatud on parameetri järgi otsingut ja kahte for-each tsüklit.<br><br />
XML-to-HTML transformatsioonis on mõnevõrra funktsiooniderohkem. Otsitakse välja kõik seadmed, mille type atribuut on laptopComputer. Lisaks for-each tsüklitele on kasutatud parameetri järgi sorteerimist, ning tingimuste kontrollimist choose-when abil, et kuvada menetletud ja menetlemata ticketeid erineva stiiliga.<br><br />
Seega vastavad ka XSL failid ülesandes esitatud tingimustele.<br />
<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br><br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131576
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-10T16:49:32Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
*19:15 - AmateurBB<br />
*19:30 - Autolugu<br />
*19:45 - VRII2018<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
Lõpptoode: [https://drive.google.com/open?id=1Pq8Lhrs3G5mGiTje70ww-zMBNB5cXnRh ZIP]<br />
<br />
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]<br />
<br />
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
Veebiteenus: [http://enos.itcollege.ee/~mpolma/vr2/API.zip]<br />
<br />
Klientrakendus: [https://github.com/karlerikounapuu/autolugu-front]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Kasutusjuhend:''' [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO retsenseerime projekti WatchWinders<br><br />
Retsensioon klientrakendusele: TODO retsenseerime projekti WatchWinders<br><br />
Retsensioon XML-ile: TODO retsenseerime projekti WatchWinders<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===<br />
Liikmed: <br />
* Karen Grigorjan<br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* [https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0 .zip fail rakendus ja klient koos] <br />
* [https://bitbucket.org/itcollegeprojects/loojang-app veebirakenduse repo] <br />
* [https://bitbucket.org/itcollegeprojects/loojang-client klientrakenduse repo] <br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus XML: link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Veebiteenusele veebiteenuse retsensioon meeskonna Curry tööle. '''(TEGEMISEL)''']<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML-ile XML retsensioon meeskonna Curry tööle. '''(TEGEMISEL)''']<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/SharpRestoVRII#XML Wikis]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] <br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
'''Lõpptoode: ''' [http://enos.itcollege.ee/~pploom/VR2/ link] <br><br />
'''XML: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XML_andmefail link] <br><br />
'''XSD: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSD_schema_fail link] <br><br />
'''XSLT1: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_HTML link] <br><br />
'''XSLT2: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_XML link] <br><br />
<br />
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]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
'''Veebiteenus:''' [https://github.com/Tafkinz/AmateurBB/tree/BB-1 GitHub]<br />
<br/><br />
'''Klientrakendus:''' [https://github.com/Tafkinz/frontend GitHub]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/AmateurBB wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon'''<br />
<br/><br />
'''Klientrakenduse retsensioon'''<br />
<br/><br />
'''XML retsensioon'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev<br />
'''Project:'''<br />
<br/>[https://www.dropbox.com/s/z9snrydbl5e8jp2/vr2_service-v2.zip?dl=0 Veebiteenus]<br />
<br/>[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]<br />
<br/>'''XML:''' TODO<br />
<br/>'''Retsensioon:''' TODO</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131575
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-10T16:49:10Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
*19:15 - AmateurBB<br />
*19:30 - Autolugu<br />
*19:45 - VRII2018<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
Lõpptoode: [https://drive.google.com/open?id=1Pq8Lhrs3G5mGiTje70ww-zMBNB5cXnRh ZIP]<br />
<br />
TFS: [https://variousartists.visualstudio.com/VariousArtists/_versionControl/changesets siin]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/VariousArtists#XML siin]<br />
<br />
Retsensioonid: [https://wiki.itcollege.ee/index.php/VariousArtists#Retsensioonid siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
Veebiteenus: [http://enos.itcollege.ee/~mpolma/vr2/API.zip]<br />
<br />
Klientrakendus: [https://github.com/karlerikounapuu/autolugu-front]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Kasutusjuhend:''' [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO retsenseerime projekti WatchWinders<br><br />
Retsensioon klientrakendusele: TODO projekti WatchWinders<br><br />
Retsensioon XML-ile: TODO projekti WatchWinders<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/AssistDesq Meeskond: AssistDesq]===<br />
Liikmed: <br />
* Karen Grigorjan<br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
[https://wiki.itcollege.ee/index.php/WatchWinders#Link_klientrakendusele_ja_API-le Link klientrakendusele ja API-le]<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* [https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0 .zip fail rakendus ja klient koos] <br />
* [https://bitbucket.org/itcollegeprojects/loojang-app veebirakenduse repo] <br />
* [https://bitbucket.org/itcollegeprojects/loojang-client klientrakenduse repo] <br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus XML: link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Veebiteenusele veebiteenuse retsensioon meeskonna Curry tööle. '''(TEGEMISEL)''']<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#Klientrakendusele klientrakenduse retsensioon meeskonna Curry tööle.]<br />
* [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML-ile XML retsensioon meeskonna Curry tööle. '''(TEGEMISEL)''']<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/SharpRestoVRII#XML Wikis]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] <br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
'''Lõpptoode: ''' [http://enos.itcollege.ee/~pploom/VR2/ link] <br><br />
'''XML: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XML_andmefail link] <br><br />
'''XSD: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSD_schema_fail link] <br><br />
'''XSLT1: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_HTML link] <br><br />
'''XSLT2: ''' [https://wiki.itcollege.ee/index.php/Meeskond:Curry#XSLT_transformatsioon:_XML_-.3E_XML link] <br><br />
<br />
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]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
'''Veebiteenus:''' [https://github.com/Tafkinz/AmateurBB/tree/BB-1 GitHub]<br />
<br/><br />
'''Klientrakendus:''' [https://github.com/Tafkinz/frontend GitHub]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/AmateurBB wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon'''<br />
<br/><br />
'''Klientrakenduse retsensioon'''<br />
<br/><br />
'''XML retsensioon'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev<br />
'''Project:'''<br />
<br/>[https://www.dropbox.com/s/z9snrydbl5e8jp2/vr2_service-v2.zip?dl=0 Veebiteenus]<br />
<br/>[https://www.dropbox.com/s/7kn1u6z2481ligm/WebClient.zip?dl=0 Klientrakendus]<br />
<br/>'''XML:''' TODO<br />
<br/>'''Retsensioon:''' TODO</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131489
BestInShow
2018-06-08T21:42:20Z
<p>Labner: /* Tehnoloogia */</p>
<hr />
<div>[[Category: Kodutöö_aines_"Võrgurakendused_II:_hajussüsteemide_ehitamine"_2018]]<br />
<br />
==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**ASP.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br><br />
<br />
admin kasutaja on ''admin@admin.ee''<br><br />
breeder kasutaja on ''husky@koer.ee''<br><br />
owner kasutaja on ''puudel@koer.ee''<br><br />
kõikide kasutajate salasõna on ''1234-Sala''<br />
<br><br />
API meetodid on kirjeldatud Swaggeris host:port/swagger/<br />
<br><br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br><br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131488
BestInShow
2018-06-08T21:28:39Z
<p>Labner: /* Tegevuste logi */</p>
<hr />
<div>[[Category: Kodutöö_aines_"Võrgurakendused_II:_hajussüsteemide_ehitamine"_2018]]<br />
<br />
==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br><br />
<br />
admin kasutaja on ''admin@admin.ee''<br><br />
breeder kasutaja on ''husky@koer.ee''<br><br />
owner kasutaja on ''puudel@koer.ee''<br><br />
kõikide kasutajate salasõna on ''1234-Sala''<br />
<br><br />
API meetodid on kirjeldatud Swaggeris host:port/swagger/<br />
<br><br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br><br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131487
BestInShow
2018-06-08T21:28:11Z
<p>Labner: </p>
<hr />
<div>[[Category: Kodutöö_aines_"Võrgurakendused_II:_hajussüsteemide_ehitamine"_2018]]<br />
<br />
==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br><br />
<br />
admin kasutaja on ''admin@admin.ee''<br><br />
breeder kasutaja on ''husky@koer.ee''<br><br />
owner kasutaja on ''puudel@koer.ee''<br><br />
kõikide kasutajate salasõna on ''1234-Sala''<br />
<br><br />
API meetodid on kirjeldatud Swaggeris host:port/swagger/<br />
<br><br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131486
BestInShow
2018-06-08T21:27:07Z
<p>Labner: </p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
<br />
==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br><br />
<br />
admin kasutaja on ''admin@admin.ee''<br><br />
breeder kasutaja on ''husky@koer.ee''<br><br />
owner kasutaja on ''puudel@koer.ee''<br><br />
kõikide kasutajate salasõna on ''1234-Sala''<br />
<br><br />
API meetodid on kirjeldatud Swaggeris host:port/swagger/<br />
<br><br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131485
BestInShow
2018-06-08T21:25:16Z
<p>Labner: /* Lõpptoode */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br><br />
<br />
admin kasutaja on ''admin@admin.ee''<br><br />
breeder kasutaja on ''husky@koer.ee''<br><br />
owner kasutaja on ''puudel@koer.ee''<br><br />
kõikide kasutajate salasõna on ''1234-Sala''<br />
<br><br />
API meetodid on kirjeldatud Swaggeris host:port/swagger/<br />
<br><br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131484
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-08T21:23:36Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Kasutusjuhend:''' [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] <br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
'''Lõpptoode: ''' [http://enos.itcollege.ee/~pploom/VR2/ link] <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131483
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-08T21:22:10Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Kasutusjuhend:'''[https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] <br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
'''Lõpptoode: ''' [http://enos.itcollege.ee/~pploom/VR2/ link] <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131482
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-08T21:21:32Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0] '''Kasutusjuhend:'''[https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] <br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
'''Lõpptoode: ''' [http://enos.itcollege.ee/~pploom/VR2/ link] <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131481
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-08T21:20:38Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0] [https://wiki.itcollege.ee/index.php/BestInShow#Kasutusjuhend Kasutusjuhend]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] <br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
'''Lõpptoode: ''' [http://enos.itcollege.ee/~pploom/VR2/ link] <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131480
BestInShow
2018-06-08T21:19:17Z
<p>Labner: /* Kasutusjuhend */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br><br />
<br />
admin kasutaja on ''admin@admin.ee''<br><br />
breeder kasutaja on ''husky@koer.ee''<br><br />
owner kasutaja on ''puudel@koer.ee''<br><br />
kõikide kasutajate salasõna on ''1234-Sala''<br />
<br><br />
API meetodid on kirjeldatud Swaggeris host:port/swagger/<br />
<br><br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131479
BestInShow
2018-06-08T21:18:57Z
<p>Labner: /* Kasutusjuhend */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br><br />
<br />
admin kasutaja on ''admin@admin.ee''<br><br />
breeder kasutaja on ''husky@koer.ee''<br><br />
owner kasutaja on ''puudel@koer.ee''<br><br />
kõikide kasutajate salasõna on ''1234-Sala''<br />
<br><br />
API meetodid on kirjeldatud Swaggeris host:port/swagger/<br />
<br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131478
BestInShow
2018-06-08T21:16:33Z
<p>Labner: /* Kasutusjuhend */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br><br />
<br />
admin kasutaja on ''admin@admin.ee''<br><br />
breeder kasutaja on ''husky@koer.ee''<br><br />
owner kasutaja on ''puudel@koer.ee''<br><br />
kõikide kasutajate salasõna on ''1234-Sala''<br />
<br><br />
<br />
<br />
<br />
<br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131477
BestInShow
2018-06-08T21:12:58Z
<p>Labner: /* Kasutusjuhend */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br><br />
<br />
admin kasutaja on ''admin@admin.ee'', kõikide kasutajate salasõna on ''1234-Sala''<br />
<br><br />
<br />
<br />
<br />
<br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131476
BestInShow
2018-06-08T21:11:30Z
<p>Labner: /* Kasutusjuhend */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br><br />
update-database<br />
</code><br><br />
Laadida ab-sse selles järjekorras sisse näidisandmed:<br><br />
fci.sql<br> <br />
dogs.sql<br><br><br />
<br />
Näiteks avada sql fail Visual Studios ja vajutada rohelist noolekest üleval vasakul nurgas (''Execute'')<br />
<br />
<br><br><br />
Klientrakenduse kasutusjuhend on klientrakenduse juures.<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131475
BestInShow
2018-06-08T21:06:41Z
<p>Labner: /* Lõpptoode */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
<br />
===Kasutusjuhend===<br />
<br />
Veebiteenusele andmebaasi loomiseks ja algandmete sisselaadimiseks:<br><br />
<code><br />
add-migration ''migname''<br />
update-database<br />
</code><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131474
BestInShow
2018-06-08T20:59:58Z
<p>Labner: /* Lõpptoode */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptoode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131473
BestInShow
2018-06-08T20:59:19Z
<p>Labner: </p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Lõpptode==<br />
<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131471
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-08T20:50:03Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] <br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131470
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-08T20:49:22Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' [https://www.dropbox.com/s/j5ixmwmx45kxcyo/BestInShow.zip?dl=0 Dropbox]<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] <br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131469
BestInShow
2018-06-08T20:48:24Z
<p>Labner: /* Tegevuste logi */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br><br />
25.04.2018 - 08.06.2018 Arendame<br />
08.06.2018 Lõpptoode tarnitud</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131467
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-08T20:45:38Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' TODO<br><br />
'''Lõpptoode klient:''' [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
'''XML failid:''' [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' [https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing UCanDo] <br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131465
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-08T20:45:21Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
'''Lõpptoode veebiteenus:''' TODO<br><br />
Lõpptoode klient: [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
XML failid: [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' https://drive.google.com/drive/folders/1GIgiG5NvmnnKoQYmWWbfV_9Nhs2dezz8?usp=sharing <br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131455
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-08T20:10:10Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - MealPlannerSolo(Triin Oja)<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
*18:30 - Curry<br />
*18:45 - WatchWinders<br />
*19:00 - MOT<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
'''Lõpptoode API ja klientrakendus:''' [https://github.com/taavip9/Veebirakendused-II Lõpptoode]<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
Lõpptoode veebiteenus: TODO<br><br />
Lõpptoode klient: [https://bitbucket.org/Marjup/bestinshow/ https://bitbucket.org/Marjup/bestinshow/]<br><br />
XML failid: [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron (loobus)<br />
* Liina Saar<br />
<br />
'''Lõpptoode: ''' <br><br />
'''Veebiteenuse retsensioon: ''' <br><br />
'''Klientrakenduse retsensioon: ''' <br><br />
'''XML retsensioon: ''' <br><br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#Klientrakenduse_retsensioon_meeskonnale_GoFood GoFood]<br />
<br/><br />
'''XML retsensioon''' meeskonnale [https://wiki.itcollege.ee/index.php/Hammas#XMLi_retsensioon_meeskonnale_MealPlannerSolo MealPlannerSolo]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
<br/><br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131427
BestInShow
2018-06-08T00:02:07Z
<p>Labner: /* XML failid */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
Tegemist on koertenäituse tulemuste protokolliga. Arvestust peetakse tõugude kaupa ja iga tõu sees omakorda on erinevad võistlusklassid, emastest kutsikatest isaste veteranideni. Igas võistlusklassis valitakse 4 parimat, ülejäänuid ei järjestata. Tõu isaste ja emaste avaklassi võitja konkureerivad tiitlile tõu parim - BOB (Best Of Breed). Kõikide tõugude parimate seast valitakse näituse parim - BIS (Best In Show).<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131426
BestInShow
2018-06-07T23:55:21Z
<p>Labner: /* XSLT (HTML) */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda. Samuti näitab võistlusklassis osalenute koguarvu.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131415
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-06T18:23:56Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - Triin Oja<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
Lõpptoode veebiteenus: TODO<br><br />
Lõpptoode klient: TODO<br><br />
XML failid: [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid Schema, XML ja XSLT HTML ja XML transformatsiooniks]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron<br />
* Liina Saar<br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood Meeskonnale GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' In progress<br />
<br/><br />
'''XML retsensioon''' In progress<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131414
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-06T18:21:29Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - Triin Oja<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
Lõpptoode veebiteenus: TODO<br><br />
Lõpptoode klient: TODO<br><br />
XML failid: [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid XML ja XSL]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron<br />
* Liina Saar<br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood Meeskonnale GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' In progress<br />
<br/><br />
'''XML retsensioon''' In progress<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131413
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-06T18:20:38Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - Triin Oja<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
Lõpptoode veebiteenus: TODO<br><br />
Lõpptoode klient: TODO<br><br />
XML failid: [https://wiki.itcollege.ee/index.php/BestInShow#XML_failid]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron<br />
* Liina Saar<br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood Meeskonnale GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' In progress<br />
<br/><br />
'''XML retsensioon''' In progress<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131412
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-06T18:19:54Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - Triin Oja<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
Lõpptoode veebiteenus: TODO<br><br />
Lõpptoode klient: TODO<br><br />
XML failid: [https://wiki.itcollege.ee/index.php/BestInShow]<br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron<br />
* Liina Saar<br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood Meeskonnale GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' In progress<br />
<br/><br />
'''XML retsensioon''' In progress<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131411
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018
2018-06-06T18:18:45Z
<p>Labner: /* Meeskond: BestInShow */</p>
<hr />
<div>[[Category: Võrgurakendused II: hajussüsteemide ehitamine]]<br />
__NOINDEX__<br />
<br />
=Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2018=<br />
==Eesmärk==<br />
Saada praktiline kogemus hajussüsteemide ehitamisest XML(SOAP) või Rest veebiteenusel ja sellele klientrakenduse loomise abil ning süvendada meeskonnatööoskust. <br />
*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.<br />
*REST teenuste loomisel tuleks kasutada ASP.NET Web API2/ASP.NET Core 2.0/WCF võimalusi.<br />
<br />
Kaugem eesmärk on loomulikult hinne :).<br />
<br />
==Reeglid==<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus<br />
<br />
Ü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.<br />
<br />
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.<br />
<br />
==Tähtajad==<br />
<br />
<br />
* '''Veebiteenus''' [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]<br />
** Veebiteenuse analüüs peab olema valmis, esitatud ja wikilehel kirjeldatud hiljemalt: '''01.aprill 2018'''. Lisaks on '''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. <ins>Meeskonnalehed lingitakse selle lehe lõppu Meeskonna pealkirja alla.</ins>'''<br />
** Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid veebiteenuste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''Klientrakendused''' [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]<br />
** Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt '''27. mai 2018'''.<br />
** Retsensioonid klientrakenduste kohta peavad tehtud olema '''03. juuni 2018'''.<br />
<br />
<br />
* '''XML fail''' [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]<br />
** XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt '''01. juuni 2018'''.<br />
** Retsensioonid XML-failide kohta peavad tehtud olema '''05.juuni 2018'''.<br />
<br />
==Hindamine==<br />
===Üldised kriteeriumid===<br />
<br />
Teostatuks loetakse projekt juhul, kui lähteülesanne on realiseeritud, lahendus on töötav, kuid esineb suuremaid vigu ning piirsituatsioonidega ei ole arvestatud.<br />
<br />
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. <br />
<br />
'''Maksimumtulemuse annab (vähemalt 4/7):'''<br />
<br />
* Majanduslik mõtlemine (kas loodav teenus ja rakendused oleks kasutatav ka ärilistel eesmärkidel)<br />
* Mobiilirakendused/Angularis/reactis loodud klientrakendus<br />
* Kogukondade kaasamine<br />
* Kasutajamugavus<br />
* Läbimõeldud töökorraldus<br />
* Lisavõimaluste realiseerimine (vt näidisteemad)<br />
* Korraliku arhitektuuriga kirjutatud kood<br />
<br />
===XML andmefail===<br />
Ü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.<br />
<br />
XML-il peab olema vähemalt 4 loogilist dimensiooni.<br />
<dim1><br />
<dim2><br />
<dim3><br />
<dim4><br />
</dim4><br />
</dim3><br />
</dim2><br />
</dim1><br />
Lisaks tuleb kasutada 3-el dimensioonil attribuute, mis one enamat, kui lihtsalt ID.<br />
<br />
===Veebiteenus===<br />
Loodav veebiteenus peab võimaldama:<br />
* Teenuse pakkumist<br />
* '''Teenuse kasutajate tuvastamist ning haldamist'''<br />
* Teenuse kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes<br />
* Teenuse poole pöördumiste arvu piiramist ja piirangute haldamist.<br />
<br />
Loodav veebiteenus peab toetama mitme kasutaja võimalust.<br />
<br />
Loodav veebiteenus tuleb luua kasutades ''Windows Communication Foundation'' või ASP.NET MVC Web API tehnoloogiat<br />
<br />
Andmebaasis peab olema vähemalt 9 olemit ehk andmebaas on eeldus,<br />
<br />
<br />
Soovitav on luua teenus (FE) ja teenuse seadistamiseks ning kasutajate haldamiseks mõeldud rakendus (BE).<br />
<br />
===Klientrakendus===<br />
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)<br />
<br />
Variant1: teha klientrakendus enda loodud veebiteenusele <br />
<br />
Variant2: teha klientrakendus mõnele levinud veebiteenusele.<br />
Näiteks: <br />
* http://www.bing.com/developer<br />
* http://www.flickr.com/services/api/response.soap.html<br />
* http://developer.ebay.com/developercenter/windows/<br />
* http://apiwiki.twitter.com/Getting-Started<br />
<br />
===Retsensioonid===<br />
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.<br />
<br />
Retsensioon peab sisaldama minimaalselt...<br />
* XML - ...200 sõna.<br />
* Veebiteenus - ...600 sõna.<br />
* Klientrakendus - ...600 sõna.<br />
<br />
Mõnelauselisest arvamusest ei piisa, kuna tegemist on grupi loodavate arvustustega, mitte individuaalsete arvustustega.<br />
<br />
==Konsultatsioonid==<br />
Igal projektimeeskonnal on piiramatu õigus saada õppejõu käest konsultatsiooni ja juhendamist oma<br />
töö tegemiseks, kas harjutuste ajal või pärast harjutusi ja loenguid. Eriaegade suhtes saab sõlmida<br />
õppejõuga kokkuleppeid kontaktidel<br />
mait.poska [ät] itcollege.ee või (+372 53 469 734)<br />
(teksti originaalautor Priit Raspel)<br />
<br />
==Kaitsmisele registreerumine==<br />
Kaitsmisele tuleks registreerida järjest(st iga järgmine lisab vajaliku 15min ajaakna) ja suvalisis kellaaegasid ei hakka kuhugi vahele kirjutama<br />
<br />
'''05.06.2018'''<br />
*15:00 - Miisiks<br />
*15:15 - Maagikud <br />
*15:30 - GoFood<br />
*15:45 - Raavo V2™<br />
*16:00 - LearnToDrive<br />
Sellele päevale rohkem aegu juurde lisada ei saa<br />
<br />
<br />
Allpool olevate päevadele võib vabalt aegasid juurde lisada 15min sammga. Reegel on, et aegu lisame järjest<br />
<br />
'''06.06.2018'''<br />
*17:00 - Raamaturiiul<br />
*17:15 - Pakiraam<br />
*..<br />
<br />
<br />
'''09.06.2018'''<br />
*16:00 - Triin Oja<br />
*16:15 - Beer Pressure<br />
*16:30 - &lt;div&gt;<br />
*16:45 - NutriCheck<br />
*17:00 - JääTuli<br />
*17:15 - Ophelia<br />
*17:30 - Kuldne Loojang<br />
*17:45 - Hammas<br />
*18:00 - VariousArtists<br />
*18:15 - Pillar Of Autumn<br />
<br />
=Teemad 2018 kevad=<br />
''' Kodutöö koosneb kolmest eraldiseisvast ülesandest:'''<br />
* 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)<br />
* Luua veebiteenus, mis võimaldaks pakkuda teenust, eristada kasutajaid ning näidata teenuse kasutamise statistikat kasutajate ja tegevuste lõikes<br />
* Luua klientrakendus mõnele olemasolevale või endaloodud veebiteenusele<br />
<br />
NB! XML andmefail ja veebiteenus ei pea olema omavahel seotud.<br />
<br />
<br />
==Näidisteemad==<br />
<br />
<br />
====Ülesanne====<br />
Luua sobiva alguse järgi nimede pakkumise teenus:<br />
* alates kahetähelisetest algustest pakkuda sobivad nimesid<br />
* luua võimalus kasutajatel nimesid lisada<br />
* luua võimalus administraatoril nimesid muuta/kustutada<br />
* meeste ja naiste nimed peavad olema süsteemis eristatavad<br />
* luua võimalus, mis võimaldab kuvada populaarseid nimesid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* luua võimalus, et nimi lisatakse baasi alles siis, kui administraatori õigustega inimene on selleks vastava loa andnud<br />
<br />
===Külastusstatistika teenus===<br />
Mõte selles, et pakkuda teenust, kus kasutajal on võimalik registreerida külastused ning küsida oma külastusstatistikat.<br />
<br />
====Ülesanne====<br />
Luua külastusstatistika teenus:<br />
* kasutaja saab teenuses registreerida külastusi<br />
* kasutaja saab küsida külastusstatistikat päevade/kuude/kogu perioodi lõikes<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
<br />
Lisavõimalused:<br />
* luua võimalus registreerida alamlehtede külastusstatistikat<br />
* luua võimalus külastusstatistikale lisaparameetrite lisamiseks (ip aadress, sirviku versioon jne)<br />
<br />
===Telefoniraamatu teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada kontakte ja nende seast otsida<br />
<br />
====Ülesanne====<br />
Luua telefoniraamatu teenus:<br />
* kasutaja saab teenuses kontakte lisada ja kustutada<br />
* kasutaja saab kontaktide nime/telefoninumbri jne abil otsida<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutajaid on võimalik lisada gruppidesse<br />
* kasutajal on võimalik lisada vajalike kontaktandmete liike<br />
* kasutajatel on võimalik jagada omavahel kontakte ja kontaktide grupper<br />
<br />
===RSS voogude kogumise ja uudiste kuvamise teenus===<br />
Mõte selles, et kasutaja saab teenuse abil salvestada talle huvipakkuvaid RSS vooge ja nendelt voogudelt uudiseid lugeda<br />
<br />
====Ülesanne====<br />
Luua RSS voogude haldusteenus:<br />
* kasutaja saab teenuses RSS vooge lisada ja kustudada<br />
* kasutaja saab pärida talle huvipakkuvate voogude viimaseid uudiseid<br />
* luua võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks<br />
* kasutaja saab RSS vooge vaadata eraldi või grupeeritult<br />
* vooge peab puhverdama, kuna voogude lugemine võtab enamasti üsna palju aega <br />
*<br />
<br />
= Meeskonnad 2018=<br />
==Päevaõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/HairSaloon Meeskond: HairSaloon]===<br />
Liikmed:<br />
* Kaido Henrik Elias<br />
* Arvo Paomees<br />
<br />
===[https://wiki.itcollege.ee/index.php/VariousArtists Meeskond: VariousArtists]===<br />
Liikmed:<br />
* Ruudi Vinter<br />
* Madis Roosioks<br />
* Pavel Fleišer<br />
<br />
===[https://wiki.itcollege.ee/index.php/Maagikud Meeskond: Maagikud]===<br />
Liikmed:<br />
*Kristina Rästas<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Rauno Lõhmus<br />
Lõpptoote [http://enos.itcollege.ee/~sjaanus/c/Airport_solution.zip link]<br />
<br />
Veebiteenuse ja klientrakenduse retsensioon tiimile Raavo V2 asub [https://docs.google.com/document/d/1fxmdLa94Do1u5WlmPQjSd4mMmdbDw5WmDne547jqQc4/edit siin]<br />
<br />
XML retsensioon tiimile LTD asub [https://docs.google.com/document/d/15rMhpqyG5XHsvOCZJp88ucHkiMa5Non6BbYwBBKT2_Y/edit siin]<br />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<br />
'''Meie XML:''' [https://wiki.itcollege.ee/index.php/RaamatuRiiul#XML XML]<br />
<br />
'''Meie veebiteenuse, klientrakenduse ja XML retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<br />
<br />
'''Meie veebiteenus ning klientrakendus.''' [https://www.dropbox.com/s/ugbvx4j4zdlbp68/RaamatuRiiul.7z?dl=0 Zip]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Autolugu Meeskond: Autolugu]===<br />
Liikmed:<br />
* Margus Põlma<br />
* Karl Erik Õunapuu<br />
<br />
===[https://wiki.itcollege.ee/index.php/VRII2018 Meeskond: VRII2018]===<br />
Liikmed:<br />
* Kaspar Kaal<br />
* Teet Adamson<br />
* Rahel Kangur<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2%E2%84%A2 Meeskond: Raavo V2™]===<br />
Liikmed:<br />
* Peeter Fridolin<br />
* Kristo Leesmann<br />
* Rando Rommot<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Meeskond_Raavo_V2™#Retsentsioonid Maagikud]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm (Meeskonnast lahkunud)<br />
* Raido Vell<br />
<br />
===[https://wiki.itcollege.ee/index.php/jaatuli Meeskond: JääTuli]===<br />
Liikmed:<br />
*Tarmo Luugus<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Marten Tammeleht<br />
<br />
===[https://wiki.itcollege.ee/index.php/JustABot Meeskond: JustABot]===<br />
Liikmed:<br />
*Argo Hansen<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam Meeskond: Pakiraam]===<br />
Liikmed:<br />
*Kristo Naeris<br />
*Indro Kottise<br />
<br />
Klientrakendus [https://github.com/knaeris/VR2Klient siin] ja veebiteenus [https://github.com/knaeris/VR2Projekt siin]<br />
<br />
Retsensioon meeskonna Raavo v2 klientrakendusele : [https://wiki.itcollege.ee/index.php/Meeskond_Pakiraam#Retsensioonid Retsensioon]<br />
<br />
Retsensioon meeskonna Raavo v2 veebiteenusele:<br />
<br />
===[https://wiki.itcollege.ee/index.php/GoFood Meeskond: GoFood]===<br />
Liikmed: <br />
<br />
* Rando Kurel<br />
* Henrik Prangel<br />
* Markus Mänd<br />
* Edgar Tereping<br />
* Jane Kaldma<br />
<br />
Lõpptoode: [https://wiki.itcollege.ee/index.php/GoFood#Projektikood lõpptoote leiab siit]<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud:[https://wiki.itcollege.ee/index.php/GoFood#Retsensioon_rühmale_Maagikud Retsensioon]<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekt [https://wiki.itcollege.ee/index.php/LTD#Kood_ise asub siin, kliendina kasutame JustInCaseWPFi]<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<br />
<br />
XML osa retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#XML_retsensioon RaamatuRiiul]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Miisiiks Meeskond: Miisiiks]===<br />
Liikmed:<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
[https://www.dropbox.com/s/e2vu3ukgckyc2x5/MiisiiksWS.zip?dl=0 Veebiteenus]<br />
<br />
Veebiteenus v2 (05.06): [https://www.dropbox.com/s/4acyvc9c7h08xl6/MiisiiksWS-v2.rar?dl=0 Veebiteenus]<br />
<br />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
Klientrakendus v2 (05.06): [https://www.dropbox.com/s/m6ijv2yyqthebgr/MiisiiksC2-v2.rar?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
Klientrakendus: [https://wiki.itcollege.ee/index.php/Miisiiks#Klientrakenduse_retsensioon Retsensioon]<br />
<br />
XML: [https://wiki.itcollege.ee/index.php/Miisiiks#XML_retsensioon XML]<br />
<br />
===[https://wiki.itcollege.ee/index.php/VR2_div Meeskond: &lt;div&gt;]===<br />
Liikmed:<br />
*Kaarel Pärtel<br />
*Marek Juhanson<br />
*Kai Kallastu<br />
<br />
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]<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BestInShow Meeskond: BestInShow]===<br />
Liikmed:<br />
* Liina Abner<br />
* Marju Pütsepp<br />
* Liisi Taimre<br />
<br />
Lõpptoode veebiteenus: TODO<br><br />
Lõpptoode klient: TODO<br><br />
XML failid: <br><br />
Retsensioon veebiteenusele: TODO<br><br />
Retsensioon klientrakendusele: TODO<br><br />
Retsensioon XML-ile: TODO<br><br />
<br />
===[https://wiki.itcollege.ee/index.php/WatchWinders Meeskond: WatchWinders]===<br />
Liikmed:<br />
* Toomas Juhkov<br />
* Kunnar Kukk<br />
* Tiit Kuuskmäe<br />
<br />
===[[ Kuldneloojang | Meeskond: Kuldne loojang]]===<br />
'''Liikmed''':<br />
* Andrus Seiman<br />
* Marko Belzetski<br />
* Priit Tiganik<br />
* Kristjan Peterson (loobus)<br />
<br />
<br />
'''Lõpptoode:'''<br />
algselt üles laetud 02.06.2018, bugide parandusi lisatud 04.06.2018<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/4h9bvq4k6388fmo/loojang.zip?dl=0<br />
* veebirakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-app<br />
* klientrakenduse repo: https://bitbucket.org/itcollegeprojects/loojang-client<br />
* XML: [https://wiki.itcollege.ee/index.php/Kuldneloojang#XML_.C3.BClesande_kirjeldus link meie Wiki lehele]<br />
<br />
<br />
'''Retsensioonid:'''<br />
* TODO<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler (loobus)<br />
* Jorma Rebane<br />
<br />
[https://www.dropbox.com/s/v63fkbjnd5umqqm/Ophelia.zip?dl=0 Lõpptoote link]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#L.C3.B5pptoote_kasutusjuhend Kasutusjuhend(Kaasas ka lõpptootes)]<br />
<br />
[https://wiki.itcollege.ee/index.php/Ophelia#XML_.C3.9Clesanne XML Ülesanne]<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava (lahkunud liige)<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Lähtekood: [http://enos.itcollege.ee/~luksti/CSharp/CSharpResto.zip CSharpResto]<br />
<br />
Retsensioonid:<br />
<br />
===[https://wiki.itcollege.ee/index.php/BeerPressure Meeskond: BeerPressure]===<br />
Liikmed:<br />
* Sigrid Aasma<br />
* Evelin Jõgi<br />
* Martin Kask<br />
* Marko Nõu<br />
'''Projekt:''' [https://github.com/sikumiku/TaisKohtApi TaisKohtApi]<br />
<br />
'''Lõpptoode:''' [https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip GitHub commit]<br />
<br />
'''XML:''' [https://wiki.itcollege.ee/index.php/BeerPressure#XML.2FXSD.2FXSLT Beer Pressure XML/XSD/XSLT]<br />
<br />
'''Meie kirjutatud XML failide retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#XML_retsensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT#Veebiteenuse_retsensensioon_by_meeskond_BeerPressure: Team MOT retsensioon]<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:Kuldneloojang#Klientrakenduse_retsensensioon_by_meeskond_BeerPressure: Team Kuldneloojang retsensioon]<br />
<br />
===[[ Memorize | Meeskond: Memorize]]===<br />
Liikmed:<br />
* Madis Uudam<br />
* Olle Mikk<br />
<br />
===[https://wiki.itcollege.ee/index.php/UCanDo Meeskond: UCanDo]===<br />
Liikmed:<br />
* Mart Raus<br />
* Ando Kiidron<br />
* Liina Saar<br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar (loobus)<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/ <br><br />
'''Meie kirjutatud veebiteenuse, klientrakenduse ja XML'i retsensioon:''' [https://docs.google.com/document/d/16WL12wmvQ_TPcY_-4pG_kjwtstQoX5meEYcigE4Febw/edit?usp=sharing: Team Raavo V2]<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_MealPlanner Meeskond: MealPlanner]===<br />
Liikmed:<br />
*Triin Oja<br />
*Rein Remsu<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:Curry Meeskond: Curry]===<br />
Liikmed:<br />
* Rain Elken<br />
* Peeter Ploom<br />
<br />
===[https://wiki.itcollege.ee/index.php/Hammas Meeskond: Hammas]===<br />
<br />
Liikmed:<br />
* Sten Lunden<br />
<br />
'''Lõpptoode:''' [https://ildtest.azurewebsites.net azure]<br />
<br/><br />
'''Projekt:''' [https://github.com/lundens/ild-core github]<br />
<br/><br />
'''XML''' [https://wiki.itcollege.ee/index.php/Hammas#XML wiki]<br />
<br/><br />
'''Veebiteenuse retsensioon''' [https://wiki.itcollege.ee/index.php/Hammas#Veebiteenuse_retsensioon_meeskonnale_GoFood Meeskonnale GoFood]<br />
<br/><br />
'''Klientrakenduse retsensioon''' In progress<br />
<br/><br />
'''XML retsensioon''' In progress<br />
<br />
===[https://wiki.itcollege.ee/index.php/LabLite Meeskond: LabLite]===<br />
Liikmed:<br />
* Alex Kaska<br />
<br />
===[https://wiki.itcollege.ee/index.php/AmateurBB Meeskond: AmateurBB]===<br />
Liikmed:<br />
*Taavi Kivimaa<br />
<br />
===[https://wiki.itcollege.ee/index.php/MealPlannerSolo Meeskond: MealPlannerSolo]===<br />
Liikmed:<br />
*Triin Oja<br />
'''[https://wiki.itcollege.ee/index.php/MealPlannerSolo#XML_andmefail XML]'''<br />
'''[http://enos.itcollege.ee/~troja/VRII2018/ Veebiteenus ja klientrakendus]'''<br />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131410
BestInShow
2018-06-06T17:42:59Z
<p>Labner: /* XSLT (XML) */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda.<br />
<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
Teeb xml-i, milles on ainult BIS (Best In Show) ja BOB (Best Of Breed) tiitli võitnud koerad.<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131409
BestInShow
2018-06-06T17:40:39Z
<p>Labner: /* XSLT (HTML) */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
Teeb tabeli iga võistlusklassi võitjatega, kui võistlusklassi võitja on saanud ka tiitli BIS (Best In Show), BOB (Best Of Breed) või BB (Best Baby), siis näidatakse ka seda.<br />
<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131408
BestInShow
2018-06-06T17:36:18Z
<p>Labner: /* XSLT (XML) */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<br />
<xsl:output method="xml" indent="yes"/><br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131407
BestInShow
2018-06-06T17:34:49Z
<p>Labner: /* XML failid */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"<br />
><br />
<xsl:output method="xml" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</xml><br />
</source><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131405
BestInShow
2018-06-06T17:33:02Z
<p>Labner: /* XML failid */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"<br />
><br />
<xsl:output method="xml" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:variable name="bis" select="//participant[title='BIS']"/><br />
<xsl:variable name="breed" select="//breed[class/participant[@chip=$bis/@chip]]"/><br />
<winners><br />
<bis><br />
<xsl:copy-of select="$bis/name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$breed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$breed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="$bis/@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="$bis/owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$bis/owner/lastname"/><br />
</dogowner><br />
</bis><br />
<xsl:for-each select="//participant[title='BOB']"><br />
<xsl:variable name="chip" select="@chip" /><br />
<bob><br />
<xsl:variable name="bobreed" select="//breed[class/participant[@chip=$chip]]" /><br />
<xsl:copy-of select="name"/><br />
<breed><br />
<name><br />
<xsl:copy-of select="$bobreed/name[@lang='ee']"/><br />
</name><br />
<fcistandard><br />
<xsl:value-of select="$bobreed/@fcinr"/><br />
</fcistandard><br />
</breed><br />
<country><br />
<xsl:value-of select="@country"/><br />
</country><br />
<dogowner><br />
<xsl:value-of select="owner/firstname"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="owner/lastname"/><br />
</dogowner><br />
</bob><br />
</xsl:for-each><br />
</winners><br />
</xsl:template><br />
</xsl:stylesheet><br />
</xml><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131343
BestInShow
2018-06-05T16:09:54Z
<p>Labner: </p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
====Schema====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
====XML====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
====XSLT (HTML)====<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"<br />
xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl"><br />
<xsl:output method="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<xsl:text disable-output-escaping='yes'>&lt;!DOCTYPE html&gt;</xsl:text><br />
<html><br />
<head><br />
<style><br />
table, tr, td {<br />
border-collapse: collapse;<br />
border: 1px solid black;<br />
}<br />
td {<br />
padding: 5px;<br />
}<br />
div {<br />
width: 800px; margin: 20px;<br />
}<br />
.breed {<br />
background-color: #f2f2f2;<br />
}<br />
</style><br />
<title>BestInShow - Best in Class</title><br />
</head><br />
<body><br />
<div><br />
<h2><br />
<xsl:value-of select="show/title[@lang='en']"/><br />
</h2><br />
<h3>Best In Class - Võistlusklasside võitjad</h3><br />
<hr/><br />
BB - Best Baby<br /><br />
BOB - Best Of Breed<br /><br />
BIS - Best In Show<br />
<table><br />
<xsl:for-each select="//breed"><br />
<tr class="breed"><br />
<td colspan="4"><br />
<xsl:value-of select="name[@lang='en']"/><br />
<xsl:text>&#160;</xsl:text><br />
<i><br />
<xsl:value-of select="name[@lang='ee']"/><br />
</i><br />
</td><br />
</tr><br />
<tr><br />
<td>Class</td><br />
<td>Number of participants</td><br />
<td>Winner</td><br />
<td>Titles</td><br />
</tr><br />
<xsl:for-each select="class"><br />
<xsl:variable name="classType" select="@type" /><br />
<xsl:variable name="classGender" select="@gender" /><br />
<xsl:variable name="participantCount" select ="count(participant)" /><br />
<xsl:for-each select="participant"><br />
<xsl:variable name="participantId" select="@id" /><br />
<xsl:variable name="participantName" select="name" /><br />
<xsl:if test="rank = 1"><br />
<tr><br />
<td><br />
<xsl:value-of select="$classType"/><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="$classGender"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantCount"/><br />
</td><br />
<td><br />
<xsl:value-of select="$participantName"/><br />
</td><br />
<td><br />
<xsl:for-each select="title"><br />
<xsl:choose><br />
<xsl:when test=".='BIS' or .='BOB' or .='BB'"><br />
<xsl:text>&#160;</xsl:text><br />
<xsl:value-of select="."/><br />
</xsl:when><br />
</xsl:choose><br />
</xsl:for-each><br />
</td><br />
</tr><br />
</xsl:if><br />
</xsl:for-each><br />
</xsl:for-each><br />
</xsl:for-each><br />
</table><br />
</div><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
====XSLT (XML)====<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131339
BestInShow
2018-06-05T15:59:11Z
<p>Labner: </p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===XML failid===<br />
<br />
==Schema==<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8"?><br />
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"><br />
<xs:element name="show"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="title"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="venue"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="country" type="xs:string" /><br />
<xs:element name="city" type="xs:string" /><br />
<xs:element name="street" type="xs:string" /><br />
<xs:element name="zip" type="xs:unsignedShort" /><br />
<xs:element name="location"><br />
<xs:complexType><br />
<xs:attribute name="lat" type="xs:decimal" use="required" /><br />
<xs:attribute name="lng" type="xs:decimal" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="startdate" type="xs:date" /><br />
<xs:element name="enddate" type="xs:date" /><br />
<xs:element name="judge"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcigroup" maxOccurs="10"> <!-- number of FCI groups --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="fcisection" maxOccurs="15"> <!-- max number of sections in FCIGroup --><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="100" name="breed"> <!--max number of breeds in FCISection--><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="2" name="name"><br />
<xs:complexType><br />
<xs:simpleContent><br />
<xs:extension base="xs:string"><br />
<xs:attribute name="lang" type="xs:string" use="required" /><br />
</xs:extension><br />
</xs:simpleContent><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="20" name="class"><!--number of different classes--><br />
<xs:complexType><br />
<xs:sequence minOccurs="0"><br />
<xs:element maxOccurs="unbounded" name="participant"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="name" type="xs:string" /><br />
<xs:element name="owner"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="firstname" type="xs:string" /><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="dob" type="xs:date" /><br />
<xs:element minOccurs="0" name="rank" type="xs:unsignedByte" /><!--only first four are ranked--><br />
<xs:element minOccurs="0" maxOccurs="10" name="title" type="xs:string" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:unsignedByte" use="required" /><br />
<xs:attribute name="country" type="xs:string" use="required" /><br />
<xs:attribute name="chip" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
<xs:attribute name="gender" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcinr" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcisectionId" type="xs:unsignedShort" use="required" /><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="fcigroupId" type="xs:unsignedShort" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
==XML==<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=131338
BestInShow
2018-06-05T15:57:02Z
<p>Labner: </p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
<br />
===Andmemudel===<br />
<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="utf-8" ?><br />
<show><br />
<title lang="ee"> IV Rahvusvaheline põhjamaiste kelgukoerte erinäitus</title><br />
<title lang="en"> IV International Nordic Sledge Dogs Specialty Show</title><br />
<venue><br />
<name>Saku Suurhall</name><br />
<country>Estonia</country><br />
<city>Tallinn</city><br />
<street>Paldiski mnt. 104B</street><br />
<zip>13522</zip><br />
<location lat="59.5467" lng="26.1830"/><br />
</venue><br />
<startdate>2018-02-18</startdate><br />
<enddate>2018-02-20</enddate><br />
<judge country="gbr"><br />
<lastname>Dogman</lastname><br />
<firstname>David</firstname><br />
</judge><br />
<fcigroup fcigroupId="5"><br />
<name lang="ee">spitsilaadsed ja algupärased tõud</name><br />
<name lang="en">spitz and primitive types</name><br />
<fcisection fcisectionId="1" fcigroupId="5"><br />
<name lang="ee">põhjamaised kelgukoerad</name><br />
<name lang="en">nordic sledge dogs</name><br />
<breed fcinr="212"><br />
<name lang="ee">samojeedi koer</name><br />
<name lang="en">Samoyed</name><br />
<class type="baby" gender="dog"><br />
<participant id="1" country="fin" chip="fin1234"><br />
<name>Finnadian Heatseeker</name><br />
<owner><br />
<lastname>Koiranen</lastname><br />
<firstname>Pasi</firstname><br />
</owner><br />
<dob>2017-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="2" country="est" chip="est1233"><br />
<name>Silvery White Shadow My Hero</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2017-12-04</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="baby" gender="bitch"><br />
<participant id="3" country="est" chip="est1234"><br />
<name>Lumeingel October Sky</name><br />
<owner><br />
<lastname>Abner</lastname><br />
<firstname>Liina</firstname><br />
</owner><br />
<dob>2017-12-05</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="4" country="est" chip="est1235"><br />
<name>Lumeingel October Wind</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-11-03</dob><br />
<rank>1</rank><br />
<title>BB</title><br />
</participant><br />
<participant id="5" country="est" chip="est1236"><br />
<name>Lumeingel October Sun</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2017-12-08</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="puppy" gender="dog"><br />
<participant id="6" country="est" chip="est1237"><br />
<name>Smiling Snowball Letter to Pushkin</name><br />
<owner><br />
<lastname>Pambu</lastname><br />
<firstname>Peedu</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>3</rank><br />
</participant><br />
<participant id="7" country="est" chip="est1238"><br />
<name>Vanderbilt's Captain Cool</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2013-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
<participant id="8" country="est" chip="est1239"><br />
<name>Ikiliikkujan Blu Sky O'Traces</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BP</title><br />
</participant><br />
</class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="9" country="est" chip="est1230"><br />
<name>Snowmist Acrobat</name><br />
<owner><br />
<lastname>Lehtonen</lastname><br />
<firstname>Lehti</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="10" country="est" chip="est2234"><br />
<name>Winter Day's Grand Sensation</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="243"><br />
<name lang="ee">alaska malamuut</name><br />
<name lang="en">Alaskan Malamute</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="est" chip="est2235"><br />
<name>D-Taro of Xamba Yoshi and Us</name><br />
<owner><br />
<lastname>Hiir</lastname><br />
<firstname>Heino</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="11" country="fin" chip="fin2235"><br />
<name>Talvituuli Pikku Myy</name><br />
<owner><br />
<lastname>Pehmonen</lastname><br />
<firstname>Petteri</firstname><br />
</owner><br />
<dob>2014-11-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
<title>BIS</title><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
<breed fcinr="270"><br />
<name lang="ee">siberi husky</name><br />
<name lang="en">Siberian Husky</name><br />
<class type="baby" gender="dog"></class><br />
<class type="baby" gender="bitch"></class><br />
<class type="puppy" gender="dog"></class><br />
<class type="puppy" gender="bitch"></class><br />
<class type="junior" gender="dog"></class><br />
<class type="junior" gender="bitch"></class><br />
<class type="intermediate" gender="dog"></class><br />
<class type="intermediate" gender="bitch"></class><br />
<class type="open" gender="dog"><br />
<participant id="11" country="ltu" chip="ltu1234"><br />
<name>Klajokliu Šuo You Are My Treasure</name><br />
<owner><br />
<lastname>Sussanikaite</lastname><br />
<firstname>Susanna</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOS</title><br />
</participant><br />
<participant id="12" country="est" chip="est3233"><br />
<name>Kenventaki Hot'n Disco's</name><br />
<owner><br />
<lastname>Siirius</lastname><br />
<firstname>Siiri</firstname><br />
</owner><br />
<dob>2012-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="open" gender="bitch"><br />
<participant id="13" country="pol" chip="pol3235"><br />
<name>Princessa of Tungus</name><br />
<owner><br />
<lastname>Pan</lastname><br />
<firstname>Kleks</firstname><br />
</owner><br />
<dob>2011-12-03</dob><br />
<rank>1</rank><br />
<title>BOB</title><br />
</participant><br />
<participant id="14" country="est" chip="est3236"><br />
<name>Quest for Glory</name><br />
<owner><br />
<lastname>Peedikaupmees</lastname><br />
<firstname>Peeter</firstname><br />
</owner><br />
<dob>2014-12-03</dob><br />
<rank>2</rank><br />
</participant><br />
</class><br />
<class type="veteran" gender="dog"></class><br />
<class type="veteran" gender="bitch"></class><br />
</breed><br />
</fcisection><br />
</fcigroup><br />
</show><br />
</source><br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=130403
BestInShow
2018-04-25T21:05:33Z
<p>Labner: /* Tegevuste logi */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br><br />
25.04.2018 Meeskonna Skype kohtumine. API endpointide spec. Tööde jaotamine: Liisi - kennelid, Liina - näitused, Marju alustab klientrakendusega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=130397
BestInShow
2018-04-21T22:30:59Z
<p>Labner: /* Tegevuste logi */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga.<br><br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega.<br></div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=130396
BestInShow
2018-04-21T22:30:41Z
<p>Labner: /* Tegevuste logi */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.<br><br />
04.04.2018 Projektipõhi domeenimudeliga<br />
20.04.2018 Vajalike mustrite ja kihtide lisamine projektile, api/FCIGroups koos Swaggeri kommentaaridega</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=129861
BestInShow
2018-03-28T08:46:52Z
<p>Labner: /* Funktsionaalsed nõuded */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=129860
BestInShow
2018-03-28T08:38:46Z
<p>Labner: </p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada (registripidaja)<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.</div>
Labner
https://wiki.itcollege.ee/index.php?title=BestInShow&diff=129859
BestInShow
2018-03-28T08:36:13Z
<p>Labner: /* Tegevuste logi */</p>
<hr />
<div>==Meeskond BestInShow==<br />
Liina Abner<br><br />
Marju Pütsepp<br><br />
Liisi Taimre<br />
<br />
==TODO==<br />
<br />
*Marju teeb TFS-i projektipõhja<br />
*<s>Kõik täiendavad analüüsi</s><br />
*<s>Kõik täiendava ab mudelit</s><br />
*Liina vormistab ab mudeli<br />
*Liina vormistab analüüsi <br />
*<s>küsida õppejõult, kas projekti idee ja maht sobib</s><br />
<br />
==Analüüs==<br />
<br />
Loodav infosüsteem kujutab endast tõukoerte registrit, mis võimaldab hallata ja otsida koerte ning koerakasvatajate andmeid.<br />
<br />
===Tehnoloogia===<br />
Projekti käigus luuakse<br />
*REST veebiteenus<br />
**.NET Core 2.0<br />
*Klientrakendus, mis suhtleb loodud veebiteenusega<br />
**Angular 2<br />
<br />
===Üldised nõuded===<br />
*Andmevahetus toimub JSON formaadis<br />
*Klientrakenduspeab töötama enamlevinud veebibrauserite enamlevinud versioonides, nt. Google Chrome Version 65.0.x<br />
<br />
===Kasutajad===<br />
*Registripidaja - rakenduse administraator<br />
*Koerakasvataja e. Kenneliomanik (registreeritud kasutaja)<br />
*Koeraomanik (registreeritud kasutaja)<br />
*Kõik koerahuvilised (registreerimata kasutaja)<br />
<br />
===Funktsionaalsed nõuded===<br />
*Kasutajaks registreerimine - kasutajaks võivad registreeruda kõik inimesed.<br />
*Rakenduse admin saab uusi kasutajaid lisada ja olemasolevaid kasutajaid hallata, nt muuta staatust.<br />
*Rakenduse administraator saab teha väljavõtteid kasutusstatistikast.<br />
*Registreeritud kasutaja saab esitada taotluse hakata kenneliomanikuks.<br />
*Rakenduse admin saab kenneliomaniku taotlusi aktsepteerida ja tagasi lükata<br />
*Rakenduse admin saab kenneleid lisada/muuta/kustutada (registripidaja)<br />
*Rakenduse admin saab lisada näituseid<br />
*Rakenduse admin saab lisada näituse tulemusi, laadides üles kindlas formaadis näituse protokolli<br />
*Kenneliomanik saab lisada pesakondi<br />
*Kenneliomanik lisada/muuta koeri<br />
*Kenneliomanik saab saata teate kindla pesakonna koeraomanikele<br />
*Koeraomanik saab lisada koera terviseandmeid<br />
*Koeraomanik saab üle anda koera omandiõiguse teisele registreeritud kasutajale<br />
*Koeraomanik saab muuta koera andmeid - registreerida surmakuupäeva<br />
*Registreerimata kasutaja saab sirvida tõugusid, kenneleid, pesakondi, koeri<br />
*Registreerimata kasutaja saab nime ja/või muude tunnuste alusel otsida kenneleid, pesakondi, koeri. Koeravaates sisaldub koera sugupuu<br />
<br />
====Nice to have funktsionaalsus====<br />
*registreerumise kinnitamine läbi epostile saadetava lingi<br />
*registreeruda näitusele (koeraomanik)<br />
*Koerapiltide lisamine<br />
*Uudisfeed kutsikahuvilistele - lisandunud pesakonnad/koerad<br />
*Sünnipäevafeed - tänased sünnipäevalapsed<br />
<br />
===Andmemudel===<br />
<br />
Iga koera sünd registreeritakse. Iga koer on kindlat tõugu. Tõul on omadused, nõuded välimikule (nt. rõngas saba, püstised kõrvad) ja iseloomule (nt. valveinstinkti puudumine). Tõud on FCI nomenklatuuri järgi gruppideks jaotatud (nt. terjerid, taksid, hurdad), FCI grupi sees võivad olla sektsioonid (nt. pikakarvalised hurdad, lühikarvalised hurdad). Koeral on omanik. Koer võib olla kaasomandis. Omanik võib vahetuda. Koer sünnib pesakonnas, millel on emakoer ja isakoer. Pesakond sünnib kennelis e. kindla koerakasvataja juures. Kennelil on üks või rohkem omanikku (kasvatajat). Koertele teostatakse terviseuuringuid, nt. puusauuringuid ja silmauuringuid. Koerad käivad näitustel ja võidavad seal tiitleid (nt. parim isane oma klassis, parim kogu näitusel - Best In Show)<br />
<br />
[[File:BestInShow-2018-03-27 00 56.png|700px]]<br />
<br />
==Tegevuste logi==<br />
<br />
11.03.2018 Meeskonna kohtumine, esialgne ülesandepüstitus<br><br />
16.03.2018 wikilehe ja analüüsi alged<br><br />
22.03.2018 ab mudeli põhi Vertabelos<br><br />
25.03.2018 Meeskonna kohtumine, lepiti kokku projekti mahu osas, otsustati klientrakendus teha Angularis; projekt kooskõlastati õppejõuga: võib tegema hakata<br><br />
27.03.2018 Meeskonna Skype-i kohtumine. Analüüsi ja andmemudeli täpsustamine.</div>
Labner