https://wiki.itcollege.ee/api.php?action=feedcontributions&user=Ckirtsi&feedformat=atomICO wiki - User contributions [en]2024-03-29T05:24:36ZUser contributionsMediaWiki 1.41.0https://wiki.itcollege.ee/index.php?title=LTD&diff=131418LTD2018-06-06T21:15:47Z<p>Ckirtsi: /* Kood ise */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
*02.06.2018 - XML osa valmimine<br />
*03.06.2018 - Retsensioonide alustamine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
==Kood ise==<br />
Meie kood on leitav [https://drive.google.com/drive/folders/1nPAPQR_xkzvO5Cj9SmTAi8AvU83OfiTf?usp=sharing SIIT]<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Projekti retsensioon==<br />
<br />
Retsenseerisime projekti puhul meeskonda [https://wiki.itcollege.ee/index.php/Maagikud Maagikud]<br />
<br />
'''Üldiselt Maagikute ideest ja projektianalüüsist'''<br />
<br />
Maagikute projektiidee on hea ja üsna põhjalikult lahti analüüsitud. Analüüsi juures on tore, et meeskond on muuhulgas ära toonud hinnangu oma tööle, koostöö toimisele ja projekti käigus saavutatule. <br />
<br />
Teenusele valminud andmebaasiskeem on tehtud AB-aluste vaimus ja toob mälestusi Raspeli ülesannetet. EDR tundub korralik - kuigi ise oleks mõne koha peal ehk katsunud lihtsamalt hakkama saada. <br />
<br />
Üleüldiseks kommentaariks tahaksime kohe öelda, et klientrakendus ja veebiteenus võiksid olla eraldi projektides. Hetkel on ainuke käivitatav projekt Solutionis “Airport_angular”, kus asuvad nii klientrakenduse kui veebiteenuse failid. Kokku jätab see veidi hübriidlahenduse mulje, sest raske on eraldada, kus üks lõpeb ja teine algab. Kui keegi sooviks sama teenuse vastu mõnda muud kilentrakendust kirjutada, oleks selline kliendi ja teenuse liitmine ebaloogiline. <br />
<br />
Kuigi jah, peab tõdema, et koolitöö raames on ühes projekti asuvat lahendust mugavam käivitada - käivitamise liigutust tuleb kahe korra asemel teha ainult korra.<br />
<br />
'''Veebiteenuse retsensioon'''<br />
<br />
Järgenvad mõtted on järjestatud rakenduse ja selle uurimise reaalses järjekorras ning võivad olla seega veidi hüplikud:<br />
<br />
Kood on ilusti liigendatud ja organiseeritud, Unit-of-Work muster on implementeeritud. <br />
<br />
Retsenseerija- ja testijasõbralikult on teostatud dataseeding. On meeldiv, et see töö on ära tehtud ning programmi käivitades on juba saadaval testandmed. Kuna see ei olnud kohustuslik osa projektist, kuid on tõeliselt kasutajasõbralik lsia, võiks Maagikute tiim siinkohal saada lisapunkti. <br />
<br />
Andmebaas tundub korralik ja korrektselt tehtud. Sama võiks öelda domeenimudeli kohta. Kood on selge ja liiasuseta. Mõnes kohas, kus Linq-päringud lähevad väga pikaks, võiks see siiski olla ülevaatlikuse ja mugavama lugemise mõttes teisiti liigendatud. Pikki ridu on rakse lugeda, sest need ei mahu korraga ekraanile. Viimane märkus käib eelkõige DAL.App.EF projekti repositooriumite, aga ka BL projekti service´ite kohta. <br />
<br />
Hea, et Swagger on teenusele lisatud - see annab hea kiire ülevaate teenuse meetodites ja parameetritet. Paraku annab Swaggeri laadminie hetkel info asemel veateate. Meie tiim oleks väga huvitatud jälile saama, millest on see veateade tingitud kuivõrd oleme täna hommikust peale oma projektis silmitsi sama probleemiga. <br />
<br />
Komplimetidest ja kiitmistväärivatest kohtadest veel: api-kontrollerite meetodid on eeskujulikult kommenteeritud. Vaatemudelid on samuti kenasti varustatud (osaliselt) nii veateadete, kuvamisnimede (display) kui annotatsioonidega.<br />
<br />
Kokkuvõtteks on vormistamise ja koodi mõttes võibolla vaid ette heita, et teenus võiks selguse huvides olla rakendusest eraldi projektis ja pikad Linq-päringud võiksid olla teisiti vormindatud - ka projektimeeskonna enda huvides. Muidu on kood pigem meelivalt askeetlik ja loetavalt vormistatud.<br />
<br />
Veebiteenuse kohta ei oskagi hetkel midagi rohkem lisada - kõik mis vaja, tundub olemas olevat ja toimivat.<br />
<br />
'''Klientrakenduse retsensioon'''<br />
<br />
Klientrakenduse avalehekülg on sümpaatne, sest andmete valideerimine ja teated kasutajale on korralikult ja põhjalikult teostatud. <br />
<br />
Sisselogimata kasutajana broneeringute tegemine töötab kenasti, kuid saadud info, et broneering on tehtud, jätab õhku küsimuse - mis saab edasi? Tellimus on lisatud, broneering on tehtud, aga edasine loogika on jäänud läbi mõtlemata. Sisselogimata kliendi kontaktandmeid ju ei küsita ning broneerigu lehelt ära liikudes (näiteks Login lehele minnes) kaob ka teade broneeringu tegemise kohta. Küllap on siin loogika arendus lihtsalt teiste pakiliste tööde tõttu pooleli jäänud.<br />
<br />
Registreeritud kasutaja loogika on jõutud paremini läbi mõelda. Pileteid saab broneerida, broneeringuid saab vaadata ja tühistada. Pärast broneeringu tegemist peab uue broneeringu tegemoiseks korraks lehelt ära liikuma - see on väike ebamugavus, kuid ei midagi hullu. Proovisime ka järjest samale lennule ja samale kohale piletit broneerida - see ei ole võimalik, sest kontroll broneeritud istekohtadele on eeskujulikult teostatud. <br />
<br />
Rakendust uurides tekkis mõte, et sisseloginud kasutajal võiks olla võimalus oma isikuandmeid näha ja muuta.<br />
<br />
Rakenduses ei ole võimalik näha teiste kasutajate broneeringuid. Proovisime mitme kasutajaga broneeringuid lisada ja kustutada ning esialgsel testimisel tundub, et näha saab ainult oma infot - just nii nagu peakski olema. Eraldi komplimenti väärib, et teostada on jõutud ka lennundusega kokkusobival teemal kujundatud 404 lehekülg neile, kes urli käsitsi muuta üritavad (mida me loomulikult testisime).<br />
<br />
Admini kasutajaga sisse logides (admin@eesti.ee, Foobar.foobar1), avaneb eelnevast huvitavam vaade, kus on nii infot kui tegevusi oluliselt rohkem. <br />
<br />
Admini alal on eriti toredaks funktsiooniks Statistika. Samuti töötab kõik kenasti Halduse lehel. Lisada ja kustutada saab nii lende, lennuliine kui lennukeid. <br />
<br />
Natuke segaseks jääb antud juhul piletite vaade. Idee analüüsist jääb mulje, et Adminina sisselogides saab näha ja hallata kõiki broneeringud, kuid hetkel kuvatakse vaid kaks testbroneeringut ja mitte eelnevalt rakenduse praeguste uurijate poolt tehtud broneeringuid. Testbroneeringute all on ka väike bugi (mida rakenduse loojad ilmselt hästi teavad) - kehtiva arve juures asuvat “Tühista” nuppu vajutades visatakse kaustaja korraks Login vaatesse ja siis tagasi broneeringute juurde - kust vaatavad muutmata kujul vastu need samad kaks tesbroneeringut. Ilmselt jäi see osa funktsionaalsusest praegu ajapuudusel välja arendamata ning põhirõhk admin-ala läks halduse ja statistika vaadete peale. <br />
<br />
Koodist: nagu juba eelnevalt mainitud sai, oleks ilmselt parem, kui klientrakendus oleks veebiteenusest eraldi projektis. Praegu on klientrakendus projekti sees eraldi kaustas, mis aitab olukorda selgust tuua. Klientrakenduse kausta siseselt on kood aga organiseeritud selgelt ja arusaadavalt. Kuna Angular on siinkirjutajate jaoks veidi võõras teema, ei oska me koodi kohta midagi väga põhjapanevat öelda. Kuid kood tunudb olevat loogilisteks tükkideks jagatud ja seetõttu suhteliselt hästi hallatav.<br />
<br />
'''Kokkuvõte'''<br />
<br />
Kokkuvõtteks võib öelda, et Maagikud on oma ülesandega VR II aine raames üsna kenasti hakkama saanud. Ilmselgelt on neil aega mingites kohtades napiks jäänud, mistõttu ei ole jõutud kõiki mõtteid lõpuni mõelda ja funktsionaalsusi lõpuni arendada. Aga selle eest on mõne teise funktsionaalususega (nt Admini Halduse vaate funktsionaalsused) kõvasti vaeva nähtud. Üldine mulje oli hea, väikesed märkused ja normised on juba eespool ära toodud. <br />
<br />
Nagu juba enne mainitud sai, oli tööd meeldiv retsenseerida tänu tiimi poolt implementeeritud dataseedile ja meeskonna kirjutatud analüüsile, mis andis sissevaate nende plaanidesse ja töö käiku.<br />
<br />
<br />
<br />
<br />
<br />
==XML retsensioon==<br />
<br />
XML osa puhul retsenseerime tiimi [https://wiki.itcollege.ee/index.php/RaamatuRiiul RaamatuRiiul]<br />
<br />
Meeskonnal on XML fail andmete edastamiseks väga hästi koostatud ja kogu struktuur on loogiline ja hästi mõistetav. Ülesande miinimum maht on täidetud 4 loogilist dimensiooni luues ja ka ületatud, sest kokku on neid loogilisi dimensioone 7 ja seda on saavutatud jättes fail endiselt hästi loetavaks ja hästi mõistetavaks. XML failist saadud skeemifail ehk XSD on automaatselt genereeritud ja ise muutusi pole tehtud, mis ei ole ka problemaatiline, sest esialgne XML on põhjalikult valmistatud ja pole vajadusi muudatusteks. XLST fail andmete transformeerimiseks XMList HTMLi on ka hästi koostatud ja kogu info saab selgelt kätte, failist on näha kuidas kogu transformatsioon on selgelt läbimõeldud ja vaeva nähtud täpse info kuvamiseks. Boonuspunktid oskuste näitamise puhul tavahinna ja soodushinna kuvamisel. Selgelt on näha meeskonna oskust HTMLi ja XMLiga läbikäimisel. Lisaks on transformatsioon XLST XMLiks korralikult tehtud ja kogu info saab nii kätte täpselt nii nagu see on ette tehtud ilma mingisuguste probleemideta. Kokkuvõttes kiidame meeskonna Raamaturiiul tehtud töö väga kvaliteetseks ja kõrge hindega võimaluse korral. Selgelt on näha, kuidas on rahulikult aega võetud ja kõik XML osad selgelt ja loogiliselt kirja pandud.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131363Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 20182018-06-05T19:17:57Z<p>Ckirtsi: /* Meeskond: LearnToDrive */</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 />
<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 ja klientrakenduse retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<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<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 />
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 />
===[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 />
===[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://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 />
'''Retsensioonid''' 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 />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131361LTD2018-06-05T19:16:04Z<p>Ckirtsi: /* Lisad */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
*02.06.2018 - XML osa valmimine<br />
*03.06.2018 - Retsensioonide alustamine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
==Kood ise==<br />
Meie kood on leitav [https://drive.google.com/drive/folders/11QKltD3TtRgapKbvQOap8fJUWPrnfcU9?usp=sharing SIIT]<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Projekti retsensioon==<br />
<br />
Retsenseerisime projekti puhul meeskonda [https://wiki.itcollege.ee/index.php/Maagikud Maagikud]<br />
<br />
'''Üldiselt Maagikute ideest ja projektianalüüsist'''<br />
<br />
Maagikute projektiidee on hea ja üsna põhjalikult lahti analüüsitud. Analüüsi juures on tore, et meeskond on muuhulgas ära toonud hinnangu oma tööle, koostöö toimisele ja projekti käigus saavutatule. <br />
<br />
Teenusele valminud andmebaasiskeem on tehtud AB-aluste vaimus ja toob mälestusi Raspeli ülesannetet. EDR tundub korralik - kuigi ise oleks mõne koha peal ehk katsunud lihtsamalt hakkama saada. <br />
<br />
Üleüldiseks kommentaariks tahaksime kohe öelda, et klientrakendus ja veebiteenus võiksid olla eraldi projektides. Hetkel on ainuke käivitatav projekt Solutionis “Airport_angular”, kus asuvad nii klientrakenduse kui veebiteenuse failid. Kokku jätab see veidi hübriidlahenduse mulje, sest raske on eraldada, kus üks lõpeb ja teine algab. Kui keegi sooviks sama teenuse vastu mõnda muud kilentrakendust kirjutada, oleks selline kliendi ja teenuse liitmine ebaloogiline. <br />
<br />
Kuigi jah, peab tõdema, et koolitöö raames on ühes projekti asuvat lahendust mugavam käivitada - käivitamise liigutust tuleb kahe korra asemel teha ainult korra.<br />
<br />
'''Veebiteenuse retsensioon'''<br />
<br />
Järgenvad mõtted on järjestatud rakenduse ja selle uurimise reaalses järjekorras ning võivad olla seega veidi hüplikud:<br />
<br />
Kood on ilusti liigendatud ja organiseeritud, Unit-of-Work muster on implementeeritud. <br />
<br />
Retsenseerija- ja testijasõbralikult on teostatud dataseeding. On meeldiv, et see töö on ära tehtud ning programmi käivitades on juba saadaval testandmed. Kuna see ei olnud kohustuslik osa projektist, kuid on tõeliselt kasutajasõbralik lsia, võiks Maagikute tiim siinkohal saada lisapunkti. <br />
<br />
Andmebaas tundub korralik ja korrektselt tehtud. Sama võiks öelda domeenimudeli kohta. Kood on selge ja liiasuseta. Mõnes kohas, kus Linq-päringud lähevad väga pikaks, võiks see siiski olla ülevaatlikuse ja mugavama lugemise mõttes teisiti liigendatud. Pikki ridu on rakse lugeda, sest need ei mahu korraga ekraanile. Viimane märkus käib eelkõige DAL.App.EF projekti repositooriumite, aga ka BL projekti service´ite kohta. <br />
<br />
Hea, et Swagger on teenusele lisatud - see annab hea kiire ülevaate teenuse meetodites ja parameetritet. Paraku annab Swaggeri laadminie hetkel info asemel veateate. Meie tiim oleks väga huvitatud jälile saama, millest on see veateade tingitud kuivõrd oleme täna hommikust peale oma projektis silmitsi sama probleemiga. <br />
<br />
Komplimetidest ja kiitmistväärivatest kohtadest veel: api-kontrollerite meetodid on eeskujulikult kommenteeritud. Vaatemudelid on samuti kenasti varustatud (osaliselt) nii veateadete, kuvamisnimede (display) kui annotatsioonidega.<br />
<br />
Kokkuvõtteks on vormistamise ja koodi mõttes võibolla vaid ette heita, et teenus võiks selguse huvides olla rakendusest eraldi projektis ja pikad Linq-päringud võiksid olla teisiti vormindatud - ka projektimeeskonna enda huvides. Muidu on kood pigem meelivalt askeetlik ja loetavalt vormistatud.<br />
<br />
Veebiteenuse kohta ei oskagi hetkel midagi rohkem lisada - kõik mis vaja, tundub olemas olevat ja toimivat.<br />
<br />
'''Klientrakenduse retsensioon'''<br />
<br />
Klientrakenduse avalehekülg on sümpaatne, sest andmete valideerimine ja teated kasutajale on korralikult ja põhjalikult teostatud. <br />
<br />
Sisselogimata kasutajana broneeringute tegemine töötab kenasti, kuid saadud info, et broneering on tehtud, jätab õhku küsimuse - mis saab edasi? Tellimus on lisatud, broneering on tehtud, aga edasine loogika on jäänud läbi mõtlemata. Sisselogimata kliendi kontaktandmeid ju ei küsita ning broneerigu lehelt ära liikudes (näiteks Login lehele minnes) kaob ka teade broneeringu tegemise kohta. Küllap on siin loogika arendus lihtsalt teiste pakiliste tööde tõttu pooleli jäänud.<br />
<br />
Registreeritud kasutaja loogika on jõutud paremini läbi mõelda. Pileteid saab broneerida, broneeringuid saab vaadata ja tühistada. Pärast broneeringu tegemist peab uue broneeringu tegemoiseks korraks lehelt ära liikuma - see on väike ebamugavus, kuid ei midagi hullu. Proovisime ka järjest samale lennule ja samale kohale piletit broneerida - see ei ole võimalik, sest kontroll broneeritud istekohtadele on eeskujulikult teostatud. <br />
<br />
Rakendust uurides tekkis mõte, et sisseloginud kasutajal võiks olla võimalus oma isikuandmeid näha ja muuta.<br />
<br />
Rakenduses ei ole võimalik näha teiste kasutajate broneeringuid. Proovisime mitme kasutajaga broneeringuid lisada ja kustutada ning esialgsel testimisel tundub, et näha saab ainult oma infot - just nii nagu peakski olema. Eraldi komplimenti väärib, et teostada on jõutud ka lennundusega kokkusobival teemal kujundatud 404 lehekülg neile, kes urli käsitsi muuta üritavad (mida me loomulikult testisime).<br />
<br />
Admini kasutajaga sisse logides (admin@eesti.ee, Foobar.foobar1), avaneb eelnevast huvitavam vaade, kus on nii infot kui tegevusi oluliselt rohkem. <br />
<br />
Admini alal on eriti toredaks funktsiooniks Statistika. Samuti töötab kõik kenasti Halduse lehel. Lisada ja kustutada saab nii lende, lennuliine kui lennukeid. <br />
<br />
Natuke segaseks jääb antud juhul piletite vaade. Idee analüüsist jääb mulje, et Adminina sisselogides saab näha ja hallata kõiki broneeringud, kuid hetkel kuvatakse vaid kaks testbroneeringut ja mitte eelnevalt rakenduse praeguste uurijate poolt tehtud broneeringuid. Testbroneeringute all on ka väike bugi (mida rakenduse loojad ilmselt hästi teavad) - kehtiva arve juures asuvat “Tühista” nuppu vajutades visatakse kaustaja korraks Login vaatesse ja siis tagasi broneeringute juurde - kust vaatavad muutmata kujul vastu need samad kaks tesbroneeringut. Ilmselt jäi see osa funktsionaalsusest praegu ajapuudusel välja arendamata ning põhirõhk admin-ala läks halduse ja statistika vaadete peale. <br />
<br />
Koodist: nagu juba eelnevalt mainitud sai, oleks ilmselt parem, kui klientrakendus oleks veebiteenusest eraldi projektis. Praegu on klientrakendus projekti sees eraldi kaustas, mis aitab olukorda selgust tuua. Klientrakenduse kausta siseselt on kood aga organiseeritud selgelt ja arusaadavalt. Kuna Angular on siinkirjutajate jaoks veidi võõras teema, ei oska me koodi kohta midagi väga põhjapanevat öelda. Kuid kood tunudb olevat loogilisteks tükkideks jagatud ja seetõttu suhteliselt hästi hallatav.<br />
<br />
'''Kokkuvõte'''<br />
<br />
Kokkuvõtteks võib öelda, et Maagikud on oma ülesandega VR II aine raames üsna kenasti hakkama saanud. Ilmselgelt on neil aega mingites kohtades napiks jäänud, mistõttu ei ole jõutud kõiki mõtteid lõpuni mõelda ja funktsionaalsusi lõpuni arendada. Aga selle eest on mõne teise funktsionaalususega (nt Admini Halduse vaate funktsionaalsused) kõvasti vaeva nähtud. Üldine mulje oli hea, väikesed märkused ja normised on juba eespool ära toodud. <br />
<br />
Nagu juba enne mainitud sai, oli tööd meeldiv retsenseerida tänu tiimi poolt implementeeritud dataseedile ja meeskonna kirjutatud analüüsile, mis andis sissevaate nende plaanidesse ja töö käiku.<br />
<br />
<br />
<br />
<br />
<br />
==XML retsensioon==<br />
<br />
XML osa puhul retsenseerime tiimi [https://wiki.itcollege.ee/index.php/RaamatuRiiul RaamatuRiiul]<br />
<br />
Meeskonnal on XML fail andmete edastamiseks väga hästi koostatud ja kogu struktuur on loogiline ja hästi mõistetav. Ülesande miinimum maht on täidetud 4 loogilist dimensiooni luues ja ka ületatud, sest kokku on neid loogilisi dimensioone 7 ja seda on saavutatud jättes fail endiselt hästi loetavaks ja hästi mõistetavaks. XML failist saadud skeemifail ehk XSD on automaatselt genereeritud ja ise muutusi pole tehtud, mis ei ole ka problemaatiline, sest esialgne XML on põhjalikult valmistatud ja pole vajadusi muudatusteks. XLST fail andmete transformeerimiseks XMList HTMLi on ka hästi koostatud ja kogu info saab selgelt kätte, failist on näha kuidas kogu transformatsioon on selgelt läbimõeldud ja vaeva nähtud täpse info kuvamiseks. Boonuspunktid oskuste näitamise puhul tavahinna ja soodushinna kuvamisel. Selgelt on näha meeskonna oskust HTMLi ja XMLiga läbikäimisel. Lisaks on transformatsioon XLST XMLiks korralikult tehtud ja kogu info saab nii kätte täpselt nii nagu see on ette tehtud ilma mingisuguste probleemideta. Kokkuvõttes kiidame meeskonna Raamaturiiul tehtud töö väga kvaliteetseks ja kõrge hindega võimaluse korral. Selgelt on näha, kuidas on rahulikult aega võetud ja kõik XML osad selgelt ja loogiliselt kirja pandud.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131237Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 20182018-06-04T13:18:22Z<p>Ckirtsi: /* Kaitsmisele registreerumine */</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 - ..<br />
*15:45 - ..<br />
*16:00 - LearnToDrive<br />
<br />
Sellel päeval pole rohkem aegu pakkuda hetkel. Kes ära ei mahtunud, siis palun lisage oma nimed siia<br />
*..<br />
<br />
'''09.06.2018'''<br />
*16:00 - Triin Oja<br />
*16:15 - Beer Pressure<br />
*16:30 - ..<br />
*16:45 - ..<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 />
===[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 ja klientrakenduse retsensioonid meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioonid]<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<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 :<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: TODO<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud: tegemisel<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<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 />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<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 />
===[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 />
===[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''' (seisuga 2. juuni 2018)''':'''<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/0qs4zcon2bsnr72/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://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 retsensioon:''' TODO <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 ja klientrakenduse 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 />
Liikmed:<br />
* Sten Lunden<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 />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131178Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 20182018-06-03T20:35:22Z<p>Ckirtsi: /* Meeskond: LearnToDrive */</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 - ..<br />
*15:30 - ..<br />
*15:45 - ..<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 />
===[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 retsensioon meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioon]<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 />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm<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 />
*Margus Kildemaa<br />
*Indro Kottise<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: TODO<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud: tegemisel<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<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 />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
KlientRakendus: Tulekul<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 />
===[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''' (seisuga 2. juuni 2018)''':'''<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/0qs4zcon2bsnr72/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://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 retsensioon:''' TODO <br />
<br />
'''Meie kirjutatud veebiteenuse ja klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT Team MOT retsensioon], TODO<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 ja klientrakenduse 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 />
Liikmed:<br />
* Sten Lunden<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 />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131177Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 20182018-06-03T20:35:08Z<p>Ckirtsi: /* Meeskond: LearnToDrive */</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 - ..<br />
*15:30 - ..<br />
*15:45 - ..<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 />
===[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 retsensioon meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioon]<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 />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm<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 />
*Margus Kildemaa<br />
*Indro Kottise<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: TODO<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud: tegemisel<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Projekti_retsensioon Maagikud]<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 />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
KlientRakendus: Tulekul<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 />
===[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''' (seisuga 2. juuni 2018)''':'''<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/0qs4zcon2bsnr72/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://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 retsensioon:''' TODO <br />
<br />
'''Meie kirjutatud veebiteenuse ja klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT Team MOT retsensioon], TODO<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 ja klientrakenduse 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 />
Liikmed:<br />
* Sten Lunden<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 />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131175LTD2018-06-03T20:33:34Z<p>Ckirtsi: /* Retsensioonid */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
*02.06.2018 - XML osa valmimine<br />
*03.06.2018 - Retsensioonide alustamine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Projekti retsensioon==<br />
<br />
Retsenseerisime projekti puhul meeskonda [https://wiki.itcollege.ee/index.php/Maagikud Maagikud]<br />
<br />
'''Üldiselt Maagikute ideest ja projektianalüüsist'''<br />
<br />
Maagikute projektiidee on hea ja üsna põhjalikult lahti analüüsitud. Analüüsi juures on tore, et meeskond on muuhulgas ära toonud hinnangu oma tööle, koostöö toimisele ja projekti käigus saavutatule. <br />
<br />
Teenusele valminud andmebaasiskeem on tehtud AB-aluste vaimus ja toob mälestusi Raspeli ülesannetet. EDR tundub korralik - kuigi ise oleks mõne koha peal ehk katsunud lihtsamalt hakkama saada. <br />
<br />
Üleüldiseks kommentaariks tahaksime kohe öelda, et klientrakendus ja veebiteenus võiksid olla eraldi projektides. Hetkel on ainuke käivitatav projekt Solutionis “Airport_angular”, kus asuvad nii klientrakenduse kui veebiteenuse failid. Kokku jätab see veidi hübriidlahenduse mulje, sest raske on eraldada, kus üks lõpeb ja teine algab. Kui keegi sooviks sama teenuse vastu mõnda muud kilentrakendust kirjutada, oleks selline kliendi ja teenuse liitmine ebaloogiline. <br />
<br />
Kuigi jah, peab tõdema, et koolitöö raames on ühes projekti asuvat lahendust mugavam käivitada - käivitamise liigutust tuleb kahe korra asemel teha ainult korra.<br />
<br />
'''Veebiteenuse retsensioon'''<br />
<br />
Järgenvad mõtted on järjestatud rakenduse ja selle uurimise reaalses järjekorras ning võivad olla seega veidi hüplikud:<br />
<br />
Kood on ilusti liigendatud ja organiseeritud, Unit-of-Work muster on implementeeritud. <br />
<br />
Retsenseerija- ja testijasõbralikult on teostatud dataseeding. On meeldiv, et see töö on ära tehtud ning programmi käivitades on juba saadaval testandmed. Kuna see ei olnud kohustuslik osa projektist, kuid on tõeliselt kasutajasõbralik lsia, võiks Maagikute tiim siinkohal saada lisapunkti. <br />
<br />
Andmebaas tundub korralik ja korrektselt tehtud. Sama võiks öelda domeenimudeli kohta. Kood on selge ja liiasuseta. Mõnes kohas, kus Linq-päringud lähevad väga pikaks, võiks see siiski olla ülevaatlikuse ja mugavama lugemise mõttes teisiti liigendatud. Pikki ridu on rakse lugeda, sest need ei mahu korraga ekraanile. Viimane märkus käib eelkõige DAL.App.EF projekti repositooriumite, aga ka BL projekti service´ite kohta. <br />
<br />
Hea, et Swagger on teenusele lisatud - see annab hea kiire ülevaate teenuse meetodites ja parameetritet. Paraku annab Swaggeri laadminie hetkel info asemel veateate. Meie tiim oleks väga huvitatud jälile saama, millest on see veateade tingitud kuivõrd oleme täna hommikust peale oma projektis silmitsi sama probleemiga. <br />
<br />
Komplimetidest ja kiitmistväärivatest kohtadest veel: api-kontrollerite meetodid on eeskujulikult kommenteeritud. Vaatemudelid on samuti kenasti varustatud (osaliselt) nii veateadete, kuvamisnimede (display) kui annotatsioonidega.<br />
<br />
Kokkuvõtteks on vormistamise ja koodi mõttes võibolla vaid ette heita, et teenus võiks selguse huvides olla rakendusest eraldi projektis ja pikad Linq-päringud võiksid olla teisiti vormindatud - ka projektimeeskonna enda huvides. Muidu on kood pigem meelivalt askeetlik ja loetavalt vormistatud.<br />
<br />
Veebiteenuse kohta ei oskagi hetkel midagi rohkem lisada - kõik mis vaja, tundub olemas olevat ja toimivat.<br />
<br />
'''Klientrakenduse retsensioon'''<br />
<br />
Klientrakenduse avalehekülg on sümpaatne, sest andmete valideerimine ja teated kasutajale on korralikult ja põhjalikult teostatud. <br />
<br />
Sisselogimata kasutajana broneeringute tegemine töötab kenasti, kuid saadud info, et broneering on tehtud, jätab õhku küsimuse - mis saab edasi? Tellimus on lisatud, broneering on tehtud, aga edasine loogika on jäänud läbi mõtlemata. Sisselogimata kliendi kontaktandmeid ju ei küsita ning broneerigu lehelt ära liikudes (näiteks Login lehele minnes) kaob ka teade broneeringu tegemise kohta. Küllap on siin loogika arendus lihtsalt teiste pakiliste tööde tõttu pooleli jäänud.<br />
<br />
Registreeritud kasutaja loogika on jõutud paremini läbi mõelda. Pileteid saab broneerida, broneeringuid saab vaadata ja tühistada. Pärast broneeringu tegemist peab uue broneeringu tegemoiseks korraks lehelt ära liikuma - see on väike ebamugavus, kuid ei midagi hullu. Proovisime ka järjest samale lennule ja samale kohale piletit broneerida - see ei ole võimalik, sest kontroll broneeritud istekohtadele on eeskujulikult teostatud. <br />
<br />
Rakendust uurides tekkis mõte, et sisseloginud kasutajal võiks olla võimalus oma isikuandmeid näha ja muuta.<br />
<br />
Rakenduses ei ole võimalik näha teiste kasutajate broneeringuid. Proovisime mitme kasutajaga broneeringuid lisada ja kustutada ning esialgsel testimisel tundub, et näha saab ainult oma infot - just nii nagu peakski olema. Eraldi komplimenti väärib, et teostada on jõutud ka lennundusega kokkusobival teemal kujundatud 404 lehekülg neile, kes urli käsitsi muuta üritavad (mida me loomulikult testisime).<br />
<br />
Admini kasutajaga sisse logides (admin@eesti.ee, Foobar.foobar1), avaneb eelnevast huvitavam vaade, kus on nii infot kui tegevusi oluliselt rohkem. <br />
<br />
Admini alal on eriti toredaks funktsiooniks Statistika. Samuti töötab kõik kenasti Halduse lehel. Lisada ja kustutada saab nii lende, lennuliine kui lennukeid. <br />
<br />
Natuke segaseks jääb antud juhul piletite vaade. Idee analüüsist jääb mulje, et Adminina sisselogides saab näha ja hallata kõiki broneeringud, kuid hetkel kuvatakse vaid kaks testbroneeringut ja mitte eelnevalt rakenduse praeguste uurijate poolt tehtud broneeringuid. Testbroneeringute all on ka väike bugi (mida rakenduse loojad ilmselt hästi teavad) - kehtiva arve juures asuvat “Tühista” nuppu vajutades visatakse kaustaja korraks Login vaatesse ja siis tagasi broneeringute juurde - kust vaatavad muutmata kujul vastu need samad kaks tesbroneeringut. Ilmselt jäi see osa funktsionaalsusest praegu ajapuudusel välja arendamata ning põhirõhk admin-ala läks halduse ja statistika vaadete peale. <br />
<br />
Koodist: nagu juba eelnevalt mainitud sai, oleks ilmselt parem, kui klientrakendus oleks veebiteenusest eraldi projektis. Praegu on klientrakendus projekti sees eraldi kaustas, mis aitab olukorda selgust tuua. Klientrakenduse kausta siseselt on kood aga organiseeritud selgelt ja arusaadavalt. Kuna Angular on siinkirjutajate jaoks veidi võõras teema, ei oska me koodi kohta midagi väga põhjapanevat öelda. Kuid kood tunudb olevat loogilisteks tükkideks jagatud ja seetõttu suhteliselt hästi hallatav.<br />
<br />
'''Kokkuvõte'''<br />
<br />
Kokkuvõtteks võib öelda, et Maagikud on oma ülesandega VR II aine raames üsna kenasti hakkama saanud. Ilmselgelt on neil aega mingites kohtades napiks jäänud, mistõttu ei ole jõutud kõiki mõtteid lõpuni mõelda ja funktsionaalsusi lõpuni arendada. Aga selle eest on mõne teise funktsionaalususega (nt Admini Halduse vaate funktsionaalsused) kõvasti vaeva nähtud. Üldine mulje oli hea, väikesed märkused ja normised on juba eespool ära toodud. <br />
<br />
Nagu juba enne mainitud sai, oli tööd meeldiv retsenseerida tänu tiimi poolt implementeeritud dataseedile ja meeskonna kirjutatud analüüsile, mis andis sissevaate nende plaanidesse ja töö käiku.<br />
<br />
<br />
<br />
<br />
<br />
==XML retsensioon==<br />
<br />
XML osa puhul retsenseerime tiimi [https://wiki.itcollege.ee/index.php/RaamatuRiiul RaamatuRiiul]<br />
<br />
Meeskonnal on XML fail andmete edastamiseks väga hästi koostatud ja kogu struktuur on loogiline ja hästi mõistetav. Ülesande miinimum maht on täidetud 4 loogilist dimensiooni luues ja ka ületatud, sest kokku on neid loogilisi dimensioone 7 ja seda on saavutatud jättes fail endiselt hästi loetavaks ja hästi mõistetavaks. XML failist saadud skeemifail ehk XSD on automaatselt genereeritud ja ise muutusi pole tehtud, mis ei ole ka problemaatiline, sest esialgne XML on põhjalikult valmistatud ja pole vajadusi muudatusteks. XLST fail andmete transformeerimiseks XMList HTMLi on ka hästi koostatud ja kogu info saab selgelt kätte, failist on näha kuidas kogu transformatsioon on selgelt läbimõeldud ja vaeva nähtud täpse info kuvamiseks. Boonuspunktid oskuste näitamise puhul tavahinna ja soodushinna kuvamisel. Selgelt on näha meeskonna oskust HTMLi ja XMLiga läbikäimisel. Lisaks on transformatsioon XLST XMLiks korralikult tehtud ja kogu info saab nii kätte täpselt nii nagu see on ette tehtud ilma mingisuguste probleemideta. Kokkuvõttes kiidame meeskonna Raamaturiiul tehtud töö väga kvaliteetseks ja kõrge hindega võimaluse korral. Selgelt on näha, kuidas on rahulikult aega võetud ja kõik XML osad selgelt ja loogiliselt kirja pandud.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=131174Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 20182018-06-03T20:32:26Z<p>Ckirtsi: /* Meeskond: LearnToDrive */</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 - ..<br />
*15:30 - ..<br />
*15:45 - ..<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 />
===[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 retsensioon meeskonnale Miisiiks:''' [https://wiki.itcollege.ee/index.php/Talk:Miisiiks retsensioon]<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 />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm<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 />
*Margus Kildemaa<br />
*Indro Kottise<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: TODO<br />
<br />
Meie rühma kirjutatud retsentsioonid rühmale Maagikud: tegemisel<br />
<br />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
Projekti retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/LTD#Retsensioonid Maagikud]<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 />
[https://www.dropbox.com/s/iwtheohp5mn0lek/MiisiiksC.zip?dl=0 Klientrakendus]<br />
<br />
[https://wiki.itcollege.ee/index.php/Miisiiks#XML XML]<br />
<br />
Retsensioonid meeskonnale Raavo V2™<br />
<br />
Veebiteenus: [https://wiki.itcollege.ee/index.php/Miisiiks#Veebiteenuse_retsensioon Retsensioon]<br />
<br />
KlientRakendus: Tulekul<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 />
===[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''' (seisuga 2. juuni 2018)''':'''<br />
* .zip fail rakendus ja klient koos: https://www.dropbox.com/s/0qs4zcon2bsnr72/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://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 retsensioon:''' TODO <br />
<br />
'''Meie kirjutatud veebiteenuse ja klientrakenduse retsensioon:''' [https://wiki.itcollege.ee/index.php/Talk:MOT Team MOT retsensioon], TODO<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 ja klientrakenduse 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 />
Liikmed:<br />
* Sten Lunden<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 />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131173LTD2018-06-03T20:30:56Z<p>Ckirtsi: /* Retsensioonid */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
*02.06.2018 - XML osa valmimine<br />
*03.06.2018 - Retsensioonide alustamine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Retsensioonid==<br />
<br />
Retsenseerisime projekti puhul meeskonda [https://wiki.itcollege.ee/index.php/Maagikud Maagikud]<br />
<br />
'''Üldiselt Maagikute ideest ja projektianalüüsist'''<br />
<br />
Maagikute projektiidee on hea ja üsna põhjalikult lahti analüüsitud. Analüüsi juures on tore, et meeskond on muuhulgas ära toonud hinnangu oma tööle, koostöö toimisele ja projekti käigus saavutatule. <br />
<br />
Teenusele valminud andmebaasiskeem on tehtud AB-aluste vaimus ja toob mälestusi Raspeli ülesannetet. EDR tundub korralik - kuigi ise oleks mõne koha peal ehk katsunud lihtsamalt hakkama saada. <br />
<br />
Üleüldiseks kommentaariks tahaksime kohe öelda, et klientrakendus ja veebiteenus võiksid olla eraldi projektides. Hetkel on ainuke käivitatav projekt Solutionis “Airport_angular”, kus asuvad nii klientrakenduse kui veebiteenuse failid. Kokku jätab see veidi hübriidlahenduse mulje, sest raske on eraldada, kus üks lõpeb ja teine algab. Kui keegi sooviks sama teenuse vastu mõnda muud kilentrakendust kirjutada, oleks selline kliendi ja teenuse liitmine ebaloogiline. <br />
<br />
Kuigi jah, peab tõdema, et koolitöö raames on ühes projekti asuvat lahendust mugavam käivitada - käivitamise liigutust tuleb kahe korra asemel teha ainult korra.<br />
<br />
'''Veebiteenuse retsensioon'''<br />
<br />
Järgenvad mõtted on järjestatud rakenduse ja selle uurimise reaalses järjekorras ning võivad olla seega veidi hüplikud:<br />
<br />
Kood on ilusti liigendatud ja organiseeritud, Unit-of-Work muster on implementeeritud. <br />
<br />
Retsenseerija- ja testijasõbralikult on teostatud dataseeding. On meeldiv, et see töö on ära tehtud ning programmi käivitades on juba saadaval testandmed. Kuna see ei olnud kohustuslik osa projektist, kuid on tõeliselt kasutajasõbralik lsia, võiks Maagikute tiim siinkohal saada lisapunkti. <br />
<br />
Andmebaas tundub korralik ja korrektselt tehtud. Sama võiks öelda domeenimudeli kohta. Kood on selge ja liiasuseta. Mõnes kohas, kus Linq-päringud lähevad väga pikaks, võiks see siiski olla ülevaatlikuse ja mugavama lugemise mõttes teisiti liigendatud. Pikki ridu on rakse lugeda, sest need ei mahu korraga ekraanile. Viimane märkus käib eelkõige DAL.App.EF projekti repositooriumite, aga ka BL projekti service´ite kohta. <br />
<br />
Hea, et Swagger on teenusele lisatud - see annab hea kiire ülevaate teenuse meetodites ja parameetritet. Paraku annab Swaggeri laadminie hetkel info asemel veateate. Meie tiim oleks väga huvitatud jälile saama, millest on see veateade tingitud kuivõrd oleme täna hommikust peale oma projektis silmitsi sama probleemiga. <br />
<br />
Komplimetidest ja kiitmistväärivatest kohtadest veel: api-kontrollerite meetodid on eeskujulikult kommenteeritud. Vaatemudelid on samuti kenasti varustatud (osaliselt) nii veateadete, kuvamisnimede (display) kui annotatsioonidega.<br />
<br />
Kokkuvõtteks on vormistamise ja koodi mõttes võibolla vaid ette heita, et teenus võiks selguse huvides olla rakendusest eraldi projektis ja pikad Linq-päringud võiksid olla teisiti vormindatud - ka projektimeeskonna enda huvides. Muidu on kood pigem meelivalt askeetlik ja loetavalt vormistatud.<br />
<br />
Veebiteenuse kohta ei oskagi hetkel midagi rohkem lisada - kõik mis vaja, tundub olemas olevat ja toimivat.<br />
<br />
'''Klientrakenduse retsensioon'''<br />
<br />
Klientrakenduse avalehekülg on sümpaatne, sest andmete valideerimine ja teated kasutajale on korralikult ja põhjalikult teostatud. <br />
<br />
Sisselogimata kasutajana broneeringute tegemine töötab kenasti, kuid saadud info, et broneering on tehtud, jätab õhku küsimuse - mis saab edasi? Tellimus on lisatud, broneering on tehtud, aga edasine loogika on jäänud läbi mõtlemata. Sisselogimata kliendi kontaktandmeid ju ei küsita ning broneerigu lehelt ära liikudes (näiteks Login lehele minnes) kaob ka teade broneeringu tegemise kohta. Küllap on siin loogika arendus lihtsalt teiste pakiliste tööde tõttu pooleli jäänud.<br />
<br />
Registreeritud kasutaja loogika on jõutud paremini läbi mõelda. Pileteid saab broneerida, broneeringuid saab vaadata ja tühistada. Pärast broneeringu tegemist peab uue broneeringu tegemoiseks korraks lehelt ära liikuma - see on väike ebamugavus, kuid ei midagi hullu. Proovisime ka järjest samale lennule ja samale kohale piletit broneerida - see ei ole võimalik, sest kontroll broneeritud istekohtadele on eeskujulikult teostatud. <br />
<br />
Rakendust uurides tekkis mõte, et sisseloginud kasutajal võiks olla võimalus oma isikuandmeid näha ja muuta.<br />
<br />
Rakenduses ei ole võimalik näha teiste kasutajate broneeringuid. Proovisime mitme kasutajaga broneeringuid lisada ja kustutada ning esialgsel testimisel tundub, et näha saab ainult oma infot - just nii nagu peakski olema. Eraldi komplimenti väärib, et teostada on jõutud ka lennundusega kokkusobival teemal kujundatud 404 lehekülg neile, kes urli käsitsi muuta üritavad (mida me loomulikult testisime).<br />
<br />
Admini kasutajaga sisse logides (admin@eesti.ee, Foobar.foobar1), avaneb eelnevast huvitavam vaade, kus on nii infot kui tegevusi oluliselt rohkem. <br />
<br />
Admini alal on eriti toredaks funktsiooniks Statistika. Samuti töötab kõik kenasti Halduse lehel. Lisada ja kustutada saab nii lende, lennuliine kui lennukeid. <br />
<br />
Natuke segaseks jääb antud juhul piletite vaade. Idee analüüsist jääb mulje, et Adminina sisselogides saab näha ja hallata kõiki broneeringud, kuid hetkel kuvatakse vaid kaks testbroneeringut ja mitte eelnevalt rakenduse praeguste uurijate poolt tehtud broneeringuid. Testbroneeringute all on ka väike bugi (mida rakenduse loojad ilmselt hästi teavad) - kehtiva arve juures asuvat “Tühista” nuppu vajutades visatakse kaustaja korraks Login vaatesse ja siis tagasi broneeringute juurde - kust vaatavad muutmata kujul vastu need samad kaks tesbroneeringut. Ilmselt jäi see osa funktsionaalsusest praegu ajapuudusel välja arendamata ning põhirõhk admin-ala läks halduse ja statistika vaadete peale. <br />
<br />
Koodist: nagu juba eelnevalt mainitud sai, oleks ilmselt parem, kui klientrakendus oleks veebiteenusest eraldi projektis. Praegu on klientrakendus projekti sees eraldi kaustas, mis aitab olukorda selgust tuua. Klientrakenduse kausta siseselt on kood aga organiseeritud selgelt ja arusaadavalt. Kuna Angular on siinkirjutajate jaoks veidi võõras teema, ei oska me koodi kohta midagi väga põhjapanevat öelda. Kuid kood tunudb olevat loogilisteks tükkideks jagatud ja seetõttu suhteliselt hästi hallatav.<br />
<br />
'''Kokkuvõte'''<br />
<br />
Kokkuvõtteks võib öelda, et Maagikud on oma ülesandega VR II aine raames üsna kenasti hakkama saanud. Ilmselgelt on neil aega mingites kohtades napiks jäänud, mistõttu ei ole jõutud kõiki mõtteid lõpuni mõelda ja funktsionaalsusi lõpuni arendada. Aga selle eest on mõne teise funktsionaalususega (nt Admini Halduse vaate funktsionaalsused) kõvasti vaeva nähtud. Üldine mulje oli hea, väikesed märkused ja normised on juba eespool ära toodud. <br />
<br />
Nagu juba enne mainitud sai, oli tööd meeldiv retsenseerida tänu tiimi poolt implementeeritud dataseedile ja meeskonna kirjutatud analüüsile, mis andis sissevaate nende plaanidesse ja töö käiku.<br />
<br />
<br />
<br />
<br />
<br />
'''XML osa'''<br />
<br />
XML osa puhul retsenseerime tiimi [https://wiki.itcollege.ee/index.php/RaamatuRiiul RaamatuRiiul]<br />
<br />
Meeskonnal on XML fail andmete edastamiseks väga hästi koostatud ja kogu struktuur on loogiline ja hästi mõistetav. Ülesande miinimum maht on täidetud 4 loogilist dimensiooni luues ja ka ületatud, sest kokku on neid loogilisi dimensioone 7 ja seda on saavutatud jättes fail endiselt hästi loetavaks ja hästi mõistetavaks. XML failist saadud skeemifail ehk XSD on automaatselt genereeritud ja ise muutusi pole tehtud, mis ei ole ka problemaatiline, sest esialgne XML on põhjalikult valmistatud ja pole vajadusi muudatusteks. XLST fail andmete transformeerimiseks XMList HTMLi on ka hästi koostatud ja kogu info saab selgelt kätte, failist on näha kuidas kogu transformatsioon on selgelt läbimõeldud ja vaeva nähtud täpse info kuvamiseks. Boonuspunktid oskuste näitamise puhul tavahinna ja soodushinna kuvamisel. Selgelt on näha meeskonna oskust HTMLi ja XMLiga läbikäimisel. Lisaks on transformatsioon XLST XMLiks korralikult tehtud ja kogu info saab nii kätte täpselt nii nagu see on ette tehtud ilma mingisuguste probleemideta. Kokkuvõttes kiidame meeskonna Raamaturiiul tehtud töö väga kvaliteetseks ja kõrge hindega võimaluse korral. Selgelt on näha, kuidas on rahulikult aega võetud ja kõik XML osad selgelt ja loogiliselt kirja pandud.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131171LTD2018-06-03T20:29:46Z<p>Ckirtsi: /* Retsensioonid */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
*02.06.2018 - XML osa valmimine<br />
*03.06.2018 - Retsensioonide alustamine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Retsensioonid==<br />
<br />
'''Üldiselt Maagikute ideest ja projektianalüüsist'''<br />
<br />
Maagikute projektiidee on hea ja üsna põhjalikult lahti analüüsitud. Analüüsi juures on tore, et meeskond on muuhulgas ära toonud hinnangu oma tööle, koostöö toimisele ja projekti käigus saavutatule. <br />
<br />
Teenusele valminud andmebaasiskeem on tehtud AB-aluste vaimus ja toob mälestusi Raspeli ülesannetet. EDR tundub korralik - kuigi ise oleks mõne koha peal ehk katsunud lihtsamalt hakkama saada. <br />
<br />
Üleüldiseks kommentaariks tahaksime kohe öelda, et klientrakendus ja veebiteenus võiksid olla eraldi projektides. Hetkel on ainuke käivitatav projekt Solutionis “Airport_angular”, kus asuvad nii klientrakenduse kui veebiteenuse failid. Kokku jätab see veidi hübriidlahenduse mulje, sest raske on eraldada, kus üks lõpeb ja teine algab. Kui keegi sooviks sama teenuse vastu mõnda muud kilentrakendust kirjutada, oleks selline kliendi ja teenuse liitmine ebaloogiline. <br />
<br />
Kuigi jah, peab tõdema, et koolitöö raames on ühes projekti asuvat lahendust mugavam käivitada - käivitamise liigutust tuleb kahe korra asemel teha ainult korra.<br />
<br />
'''Veebiteenuse retsensioon'''<br />
<br />
Järgenvad mõtted on järjestatud rakenduse ja selle uurimise reaalses järjekorras ning võivad olla seega veidi hüplikud:<br />
<br />
Kood on ilusti liigendatud ja organiseeritud, Unit-of-Work muster on implementeeritud. <br />
<br />
Retsenseerija- ja testijasõbralikult on teostatud dataseeding. On meeldiv, et see töö on ära tehtud ning programmi käivitades on juba saadaval testandmed. Kuna see ei olnud kohustuslik osa projektist, kuid on tõeliselt kasutajasõbralik lsia, võiks Maagikute tiim siinkohal saada lisapunkti. <br />
<br />
Andmebaas tundub korralik ja korrektselt tehtud. Sama võiks öelda domeenimudeli kohta. Kood on selge ja liiasuseta. Mõnes kohas, kus Linq-päringud lähevad väga pikaks, võiks see siiski olla ülevaatlikuse ja mugavama lugemise mõttes teisiti liigendatud. Pikki ridu on rakse lugeda, sest need ei mahu korraga ekraanile. Viimane märkus käib eelkõige DAL.App.EF projekti repositooriumite, aga ka BL projekti service´ite kohta. <br />
<br />
Hea, et Swagger on teenusele lisatud - see annab hea kiire ülevaate teenuse meetodites ja parameetritet. Paraku annab Swaggeri laadminie hetkel info asemel veateate. Meie tiim oleks väga huvitatud jälile saama, millest on see veateade tingitud kuivõrd oleme täna hommikust peale oma projektis silmitsi sama probleemiga. <br />
<br />
Komplimetidest ja kiitmistväärivatest kohtadest veel: api-kontrollerite meetodid on eeskujulikult kommenteeritud. Vaatemudelid on samuti kenasti varustatud (osaliselt) nii veateadete, kuvamisnimede (display) kui annotatsioonidega.<br />
<br />
Kokkuvõtteks on vormistamise ja koodi mõttes võibolla vaid ette heita, et teenus võiks selguse huvides olla rakendusest eraldi projektis ja pikad Linq-päringud võiksid olla teisiti vormindatud - ka projektimeeskonna enda huvides. Muidu on kood pigem meelivalt askeetlik ja loetavalt vormistatud.<br />
<br />
Veebiteenuse kohta ei oskagi hetkel midagi rohkem lisada - kõik mis vaja, tundub olemas olevat ja toimivat.<br />
<br />
'''Klientrakenduse retsensioon'''<br />
<br />
Klientrakenduse avalehekülg on sümpaatne, sest andmete valideerimine ja teated kasutajale on korralikult ja põhjalikult teostatud. <br />
<br />
Sisselogimata kasutajana broneeringute tegemine töötab kenasti, kuid saadud info, et broneering on tehtud, jätab õhku küsimuse - mis saab edasi? Tellimus on lisatud, broneering on tehtud, aga edasine loogika on jäänud läbi mõtlemata. Sisselogimata kliendi kontaktandmeid ju ei küsita ning broneerigu lehelt ära liikudes (näiteks Login lehele minnes) kaob ka teade broneeringu tegemise kohta. Küllap on siin loogika arendus lihtsalt teiste pakiliste tööde tõttu pooleli jäänud.<br />
<br />
Registreeritud kasutaja loogika on jõutud paremini läbi mõelda. Pileteid saab broneerida, broneeringuid saab vaadata ja tühistada. Pärast broneeringu tegemist peab uue broneeringu tegemoiseks korraks lehelt ära liikuma - see on väike ebamugavus, kuid ei midagi hullu. Proovisime ka järjest samale lennule ja samale kohale piletit broneerida - see ei ole võimalik, sest kontroll broneeritud istekohtadele on eeskujulikult teostatud. <br />
<br />
Rakendust uurides tekkis mõte, et sisseloginud kasutajal võiks olla võimalus oma isikuandmeid näha ja muuta.<br />
<br />
Rakenduses ei ole võimalik näha teiste kasutajate broneeringuid. Proovisime mitme kasutajaga broneeringuid lisada ja kustutada ning esialgsel testimisel tundub, et näha saab ainult oma infot - just nii nagu peakski olema. Eraldi komplimenti väärib, et teostada on jõutud ka lennundusega kokkusobival teemal kujundatud 404 lehekülg neile, kes urli käsitsi muuta üritavad (mida me loomulikult testisime).<br />
<br />
Admini kasutajaga sisse logides (admin@eesti.ee, Foobar.foobar1), avaneb eelnevast huvitavam vaade, kus on nii infot kui tegevusi oluliselt rohkem. <br />
<br />
Admini alal on eriti toredaks funktsiooniks Statistika. Samuti töötab kõik kenasti Halduse lehel. Lisada ja kustutada saab nii lende, lennuliine kui lennukeid. <br />
<br />
Natuke segaseks jääb antud juhul piletite vaade. Idee analüüsist jääb mulje, et Adminina sisselogides saab näha ja hallata kõiki broneeringud, kuid hetkel kuvatakse vaid kaks testbroneeringut ja mitte eelnevalt rakenduse praeguste uurijate poolt tehtud broneeringuid. Testbroneeringute all on ka väike bugi (mida rakenduse loojad ilmselt hästi teavad) - kehtiva arve juures asuvat “Tühista” nuppu vajutades visatakse kaustaja korraks Login vaatesse ja siis tagasi broneeringute juurde - kust vaatavad muutmata kujul vastu need samad kaks tesbroneeringut. Ilmselt jäi see osa funktsionaalsusest praegu ajapuudusel välja arendamata ning põhirõhk admin-ala läks halduse ja statistika vaadete peale. <br />
<br />
Koodist: nagu juba eelnevalt mainitud sai, oleks ilmselt parem, kui klientrakendus oleks veebiteenusest eraldi projektis. Praegu on klientrakendus projekti sees eraldi kaustas, mis aitab olukorda selgust tuua. Klientrakenduse kausta siseselt on kood aga organiseeritud selgelt ja arusaadavalt. Kuna Angular on siinkirjutajate jaoks veidi võõras teema, ei oska me koodi kohta midagi väga põhjapanevat öelda. Kuid kood tunudb olevat loogilisteks tükkideks jagatud ja seetõttu suhteliselt hästi hallatav.<br />
<br />
'''Kokkuvõte'''<br />
<br />
Kokkuvõtteks võib öelda, et Maagikud on oma ülesandega VR II aine raames üsna kenasti hakkama saanud. Ilmselgelt on neil aega mingites kohtades napiks jäänud, mistõttu ei ole jõutud kõiki mõtteid lõpuni mõelda ja funktsionaalsusi lõpuni arendada. Aga selle eest on mõne teise funktsionaalususega (nt Admini Halduse vaate funktsionaalsused) kõvasti vaeva nähtud. Üldine mulje oli hea, väikesed märkused ja normised on juba eespool ära toodud. <br />
<br />
Nagu juba enne mainitud sai, oli tööd meeldiv retsenseerida tänu tiimi poolt implementeeritud dataseedile ja meeskonna kirjutatud analüüsile, mis andis sissevaate nende plaanidesse ja töö käiku.<br />
<br />
<br />
<br />
<br />
<br />
'''XML osa'''<br />
<br />
XML osa puhul retsenseerime tiimi [https://wiki.itcollege.ee/index.php/RaamatuRiiul RaamatuRiiul]<br />
<br />
Meeskonnal on XML fail andmete edastamiseks väga hästi koostatud ja kogu struktuur on loogiline ja hästi mõistetav. Ülesande miinimum maht on täidetud 4 loogilist dimensiooni luues ja ka ületatud, sest kokku on neid loogilisi dimensioone 7 ja seda on saavutatud jättes fail endiselt hästi loetavaks ja hästi mõistetavaks. XML failist saadud skeemifail ehk XSD on automaatselt genereeritud ja ise muutusi pole tehtud, mis ei ole ka problemaatiline, sest esialgne XML on põhjalikult valmistatud ja pole vajadusi muudatusteks. XLST fail andmete transformeerimiseks XMList HTMLi on ka hästi koostatud ja kogu info saab selgelt kätte, failist on näha kuidas kogu transformatsioon on selgelt läbimõeldud ja vaeva nähtud täpse info kuvamiseks. Boonuspunktid oskuste näitamise puhul tavahinna ja soodushinna kuvamisel. Selgelt on näha meeskonna oskust HTMLi ja XMLiga läbikäimisel. Lisaks on transformatsioon XLST XMLiks korralikult tehtud ja kogu info saab nii kätte täpselt nii nagu see on ette tehtud ilma mingisuguste probleemideta. Kokkuvõttes kiidame meeskonna Raamaturiiul tehtud töö väga kvaliteetseks ja kõrge hindega võimaluse korral. Selgelt on näha, kuidas on rahulikult aega võetud ja kõik XML osad selgelt ja loogiliselt kirja pandud.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131130LTD2018-06-03T18:26:03Z<p>Ckirtsi: /* Retsensioonid */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
*02.06.2018 - XML osa valmimine<br />
*03.06.2018 - Retsensioonide alustamine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Retsensioonid==<br />
'''Veebiteenus'''<br />
<br />
<br />
'''Klientrakendus'''<br />
<br />
<br />
'''XML osa'''<br />
<br />
XML osa puhul retsenseerime tiimi [https://wiki.itcollege.ee/index.php/RaamatuRiiul RaamatuRiiul]<br />
<br />
Meeskonnal on XML fail andmete edastamiseks väga hästi koostatud ja kogu struktuur on loogiline ja hästi mõistetav. Ülesande miinimum maht on täidetud 4 loogilist dimensiooni luues ja ka ületatud, sest kokku on neid loogilisi dimensioone 7 ja seda on saavutatud jättes fail endiselt hästi loetavaks ja hästi mõistetavaks. XML failist saadud skeemifail ehk XSD on automaatselt genereeritud ja ise muutusi pole tehtud, mis ei ole ka problemaatiline, sest esialgne XML on põhjalikult valmistatud ja pole vajadusi muudatusteks. XLST fail andmete transformeerimiseks XMList HTMLi on ka hästi koostatud ja kogu info saab selgelt kätte, failist on näha kuidas kogu transformatsioon on selgelt läbimõeldud ja vaeva nähtud täpse info kuvamiseks. Boonuspunktid oskuste näitamise puhul tavahinna ja soodushinna kuvamisel. Selgelt on näha meeskonna oskust HTMLi ja XMLiga läbikäimisel. Lisaks on transformatsioon XLST XMLiks korralikult tehtud ja kogu info saab nii kätte täpselt nii nagu see on ette tehtud ilma mingisuguste probleemideta. Kokkuvõttes kiidame meeskonna Raamaturiiul tehtud töö väga kvaliteetseks ja kõrge hindega võimaluse korral. Selgelt on näha, kuidas on rahulikult aega võetud ja kõik XML osad selgelt ja loogiliselt kirja pandud.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131126LTD2018-06-03T17:44:34Z<p>Ckirtsi: /* Retsensioonid */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
*02.06.2018 - XML osa valmimine<br />
*03.06.2018 - Retsensioonide alustamine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Retsensioonid==<br />
'''Veebiteenus'''<br />
<br />
<br />
'''Klientrakendus'''<br />
<br />
<br />
'''XML osa'''<br />
<br />
XML osa puhul retsenseerime tiimi [https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131125LTD2018-06-03T17:44:24Z<p>Ckirtsi: /* Retsensioonid */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
*02.06.2018 - XML osa valmimine<br />
*03.06.2018 - Retsensioonide alustamine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Retsensioonid==<br />
'''Veebiteenus'''<br />
<br />
<br />
'''Klientrakendus'''<br />
<br />
<br />
'''XML osa'''<br />
XML osa puhul retsenseerime tiimi [https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131124LTD2018-06-03T17:29:43Z<p>Ckirtsi: /* Blogi */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
*02.06.2018 - XML osa valmimine<br />
*03.06.2018 - Retsensioonide alustamine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Retsensioonid==<br />
'''Veebiteenus'''<br />
<br />
<br />
'''Klientrakendus'''<br />
<br />
<br />
'''XML osa'''</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131123LTD2018-06-03T17:28:27Z<p>Ckirtsi: /* Retsensioonid */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Retsensioonid==<br />
'''Veebiteenus'''<br />
<br />
<br />
'''Klientrakendus'''<br />
<br />
<br />
'''XML osa'''</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131122LTD2018-06-03T17:28:06Z<p>Ckirtsi: /* Retsensioonid */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Retsensioonid==<br />
'''Veebiteenus'''<br />
'''Klientrakendus'''<br />
'''XML osa'''</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131121LTD2018-06-03T17:27:43Z<p>Ckirtsi: /* XML osa */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
'''XML lähtekood'''<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Retsensioonid==<br />
''Veebiteenus''<br />
''Klientrakendus''<br />
''XML osa''</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131120LTD2018-06-03T17:27:00Z<p>Ckirtsi: /* XML osa */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
==Retsensioonid==<br />
''Veebiteenus''<br />
''Klientrakendus''<br />
''XML osa''</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131111LTD2018-06-03T07:47:07Z<p>Ckirtsi: /* XML osa */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<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:element name="schools"><br />
<xsl:element name="school"><br />
<xsl:element name="lessons"><br />
<xsl:for-each select="schools/school/lessons"><br />
<xsl:element name="lesson"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:attribute name="hidden"><br />
<xsl:value-of select="@hidden"/><br />
</xsl:attribute><br />
<xsl:element name="lessonId"><br />
<xsl:value-of select="@lessonId"/><br />
</xsl:element><br />
<xsl:element name="lessonStart"><br />
<xsl:value-of select="@lessonStart"/><br />
</xsl:element><br />
<xsl:element name="lessonEnd"><br />
<xsl:value-of select="@lessonEnd"/><br />
</xsl:element><br />
<xsl:element name="lessonType"><br />
<xsl:value-of select="@lessonType"/><br />
</xsl:element><br />
<xsl:element name="vehicle"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="vehicleId"><br />
<xsl:value-of select="@vehicleId"/><br />
</xsl:element><br />
</xsl:element><br />
<xsl:element name="person"><br />
<xsl:attribute name="id"><br />
<xsl:value-of select="@id"/><br />
</xsl:attribute><br />
<xsl:element name="personId"><br />
<xsl:value-of select="@personId"/><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:for-each><br />
</xsl:element><br />
</xsl:element><br />
</xsl:element><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source></div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131108LTD2018-06-02T20:39:59Z<p>Ckirtsi: /* XML osa */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
<source lang="xml"><br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
</source><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
</source><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
</source><br />
<br />
'''XSLT to XML'''<br />
<source lang="xml"><br />
</source></div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=131107LTD2018-06-02T20:35:40Z<p>Ckirtsi: /* Lisad */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.<br />
<br />
== XML osa ==<br />
<?xml version="1.0" encoding="UTF-8"?><br />
<schools><br />
<school><br />
<lessons><br />
<lesson id="1" hidden="false"><br />
<lessonId>1</lessonId><br />
<lessonStart><![CDATA[31.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[31.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Truck driver training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>4</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>1</personId><br />
</person><br />
<person id="2"><br />
<personId>3</personId><br />
</person><br />
</lesson><br />
<lesson id="2" hidden="false"><br />
<lessonId>2</lessonId><br />
<lessonStart><![CDATA[27.05.2018 13:00]]></lessonStart><br />
<lessonEnd><![CDATA[27.05.2018 14:00]]></lessonEnd><br />
<lessonType><![CDATA[Beginner training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>1</vehicleId><br />
</vehicle><br />
<vehicle id="2"><br />
<vehicleId>2</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>4</personId><br />
</person><br />
</lesson><br />
<lesson id="3" hidden="true"><br />
<lessonId>3</lessonId><br />
<lessonStart><![CDATA[10.05.2018 10:00]]></lessonStart><br />
<lessonEnd><![CDATA[15.05.2018 18:00]]></lessonEnd><br />
<lessonType><![CDATA[Security driving training]]></lessonType><br />
<vehicle id="1"><br />
<vehicleId>3</vehicleId><br />
</vehicle><br />
<person id="1"><br />
<personId>2</personId><br />
</person><br />
<person id="2"><br />
<personId>5</personId><br />
</person><br />
</lesson><br />
</lessons><br />
<personsInLesson><br />
<person id="1" type="teacher"><br />
<firstname><![CDATA[Urmo]]></firstname><br />
<lastname><![CDATA[Segisti]]></lastname><br />
<mail><![CDATA[urmo@segisti.ee]]></mail><br />
<phone><![CDATA[+372 53806309]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="2" type="teacher"><br />
<firstname><![CDATA[Marko]]></firstname><br />
<lastname><![CDATA[Martin]]></lastname><br />
<mail><![CDATA[marko@martin.ee]]></mail><br />
<phone><![CDATA[+372 547 3321]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="3" type="student"><br />
<firstname><![CDATA[Anti]]></firstname><br />
<lastname><![CDATA[Nuga]]></lastname><br />
<mail><![CDATA[anti@nuga.ee]]></mail><br />
<phone><![CDATA[+372 574 2333]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="4" type="student"><br />
<firstname><![CDATA[Aia]]></firstname><br />
<lastname><![CDATA[Auk]]></lastname><br />
<mail><![CDATA[aia@auk.ee]]></mail><br />
<phone><![CDATA[+372 506 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
<person id="5" type="student"><br />
<firstname><![CDATA[Turva]]></firstname><br />
<lastname><![CDATA[Mees]]></lastname><br />
<mail><![CDATA[turva@mees.ee]]></mail><br />
<phone><![CDATA[+372 561 4759]]></phone><br />
<hidden>false</hidden><br />
</person><br />
</personsInLesson><br />
<vehicles><br />
<vehicle id="1"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Octavia]]></model><br />
<year>2016</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="2"><br />
<make><![CDATA[Toyota]]></make><br />
<model><![CDATA[Avensis]]></model><br />
<year>2017</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="3"><br />
<make><![CDATA[Skoda]]></make><br />
<model><![CDATA[Suberb]]></model><br />
<year>2017</year><br />
<fuel>gas</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
<vehicle id="4"><br />
<make><![CDATA[Scania]]></make><br />
<model><![CDATA[R450]]></model><br />
<year>2018</year><br />
<fuel>diesel</fuel><br />
<hidden>false</hidden><br />
</vehicle><br />
</vehicles><br />
</school><br />
</schools><br />
<br />
'''XSD'''<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="schools"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="school"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessons"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="lesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="lessonId" type="xs:int" /><br />
<xs:element name="lessonStart" type="xs:string" /><br />
<xs:element name="lessonEnd" type="xs:string" /><br />
<xs:element name="lessonType" type="xs:string" /><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="vehicleId" type="xs:int" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element name="personId" type="xs:int" /><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="hidden" type="xs:boolean" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="personsInLesson"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="person"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="firstname" type="xs:string" /><br />
<xs:element name="lastname" type="xs:string" /><br />
<xs:element name="mail" type="xs:string" /><br />
<xs:element name="phone" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
<xs:attribute name="type" type="xs:string" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
<xs:element name="vehicles"><br />
<xs:complexType><br />
<xs:sequence><br />
<xs:element maxOccurs="unbounded" name="vehicle"><br />
<xs:complexType><br />
<xs:all><br />
<xs:element name="make" type="xs:string" /><br />
<xs:element name="model" type="xs:string" /><br />
<xs:element name="year" type="xs:unsignedShort" /><br />
<xs:element name="fuel" type="xs:string" /><br />
<xs:element name="hidden" type="xs:boolean" /><br />
</xs:all><br />
<xs:attribute name="id" type="xs:int" use="required" /><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:sequence><br />
</xs:complexType><br />
</xs:element><br />
</xs:schema><br />
<br />
'''XSLT to HTML'''<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="html" indent="yes"/><br />
<br />
<xsl:template match="/"><br />
<html><br />
<body><br />
<xsl:for-each select="schools/school/personsInLesson/person"><br />
<xsl:if test="@type ='student'"><br />
<h2><br />
<xsl:value-of select="firstname" /><br />
<xsl:text> </xsl:text><br />
<xsl:value-of select="lastname" /><br />
</h2><br />
<table border="1"><br />
<tr><br />
<th>Email</th><br />
<th><br />
<xsl:value-of select="mail"/><br />
</th><br />
</tr><br />
<tr><br />
<th>Phone</th><br />
<th><br />
<xsl:value-of select="phone"/><br />
</th><br />
</tr><br />
</table><br />
</xsl:if><br />
</xsl:for-each><br />
</body><br />
</html><br />
</xsl:template><br />
</xsl:stylesheet><br />
<br />
'''XSLT to XML'''</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130958LTD2018-05-29T10:50:16Z<p>Ckirtsi: /* Analüüs */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine<br />
<br />
== Lisad ==<br />
Erinevatest töökultuuridest põhjustatud lahkhelide tõttu võib juhuda, et antud veebiteenusele valmib aine raames kaks erinevat klientrakendust - kahe erineva autokooli tundide broneerimise rakendused lõppkasutajale (õpilasele). Kahe erineva rakenduse loomine sama veebiteenuse vastu peaks hästi illustreerima veebiteenuse võimalusi ja eeliseid.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130957LTD2018-05-29T10:11:07Z<p>Ckirtsi: /* Versioonihaldus */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
https://eluonlill.visualstudio.com/LearnToDriveSolution/LTDTeam/_git/LearnToDriveSolution<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130956LTD2018-05-29T10:10:28Z<p>Ckirtsi: /* Blogi */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs<br />
*13.04.2018 - versioonihaldusesse projekti tegemine<br />
*15.04.2018 - algas töö veebiteenusega<br />
*21.05.2018 - veebiteenus sai valmis<br />
*22.05.2018 - klientrakenduse loomine<br />
*23.05.2018 - viimased parandused veebiteenusele<br />
*28.05.2018 - lahkhelide tekkimise tõttu teise klientrakenduse loomine</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=File:LTDerd.jpg&diff=130955File:LTDerd.jpg2018-05-29T10:02:16Z<p>Ckirtsi: </p>
<hr />
<div></div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130954LTD2018-05-29T10:02:02Z<p>Ckirtsi: /* Andmemudel */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.jpg]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130953LTD2018-05-29T10:00:02Z<p>Ckirtsi: /* Andmemudel */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTDerd.png]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130952LTD2018-05-29T09:56:53Z<p>Ckirtsi: /* Andmemudel */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
<br />
[[File: LTD_erd.png]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130951LTD2018-05-29T09:54:51Z<p>Ckirtsi: /* ERD */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Andmemudel ==<br />
https://lh6.googleusercontent.com/eM6VMYOGMwtskDh7ZoOwoadVRvKqexuabbZFN2uKhm_wwLfk0qYGFcAuU9Dm3xoiEZzOh3sB5IjT1XAD_fvAkZ-RkC0ezGTxoZNCVyoKPKCfjZum9MFu4ClBzjeQS-V4MInrsqea<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130950LTD2018-05-29T09:53:00Z<p>Ckirtsi: /* ERD */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== ERD ==<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130949LTD2018-05-29T09:52:48Z<p>Ckirtsi: /* Analüüs */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Mõte autokoolide veebiteenuse tegemiseks tuli sellest, et olen kuulunud ühe konkreetse autokooli sõiduõpetajatelt, kuidas nende tundide haldamise süsteem on väga ebamugav. Õpilaste poole pealt ei paistagi see niiväga välja (olen ka ise nimetatud koolis õppinud) - tunde ja õppejõude saab valida ja broneerida ning tundide eest saab maksta. Õppejõudude ja kooli halduse poolt vaadates töövooga aga ei toimi: õppejõud peavad oma sooritatud tunnid lisaks rakenduses kirja panemisele eraldi paberile ümber kirjutama, mis omakorda läheb raamatupidamisse. Raamatupidaja arvestab õpetajate tasusid käsikirjaliselt koostaud paberi alusel, mis on ajakulukas ja veaohtlik. Raamatupidamine võiks vajalikud andmed saada otse ühisest andmebaasist, mis säästaks nii õpetajate kui raamatupidajate aega ning vähendaks inimlike vigade ohtu tundide arvu ja toimumisaegade kopeerimisel.<br />
<br />
Plaanis on luua andmebaas, kuhu saab sisestada sõiduõpetajate andmeid ja neile sobivaid tundide aegu. Samuti saab andmebaasi salvestada sõidukoolis õppijate andmeid, kui palju tunde nad on läbinud ja kas nad on tundide eest maksnud. Sõidutunde peaks saama broneerida saama ainult juhul, kui on tasutud ettemaks või vähemalt ei ole kasutajal võlgnevusi. Süsteem sisaldab teavet ka kooli(de) kohta ning õpilaste jaoks infot selle kohta, millis(te) auto(de)ga see õpetaja sõidab ning kust tunnid algavad.<br />
<br />
Veebiteenusest saab pärida, kui mitu tundi ja millal on mingi õpetaja on läbi viinud. Info alusel saab kool korraldada raamatupidamist ja muud aruandlust. Samuti saab pärida üldist statistilist infot õpilaste tulemuste kohta, mille alusel saab võrrelda erinevaid autokoole, sõiduõpetajaid või uurida üldisi tendentse. Näiteks seda, kui mitme sõidutunniga õpilased tavaliselt autokooli lõpetavad? Kui suur osa õpilasi läbib autokooli minimaalsete sõidutundide (40 tundi) arvuga? Kas on mingid tähelepanuväärsed erinevused sõiduõpetajate või kooldie lõikes?<br />
<br />
Veebiteenusele saab ehitada erinevaid klientrakendusi autokooldie broneerimissüsteemide näol, kus on erinevad vaated õpilaste, õpetajate ja administraatori jaoks. Süsteem võib toetada ka ühe õpetaja liikumist erinevate autokoolide vahel - näiteks saab õpetaja selle läbi hallata oma tunde mitmes erinevas autokoolis, mis annab talle võimaluse erinevatel päevadel erinevate autokoolide jaoks töötada. Veebiteenust saab liidestada raamatupidamissüsteemidega, et raamatupidaja ja autokooli juhatus saaksid läbi selle ülevaate oma kooli õpetajate ja õpilaste sõidutundidest.<br />
<br />
Antud aine raames loodava kllientrakenduse vahendusel saavad õpilased valida õpetajaid, näha nende vabu sõiduaegu ja sõiduaegu broneerida. Õpetajad saavad sõiduaegu sisestada ja hallata. <br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== ERD ==<br />
[[File:Autolugu-2018-03-28_22_03.png]]<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130948LTD2018-05-29T09:49:31Z<p>Ckirtsi: /* Lühikirjeldus */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Jooksvalt toimub idee kirjutamine, logimine, analüüsimine, arutamine rohkem [https://docs.google.com/document/d/1C6llopXh_WYGF9-duuuA9pbP8_44bgHS7E838cUDv8g/edit?usp=sharing Google Drive's]<br />
<br />
== Lühikirjeldus ==<br />
<br />
Autokoolidele sõidutundide haldamiseks mõeldud teenus, mis oleks abiks nii sõiduõpetajatele kui kooli juhatusele ja raamatupidajatele. Samuti võimaldavad teenusele loodud kilentrakendused autokooli(de) õpilastel oma sõidutunde broneerida ja hallata.<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130947LTD2018-05-29T09:48:34Z<p>Ckirtsi: /* Meeskond */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Eve Ormisson<br />
*Carlos Kirtsi<br />
<br />
= Analüüs =<br />
<br />
Jooksvalt toimub idee kirjutamine, logimine, analüüsimine, arutamine rohkem [https://docs.google.com/document/d/1C6llopXh_WYGF9-duuuA9pbP8_44bgHS7E838cUDv8g/edit?usp=sharing Google Drive's]<br />
<br />
== Lühikirjeldus ==<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130946LTD2018-05-29T09:48:24Z<p>Ckirtsi: /* Meeskond */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Carlos Kirtsi<br />
*Eve Ormisson<br />
<br />
= Analüüs =<br />
<br />
Jooksvalt toimub idee kirjutamine, logimine, analüüsimine, arutamine rohkem [https://docs.google.com/document/d/1C6llopXh_WYGF9-duuuA9pbP8_44bgHS7E838cUDv8g/edit?usp=sharing Google Drive's]<br />
<br />
== Lühikirjeldus ==<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=130945Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 20182018-05-29T09:46:08Z<p>Ckirtsi: /* Meeskond: LearnToDrive */</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 - ..<br />
*15:15 - ..<br />
*15:30 - ..<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 />
* Madis Heinsoo<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 />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<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 />
===[https://wiki.itcollege.ee/index.php/Pillarofautumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm<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 />
*Margus Kildemaa<br />
*Indro Kottise<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 />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Eve Ormisson<br />
*Carlos Kirtsi<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://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 />
==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 />
===[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<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler<br />
* Jorma Rebane<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 <br />
<br />
'''Lõpptoode:''' https://github.com/sikumiku/TaisKohtApi/archive/61438e187a1a972410c8a3bc6274d69489d00aa6.zip<br />
<br />
'''Meie kirjutatud XML retsensioon:''' TODO <br />
<br />
'''Meie kirjutatud veebiteenuse ja klientrakenduse retsensioon:''' https://wiki.itcollege.ee/index.php/Talk:MOT, TODO<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<br />
* Hardi Tiitus<br />
<br />
'''Lõpptoode: ''' http://enos.itcollege.ee/~mmeizner/MOT/<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 />
Liikmed:<br />
* Sten Lunden<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 />
<br />
===[https://wiki.itcollege.ee/index.php/NutriCheck Meeskond: NutriCheck]===<br />
Liikmed:<br />
*Artyom Likhachev<br />
<br />
===[https://wiki.itcollege.ee/index.php/Meeskond:_HomeLibrary Meeskond HomeLibrary]===<br />
Liikmed:<br />
*Karit Kilgi</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130302LTD2018-04-03T10:14:40Z<p>Ckirtsi: /* Analüüs */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
*Villem Markus Loigom<br />
*Eve Ormisson<br />
<br />
= Analüüs =<br />
<br />
Jooksvalt toimub idee kirjutamine, logimine, analüüsimine, arutamine rohkem [https://docs.google.com/document/d/1C6llopXh_WYGF9-duuuA9pbP8_44bgHS7E838cUDv8g/edit?usp=sharing Google Drive's]<br />
<br />
== Lühikirjeldus ==<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130301LTD2018-04-03T10:10:14Z<p>Ckirtsi: /* Blogi */</p>
<hr />
<div>== Meeskond == <br />
<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
*Villem Markus Loigom<br />
*Eve Ormisson<br />
<br />
= Analüüs =<br />
<br />
== Lühikirjeldus ==<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==<br />
<br />
*Märts 2018 - ideede pakkumine <br />
*01.04.2018 - idee valimine, wiki lehe tegemine<br />
*02.04.2018 - idee analüüs</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Kodut%C3%B6%C3%B6_aines_%22V%C3%B5rgurakendused_II:_hajuss%C3%BCsteemide_ehitamine%22_2018&diff=130300Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 20182018-04-03T10:08:48Z<p>Ckirtsi: /* Päevaõpe */</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 />
<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 />
* Madis Heinsoo<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 />
<br />
===[https://wiki.itcollege.ee/index.php/RaamatuRiiul Meeskond: RaamatuRiiul]===<br />
Liikmed:<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Marite Rammo<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 />
===[https://wiki.itcollege.ee/index.php/PillarOfAutumn Meeskond: Pillar of Autumn ]===<br />
Liikmed:<br />
* Taavi Põder<br />
* Taavi Vesinurm<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 />
*Margus Kildemaa<br />
*Indro Kottise<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 />
===[https://wiki.itcollege.ee/index.php/LTD Meeskond: LearnToDrive]===<br />
'''Liikmed:'''<br />
*Kert Saarma<br />
*Eve Ormisson<br />
*Villem Markus Loigom<br />
*Carlos Kirtsi<br />
<br />
==Kaugõpe==<br />
<br />
===[https://wiki.itcollege.ee/index.php/BSIS Meeskond: BSIS]===<br />
Liikmed:<br />
* Germo Väli<br />
* siin on vaba koht kui on huvi projekti vastu<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 />
===[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<br />
<br />
===[https://wiki.itcollege.ee/index.php/Ophelia Meeskond: Ophelia]===<br />
Liikmed:<br />
* Siim Kallari<br />
* Andres Kepler<br />
* Jorma Rebane<br />
<br />
===[https://wiki.itcollege.ee/index.php/SharpRestoVRII Meeskond: SharpRestoVRII]===<br />
Liikmed:<br />
* Andres Aava<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<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 />
'''Projekti TFS:''' TODO<br />
<br />
'''Meie kirjutatud XML retsensioon:'''<br />
TODO<br />
<br />
'''Meie kirjutatud veebiteenuse retsensioon:'''<br />
TODO<br />
<br />
'''Meie kirjutatud klientrakenduse retsensioon:'''<br />
TODO<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 />
'''TFS:''' Coming...<br />
<br />
===[https://wiki.itcollege.ee/index.php/MOT Meeskond: MOT]===<br />
Liikmed:<br />
* Merike Meizner<br />
* Helen Oppar<br />
* Hardi Tiitus<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 />
Liikmed:<br />
* Sten Lunden</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=LTD&diff=130299LTD2018-04-03T10:06:32Z<p>Ckirtsi: Created page with "== Meeskond == *Kert Saarma *Carlos Kirtsi *Villem Markus Loigom *Eve Ormisson = Analüüs = == Lühikirjeldus == == Idee funktsionaalsus == == Versioonihaldus == == Bl..."</p>
<hr />
<div>== Meeskond == <br />
<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
*Villem Markus Loigom<br />
*Eve Ormisson<br />
<br />
= Analüüs =<br />
<br />
== Lühikirjeldus ==<br />
<br />
== Idee funktsionaalsus ==<br />
<br />
== Versioonihaldus ==<br />
<br />
== Blogi ==</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Meeskond:EluOnLill&diff=128960Meeskond:EluOnLill2018-01-18T09:26:54Z<p>Ckirtsi: /* Arendusprotsess */</p>
<hr />
<div><br />
== '''Liikmed''' ==<br />
*Henrik Prangel - Projektijuht<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
<br />
=='''Idee'''==<br />
*Luua mäng, mis simuleerib elu kulgemist<br />
<br />
Mängu algus - tekitame inimese lapsena ja saab valida kuidas alustada oma elu - sotsialiseerumine, õppimine, looming, sport. Nende põhjal tekib see isik, kes siis täiskasvanuna hakkab elu elama.Karakterit luues on random generator mis määrab ära kui kerge ülejäänud mängust on. Vastavalt sellele kuidas siis lapsena valikuid teed mõjutab su tuleviku, palju sporti on kalduvus olla loll sportlane jne. Täiskavanuna tekib juurde uued väärtused raha, kuulsus, jõud, pere ja heaolu. Kõikide näitajate pealt tekib skoor mis näitab kui hea sa siis kokkuvõttes olid, üks mänguprotsess kestab reaalajas kuu aega, aga on olemas ka nupp mis kiirendab mängu. Juhul kui mäng "läbi" saad edasi mängida ühe oma lapsena juhul kui neid said.<br />
<br />
== '''Blogi''' ==<br />
*'''01.10.17''' - Tiimi loomine <br />
*'''10.10.17''' - Idee arutamine<br />
*'''16.10.17''' - Wiki lehe loomine<br />
*'''20.10.17''' - Viimane koosolek enne idee teostamisega alustamist(Arendusmudeli valimine)<br />
*'''30.10.17''' - Alustasime analüüsi koostamist<br />
*'''04.11.17''' - Analüüs valminud peaksime alustama projekti vundamendi loomist<br />
*'''12.11.17''' - Valmis retsensioon tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VirtualBar VirtualBar]<br />
*'''01.12.17''' - Projekti idee kinnistamine ja osade jagamine<br />
*'''10.12.17''' - Projekti vaadete arutamine ja täpselt paika seadmine<br />
*'''11.12.17''' - Ametlikult programmi loomisega alustamine<br />
*'''13.12.17''' - Esimene koodi osa ja vaate üles panemine versioonihaldusesse<br />
*'''15.12.17''' - Vaadete valmimine, komplikatsioonidest ülesaamine<br />
*'''18.12.17''' - Toimus prototüübi esitamine, mille käigus saime ideid edasiseks tegutsemiseks ja teenisime ka ~8 punkti siiani tehtud töö eest<br />
*'''11.01.18''' - Uuesti tegelema hakkamine, karakteri loomine valmis<br />
*'''14.01.18''' - Koodi formatimine, WPF visuaalid, andmebaaside korrastamine, andmebaasist kustutamise nupp<br />
*'''17.01.18''' - Viimased puudu olevad asjad:<br />
*'''18.01.18''' - Projekti kaitsmine<br />
<br />
<br />
== '''Kasutatav teholoogia''' ==<br />
* C#<br />
* WPF<br />
* LINQ<br />
* TFS<br />
<br />
=='''Versioonihaldus'''==<br />
<br />
Versioonihaldus: [https://eluonlill.visualstudio.com/_git/Liferoad TFS'is]<br />
<br />
=='''Analüüs'''==<br />
* Meie valminud analüüsi on võimalik näha [https://docs.google.com/document/d/1I5khxq2LYCEbLcEyp-QSfQVn8ZzYmZQrgmq_AZJQTpE/edit?usp=sharing siit]<br />
<br />
<br />
<br />
== '''Esialgsed lootused ja ootused projekti suhtes''' ==<br />
<br />
<br />
===Must-have:===<br />
* Elutsüklid<br />
* Igas elutsüklis mingisugused random eventid<br />
* Oskused ja nende arendamine<br />
* Profiili kujunemine<br />
<br />
===Nice-to-have:===<br />
* Palju funktsionaalsust ja variatsiooni<br />
* Vähe piiranguid<br />
* Visuaalselt ilus disain<br />
<br />
===Dream-to-have: ===<br />
*Mäng oleks online ja tekiks ühiskond kus enda käitumine mõjutab ka teiste mängu<br />
<br />
<br />
<br />
== '''Reaalsemad ootused ja lootused''' ==<br />
Kui rakendusega tegelema hakkasime, mõistsime kiiresti, et projekti mahu olime me enda jaoks liiga suureks sättinud. Mõistsime, et isegi meie "must to have" funktsionaalsus oli umbmäärane, lai ja omam mahu tõttu raskesti teostatav. Seega otsustasime oma "must to have" ja "nice to have funktsionaalsuse" ümber sõnastada.<br />
<br />
===Must-have:=== <br />
*Events – sündmused, mis juhtuvad igal eluaastal ja mõjutavad su karakterit kuidagi<br />
*Relationships - karakteril peaksid olema ja tekkima erinevad suhted erinevate isikutega<br />
*Activities – karakter käib koolis, kus ta saab teha erinevaid otsuseid oma elu üle (kontsentreeruda õppimisele või suhtlemisele)<br />
<br />
<br />
===Nice-to-have: ===<br />
*Relationships- Karakter saab oma suthteid isikutega paremini ise „vormindada“, otsustades kellega ta kuidas suhtleb, kui üldse.<br />
*Activities- Kooli kõrvalt on võimalik veel tegeleda ka erinevate hobidega <br />
*Design- Ilus WPF välimus ja funktsionaalsus<br />
<br />
<br />
<br />
<br />
<br />
=='''Arendusprotsess'''==<br />
<br />
Alustasime arendamisega tehes mitu koosolekut arutades läbi enda idee ja seades sellele täpseid parameetreid, et oleks ise endal ka lihtne arusaada, mida keegi tegema peab ja kuidas seda teha üldse. Järgnevalt alustasime koodi kirjutamist sättides paika domeenimudel, järgnevalt luues WPF vaate ja lõpetuseks seades paika teenindusklassid. Palju aega kulus meie tiimil ka versioonihaldusele ja omavahel korralikult kordineerimisele, et tekiks võimalikult vähe overlappimist koodide osas. Enne prototüübi esitamist tegime ka korraliku andmebaasi meie programmile. Esitamise järgnevalt tegelesime seal saadud nõuannetega.<br />
<br />
=='''Kasutusjuhend'''==<br />
Mängu alustades, satub mängija "sisselogimisekraanile", kus on võimalik luua uusi karaktereid, kellega uus mäng alustada või siis laadida juba mõni olemasolev/käiv mäng (samuti saab siin ka olemasolevaid karaktereid kustutada).<br />
Kui mängija on loonud uue karakteri (või valinud olemasoleva), siis vajutades PLAY nupule, viiakse ta põhivaatesse, kus kogu mäng aset leiab. Mängus on karakteril võimalik teha otsuseid, mis mõjutab tema isikuandmeid ja suhteid (need otsused avanevad alles 7. eluaastast). Piltlikult öeldes ongi momendil kogu mängu eesmärk: lõpetada mäng võimalikult heade isikuandmete ja suhetega (momendil lõppeb mäng 20. eluaastal). <br />
<br />
<br />
<br />
'''Mängu Mehaanika'''<br />
* Mäng on käigupõhine<br />
** Iga käik on võimalik teha otsuseid<br />
** Peale igat käiku, muutuvad karakteriandmed lähtuvalt eelmisel käigul tehtud otsustest<br />
* Mängus on "Tegutsemispunktid" (Action Points)<br />
** Otsuseid on võimalik teha ainult nii palju, kui sul on "tegutsemispunkte"<br />
* Karakteri andmed<br />
** Kui tervis langeb karakteril liiga madalale, siis karakter sureb (Game Over)<br />
<br />
<br />
<br />
'''Momendil on põhiekraanil kasutatavad nupud:'''<br />
*Forward Time = Nupp, mida vajutades, möödub 1 aasta. (Selle aasta käigus uuenevad karakteri isikuandmed ja suhted lähtuvalt tema otsustele)<br />
*Save Game (SG) = Nupp, mis salvestab mänguseisu andmebaasi.<br />
*Haridus = Nupp avab haridusvaate, mille all on erinevad otsused, millega koolis tegeleda (üldiselt valik kontsentreeruda kas koolile või suhetele).<br />
<br />
<br />
=='''Lahenduse kirjeldus'''==<br />
"Elu On Lill" mäng, on WPF-il põhinev rakendus, mis disainiti kasutades MVVM arendusmustri põhimõtteid. Selle tõttu on üritatud äriloogikat ja WPF-i spetsiifilist koodi lahus hoida. Nõnda sai ka kirjutatud Kood jaotatud vaatemudelite, domeenide ja teenuste kaustade vahel (Millest viimased kaks, domeenid ja teenused, moodustavad rakenduse valdava äriloogika osa ja vaatemudelid moodustavad WPF spetsiifilise osa). Rakendusel on ka andmebaas, kuhu talletatakse mängu infot. Päringuid andmebaasist teostatakse läbi LINQ<br />
<br />
Andmebaasi moodustavad 6 tabelit<br />
*CurrentGame- (põhimõtteliselt "Save Game")<br />
*Person- Kõik karakterid mängus (nii mängitavad, kui mittemängitavad)<br />
*Relations- Suhted<br />
*PersonRelations- Isikud suhetes<br />
*Events- sündmused<br />
*PersonEvents- Isikud sündmustes<br />
<br />
Eelnimetatutele andmebaasitabelitel on ka vastavad domeenimudelid ja teenindusklassid.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Meeskond:EluOnLill&diff=128959Meeskond:EluOnLill2018-01-18T09:25:31Z<p>Ckirtsi: /* Arendusprotsess */</p>
<hr />
<div><br />
== '''Liikmed''' ==<br />
*Henrik Prangel - Projektijuht<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
<br />
=='''Idee'''==<br />
*Luua mäng, mis simuleerib elu kulgemist<br />
<br />
Mängu algus - tekitame inimese lapsena ja saab valida kuidas alustada oma elu - sotsialiseerumine, õppimine, looming, sport. Nende põhjal tekib see isik, kes siis täiskasvanuna hakkab elu elama.Karakterit luues on random generator mis määrab ära kui kerge ülejäänud mängust on. Vastavalt sellele kuidas siis lapsena valikuid teed mõjutab su tuleviku, palju sporti on kalduvus olla loll sportlane jne. Täiskavanuna tekib juurde uued väärtused raha, kuulsus, jõud, pere ja heaolu. Kõikide näitajate pealt tekib skoor mis näitab kui hea sa siis kokkuvõttes olid, üks mänguprotsess kestab reaalajas kuu aega, aga on olemas ka nupp mis kiirendab mängu. Juhul kui mäng "läbi" saad edasi mängida ühe oma lapsena juhul kui neid said.<br />
<br />
== '''Blogi''' ==<br />
*'''01.10.17''' - Tiimi loomine <br />
*'''10.10.17''' - Idee arutamine<br />
*'''16.10.17''' - Wiki lehe loomine<br />
*'''20.10.17''' - Viimane koosolek enne idee teostamisega alustamist(Arendusmudeli valimine)<br />
*'''30.10.17''' - Alustasime analüüsi koostamist<br />
*'''04.11.17''' - Analüüs valminud peaksime alustama projekti vundamendi loomist<br />
*'''12.11.17''' - Valmis retsensioon tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VirtualBar VirtualBar]<br />
*'''01.12.17''' - Projekti idee kinnistamine ja osade jagamine<br />
*'''10.12.17''' - Projekti vaadete arutamine ja täpselt paika seadmine<br />
*'''11.12.17''' - Ametlikult programmi loomisega alustamine<br />
*'''13.12.17''' - Esimene koodi osa ja vaate üles panemine versioonihaldusesse<br />
*'''15.12.17''' - Vaadete valmimine, komplikatsioonidest ülesaamine<br />
*'''18.12.17''' - Toimus prototüübi esitamine, mille käigus saime ideid edasiseks tegutsemiseks ja teenisime ka ~8 punkti siiani tehtud töö eest<br />
*'''11.01.18''' - Uuesti tegelema hakkamine, karakteri loomine valmis<br />
*'''14.01.18''' - Koodi formatimine, WPF visuaalid, andmebaaside korrastamine, andmebaasist kustutamise nupp<br />
*'''17.01.18''' - Viimased puudu olevad asjad:<br />
*'''18.01.18''' - Projekti kaitsmine<br />
<br />
<br />
== '''Kasutatav teholoogia''' ==<br />
* C#<br />
* WPF<br />
* LINQ<br />
* TFS<br />
<br />
=='''Versioonihaldus'''==<br />
<br />
Versioonihaldus: [https://eluonlill.visualstudio.com/_git/Liferoad TFS'is]<br />
<br />
=='''Analüüs'''==<br />
* Meie valminud analüüsi on võimalik näha [https://docs.google.com/document/d/1I5khxq2LYCEbLcEyp-QSfQVn8ZzYmZQrgmq_AZJQTpE/edit?usp=sharing siit]<br />
<br />
<br />
<br />
== '''Esialgsed lootused ja ootused projekti suhtes''' ==<br />
<br />
<br />
===Must-have:===<br />
* Elutsüklid<br />
* Igas elutsüklis mingisugused random eventid<br />
* Oskused ja nende arendamine<br />
* Profiili kujunemine<br />
<br />
===Nice-to-have:===<br />
* Palju funktsionaalsust ja variatsiooni<br />
* Vähe piiranguid<br />
* Visuaalselt ilus disain<br />
<br />
===Dream-to-have: ===<br />
*Mäng oleks online ja tekiks ühiskond kus enda käitumine mõjutab ka teiste mängu<br />
<br />
<br />
<br />
== '''Reaalsemad ootused ja lootused''' ==<br />
Kui rakendusega tegelema hakkasime, mõistsime kiiresti, et projekti mahu olime me enda jaoks liiga suureks sättinud. Mõistsime, et isegi meie "must to have" funktsionaalsus oli umbmäärane, lai ja omam mahu tõttu raskesti teostatav. Seega otsustasime oma "must to have" ja "nice to have funktsionaalsuse" ümber sõnastada.<br />
<br />
===Must-have:=== <br />
*Events – sündmused, mis juhtuvad igal eluaastal ja mõjutavad su karakterit kuidagi<br />
*Relationships - karakteril peaksid olema ja tekkima erinevad suhted erinevate isikutega<br />
*Activities – karakter käib koolis, kus ta saab teha erinevaid otsuseid oma elu üle (kontsentreeruda õppimisele või suhtlemisele)<br />
<br />
<br />
===Nice-to-have: ===<br />
*Relationships- Karakter saab oma suthteid isikutega paremini ise „vormindada“, otsustades kellega ta kuidas suhtleb, kui üldse.<br />
*Activities- Kooli kõrvalt on võimalik veel tegeleda ka erinevate hobidega <br />
*Design- Ilus WPF välimus ja funktsionaalsus<br />
<br />
<br />
<br />
<br />
<br />
=='''Arendusprotsess'''==<br />
<br />
Alustasime arendamisega tehes mitu koosolekut arutades läbi enda idee ja seades sellele täpseid parameetreid, et oleks ise endal ka lihtne arusaada, mida keegi tegema peab ja kuidas seda teha üldse. Järgnevalt alustasime koodi kirjutamist sättides paika domeenimudel, järgnevalt luues WPF vaate ja lõpetuseks seades paika teenindusklassid. Palju aega kulus meie tiimil ka versioonihaldusele ja omavahel korralikult kordineerimisele, et tekiks võimalikult vähe overlappimist koodide osas.<br />
<br />
=='''Kasutusjuhend'''==<br />
Mängu alustades, satub mängija "sisselogimisekraanile", kus on võimalik luua uusi karaktereid, kellega uus mäng alustada või siis laadida juba mõni olemasolev/käiv mäng (samuti saab siin ka olemasolevaid karaktereid kustutada).<br />
Kui mängija on loonud uue karakteri (või valinud olemasoleva), siis vajutades PLAY nupule, viiakse ta põhivaatesse, kus kogu mäng aset leiab. Mängus on karakteril võimalik teha otsuseid, mis mõjutab tema isikuandmeid ja suhteid (need otsused avanevad alles 7. eluaastast). Piltlikult öeldes ongi momendil kogu mängu eesmärk: lõpetada mäng võimalikult heade isikuandmete ja suhetega (momendil lõppeb mäng 20. eluaastal). <br />
<br />
<br />
<br />
'''Mängu Mehaanika'''<br />
* Mäng on käigupõhine<br />
** Iga käik on võimalik teha otsuseid<br />
** Peale igat käiku, muutuvad karakteriandmed lähtuvalt eelmisel käigul tehtud otsustest<br />
* Mängus on "Tegutsemispunktid" (Action Points)<br />
** Otsuseid on võimalik teha ainult nii palju, kui sul on "tegutsemispunkte"<br />
* Karakteri andmed<br />
** Kui tervis langeb karakteril liiga madalale, siis karakter sureb (Game Over)<br />
<br />
<br />
<br />
'''Momendil on põhiekraanil kasutatavad nupud:'''<br />
*Forward Time = Nupp, mida vajutades, möödub 1 aasta. (Selle aasta käigus uuenevad karakteri isikuandmed ja suhted lähtuvalt tema otsustele)<br />
*Save Game (SG) = Nupp, mis salvestab mänguseisu andmebaasi.<br />
*Haridus = Nupp avab haridusvaate, mille all on erinevad otsused, millega koolis tegeleda (üldiselt valik kontsentreeruda kas koolile või suhetele).<br />
<br />
<br />
=='''Lahenduse kirjeldus'''==<br />
"Elu On Lill" mäng, on WPF-il põhinev rakendus, mis disainiti kasutades MVVM arendusmustri põhimõtteid. Selle tõttu on üritatud äriloogikat ja WPF-i spetsiifilist koodi lahus hoida. Nõnda sai ka kirjutatud Kood jaotatud vaatemudelite, domeenide ja teenuste kaustade vahel (Millest viimased kaks, domeenid ja teenused, moodustavad rakenduse valdava äriloogika osa ja vaatemudelid moodustavad WPF spetsiifilise osa). Rakendusel on ka andmebaas, kuhu talletatakse mängu infot. Päringuid andmebaasist teostatakse läbi LINQ<br />
<br />
Andmebaasi moodustavad 6 tabelit<br />
*CurrentGame- (põhimõtteliselt "Save Game")<br />
*Person- Kõik karakterid mängus (nii mängitavad, kui mittemängitavad)<br />
*Relations- Suhted<br />
*PersonRelations- Isikud suhetes<br />
*Events- sündmused<br />
*PersonEvents- Isikud sündmustes<br />
<br />
Eelnimetatutele andmebaasitabelitel on ka vastavad domeenimudelid ja teenindusklassid.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Meeskond:EluOnLill&diff=128944Meeskond:EluOnLill2018-01-17T19:32:09Z<p>Ckirtsi: /* Blogi */</p>
<hr />
<div><br />
== Liikmed ==<br />
*Henrik Prangel - Projektijuht<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
<br />
== Blogi ==<br />
*'''01.10.17''' - Tiimi loomine <br />
*'''10.10.17''' - Idee arutamine<br />
*'''16.10.17''' - Wiki lehe loomine<br />
*'''20.10.17''' - Viimane koosolek enne idee teostamisega alustamist(Arendusmudeli valimine)<br />
*'''30.10.17''' - Alustasime analüüsi koostamist<br />
*'''04.11.17''' - Analüüs valminud peaksime alustama projekti vundamendi loomist<br />
*'''12.11.17''' - Valmis retsensioon tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VirtualBar VirtualBar]<br />
*'''01.12.17''' - Projekti idee kinnistamine ja osade jagamine<br />
*'''10.12.17''' - Projekti vaadete arutamine ja täpselt paika seadmine<br />
*'''11.12.17''' - Ametlikult programmi loomisega alustamine<br />
*'''13.12.17''' - Esimene koodi osa ja vaate üles panemine versioonihaldusesse<br />
*'''15.12.17''' - Vaadete valmimine, komplikatsioonidest ülesaamine<br />
*'''18.12.17''' - Toimus prototüübi esitamine, mille käigus saime ideid edasiseks tegutsemiseks ja teenisime ka ~8 punkti siiani tehtud töö eest<br />
*'''11.01.18''' - Uuesti tegelema hakkamine, karakteri loomine valmis<br />
*'''14.01.18''' - Koodi formatimine, WPF visuaalid, andmebaaside korrastamine, andmebaasist kustutamise nupp<br />
*'''17.01.18''' - Viimased puudu olevad asjad:<br />
*'''18.01.18''' - Projekti kaitsmine<br />
<br />
==Versioonihaldus==<br />
<br />
Meie meeskonna versioonihaldus on leitav [https://eluonlill.visualstudio.com/_git/Liferoad TFS'is]<br />
<br />
== Idee ==<br />
Luua mäng, mis simuleerib elu<br />
<br />
Mängu algus - tekitame inimese lapsena ja saab valida kuidas alustada oma elu - sotsialiseerumine, õppimine, looming, sport. Nende põhjal tekib see isik, kes siis täiskasvanuna hakkab elu elama.Karakterit luues on random generator mis määrab ära kui kerge ülejäänud mängust on. Vastavalt sellele kuidas siis lapsena valikuid teed mõjutab su tuleviku, palju sporti on kalduvus olla loll sportlane jne. Täiskavanuna tekib juurde uued väärtused raha, kuulsus, jõud, pere ja heaolu. Kõikide näitajate pealt tekib skoor mis näitab kui hea sa siis kokkuvõttes olid, üks mänguprotsess kestab reaalajas kuu aega, aga on olemas ka nupp mis kiirendab mängu. Juhul kui mäng "läbi" saad edasi mängida ühe oma lapsena juhul kui neid said.<br />
<br />
===Must-have:=== <br />
* Elutsüklid<br />
* Igas elutsüklis mingisugused random eventid<br />
* Oskused ja nende arendamine<br />
* Profiili kujunemine<br />
<br />
===Nice-to-have: ===<br />
* Palju funktsionaalsust ja variatsiooni<br />
* Vähe piiranguid<br />
* Visuaalselt ilus disain<br />
<br />
===Dream-to-have: ===<br />
*Mäng oleks online ja tekiks ühiskond kus enda käitumine mõjutab ka teiste mängu<br />
<br />
===Analüüs===<br />
* Meie valminud analüüsi on võimalik näha [https://docs.google.com/document/d/1I5khxq2LYCEbLcEyp-QSfQVn8ZzYmZQrgmq_AZJQTpE/edit?usp=sharing siit]<br />
<br />
==Tehnoloogia==<br />
*C#<br />
*WPF</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2017)&diff=128913Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (2017)2018-01-15T10:54:30Z<p>Ckirtsi: /* Kaitsmise ajad */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. Kasutada arendusprotsessis koodihoidlat.<br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 tudengit(Soovituslik meeskonna suurus on 3-4). Ühel teemal võib teostada projekti üks või mitu meeskonda.Töö käiku kajastatakse https://wiki.itcollege.ee keskkonnas või soovi korral võib seda teha ka ajaveebis(blogis).<br />
Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg ja dokumentatsioon) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas. <br />
<br />
'''Projekti loomine ja arendamine '''<br />
Projekt lisatakse versioonihaldusesse, kasutades selleks [Team Foundation Service'it http://tfs.visualstudio.com/] ning õppejõule antakse ligipääs. Õppejõu live id: maitposka ät hotmail.com . Projekt peab olema alates algfaasist lisatud TFSi ning kogu tööprotsess toimub versioonihaldust kasutades<br />
<br />
'''Tööde esitamine''' (prototüüb ja lõpptoode)<br />
Töö esitamisel pakitakse see kokku ning lisatakse wiki leheküljele link lähtekoodile. Kui töö lähtekoodi ei soovita mingil põhjusel avalikustata, tuleb õppejõuga selle jaoks sõlmida eraldi kokkulepe. Lähtekood on vajalik, et tööd oleks võimalik hinnata nii õppejõul kui kaastudengitel selle kohta retsensiooni kirjutada.<br />
<br />
'''Team Foundation Service kasutamine''' (tänasel päeval '' Visual Studio online'')<br />
[http://www.visualstudio.com/get-started/sign-up-for-visual-studio-online Step-by-Step juhend]<br />
<br />
NB! Versioonihalduse kohta jagab õppejõud materjale.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
Projekt jaguneb alamosadeks, millele on määratud tähtajad. Tähtaegade ületamisel võimalike punkte ei kaotata. Kui töö aga on esitatud tähtajaks, siis on võimalik selle eest teenida boonuspunkte (enamasti 0-10% võimalikust maksimumist boonust). Enne tähtaega esitatud töö ei tähenda automaatselt maksimumpunkte, kui see ei ole sooritatud korralikult.<br />
<br />
<br />
NB! Juhul kui analüüsi tähtajast on möödunud nädal, määrab õppejõud meeskonnale ise vabalt valitud ülesande, mis on võetud näidis teemade alt. Peale seda ei ole võimalik teemat enam muuta.Samuti tähendab see seda, et meeskond ei ole teeninud analüüsi osa eest ühtegi punkti.<br />
<br />
NB2! Juhul kui meeskond ei kaitse prototüüpi, vaid esitab lihtsalt lõpptoote, siis ei ole ka prototüübi eest võimalik punkte teenida.<br />
<br />
==Hindamine==<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 />
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
Retsensiooni miinimum sõnade arv on 250. Esimeses järgus siiski hindamise käigus keskendutatakse sisule, mis on kirja pandud. <br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''22.10.2017''' (2p)<br />
<br />
Tekitatakse meeskonna wiki lehekülg. Meeskonnal peab olema nimi ning see koosneb kolmest kuni viiest liikmest. Määratakse projektijuht. Juhul kui hakatakse blogi pidama kuskil mujal keskkonnas ilmub selle kohta link. Lühidalt peaks kirjeldama idee olemust nii, et selle üldine suund oleks arusaadav. Samuti peab olema märgitud tehnoloogia, milles hakatakse rakendust looma. Meeskond on loonud TFSi konto ning on saatnud õppejõule kutse.<br />
<br />
===Analüüs===<br />
'''05.11.2017''' (4p)<br />
Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.'''NB! Miinimum sõnade arv 700''' Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka:<br />
*Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon: (3p) (12.11.2017)''' <br/><br />
<br />
===Prototüüp + esitlemine===<br />
'''17.12.2017'''(10p)<br />
<br />
Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada). Rakenduses on loodud erinevad vaated, mis võimaldavad ülevaate rakendusest saada.<br />
<br />
<br />
<br />
Enne kaitsmist on meeskond lisanud oma wiki leheküljele ka prototüübi lähtekoodi. Lisaks võiks enne kaitsmist avada ka versioonihalduse ajaloo taustal. Ideaalses maailmas on olemas siin ka lühike Powerpoint, kus on kirjas:<br />
*meeskonna nimi ja liikmed<br />
*töö senine kulg(kuna sai alustatud, missuguseid probleeme on ületatud ja kas midagi takistab tööga edasi liikumist)<br />
*mis on plaanis veel teha?<br />
*kui palju punkte võiks prototüübi eest meeskonna hinangul saada?<br />
<br />
<br />
<br />
<br />
Prototüübi eest teenitakse maksimumpunktid juhul, kui<br />
*projekt on 75% ulatuses valmis, st<br />
**realiseeritud on 75% plaanitud funktsionaalsusest<br />
*rakenduse graafiline osa ei pea olema lõplikult(sillmailu ei ole vaja pakkuda)<br />
*logimine ei pea olema realiseeritud<br />
*kood ei pea olema täielikult kommenteeritud(ehk olemas on olulisemad kommentaarid, kõik meetodid aga ei pea sisaldama kommentaare)<br />
*domeenimudelis ei pea veel olema valideerimisreeglid olemas(DataAnnotations)<br />
*rakenduses võib esineda vigu, mida ei hallata (a'la kui numbrilisele väljale kirjutada "banaan", siis rakendus hangub)<br />
*vähesel määral on lubatud andmebaasiühenduste avamine ja selle kasutamine vaatemudelis ja vaates<br />
*vähesel määral on lubatud olukord, kus loogika on kirjutatud otse vaatesse, ilma vaatemudelita<br />
*andmete databinding ei ole kohustuslik<br />
<br />
Juhul, kui meeskond ei tule oma prototüüpi esitama, siis sellisel juhul on võimalik prototüübi eest saada maksimaalselt 5 punkti. Sellisel juhul on kõige hilisem esitamise aeg 24. detsember. Peale seda ei ole võimalik prototüüpi enam esitada, vaid saab esitada ainult lõpptoote. <br />
<br />
'''Allpool väljatoodud kellaaegadel on vaja kaitsma tulla ainult päevaõppe tudengitel. Kaugõpe peab saatma lihtsalt powerpointi 17. detsembriks koos lähtekoodiga.'''<br />
<br />
====Prototüübi kaitsmise ajad====<br />
Iga meeskond lisab iseseisvalt oma nime vastava aja taha. Aegu tuleks siis vajadusel lisada(15min sammuga) ning täita tuleks kõik ajad järjest.<br />
<br />
18.12.2017<br />
<br />
*12:00 - [https://wiki.itcollege.ee/index.php/Meeskond:EluOnLill EluOnLill]<br />
*12:15 - [https://wiki.itcollege.ee/index.php/Meeskond_Projekt Meeskond_Projekt]<br />
*12:30 - [https://wiki.itcollege.ee/index.php/Meeskond:_.njet .njet]<br />
*12:45 - [https://wiki.itcollege.ee/index.php/Meeskond:_ÄraSööKüpsiseidVoodis ÄraSööKüpsiseidVoodis]<br />
*13:00 - [https://wiki.itcollege.ee/index.php/Meeskond:Lill Lill]<br />
...<br />
..<br />
*16:15 - <br />
<br />
<br />
<br />
21.12.2017<br />
<br />
*10:00 - [https://wiki.itcollege.ee/index.php/Meeskond:XYZ XYZ]<br />
*10:15 - [https://wiki.itcollege.ee/index.php/Meeskond:IT_Squad IT Squad]<br />
*10:30 - [https://wiki.itcollege.ee/index.php/Meeskond:whipround Whipround]<br />
*10:45 - [https://wiki.itcollege.ee/index.php/Meeskond:das_Flugzeug das Flugzeug]<br />
*11:00 - [https://wiki.itcollege.ee/index.php/Meeskond:Scraper Scraper]<br />
*11:15 - [https://wiki.itcollege.ee/index.php/Meeskond_Raavo™ Raavo™]<br />
*11:30 - [https://wiki.itcollege.ee/index.php/Meeskond:_TrackPlace TrackPlace]<br />
*11:45 - [https://wiki.itcollege.ee/index.php/Pakiraam pakiraam]<br />
*12:00 - [https://wiki.itcollege.ee/index.php/Meeskond:VirtualBar VirtualBar]<br />
..<br />
<br />
===Lõpptoode===<br />
(30p)<br />
<br />
Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.<br />
<br />
Tudengid, kes soovivad eksami teha 8. jaanuaril, peavad lõpptoote esitama hiljemalt 8. jaanuaril enne eksami algust.<br />
<br />
Tudengid, kes plaanivad tulla eksamit tegema 24ndal või 26ndal jaanuaril, peavad esitama oma lõpptoote hiljemalt 18. jaanuar. 18. jaanuaril toimub eksamieelne konsultatsioon + kaitsmine. <br />
<br />
'''Retsensioon'''(4p)<br />
<br />
Lõpptoote retsensioon peab valmis olema hiljemalt 23. jaanuar kell 23:59.<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Kokkulepitud ajal enne eksamit''' ''(3p) ''<br />
Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.<br />
<br />
====Kaitsmise ajad====<br />
<br />
'''Päevaõppe kaitsmised toimuvad 18.01.2017 ruumis 316 alates 11:30st'''<br />
<br />
Ideaalne esitlus, sisaldab endas ka powerpointi, kus on<br />
*väljatoodud meeskonna nimi ja liikmed<br />
*idee<br />
*realiseerimine<br />
*mis oli keerukas?<br />
*mida uut õpiti?<br />
*mõnede keerulisemate probleemide lahendamine<br />
*meeskonnaliikmete panus<br />
<br />
'''Kaitsmisele registreerumine<br />
'''<br />
*11.30 - [https://wiki.itcollege.ee/index.php/Meeskond:XYZ XYZ]<br />
*11.45 - [https://wiki.itcollege.ee/index.php/Meeskond:EluOnLill EluOnLill]<br />
*12.00 - [https://wiki.itcollege.ee/index.php/Meeskond_Raavo™ Raavo™]<br />
*12.15 - <br />
*12.30 - <br />
<br />
...(ülesse poole võib aegu järjest juurde lisada 15min vahega. Palun aegu lisada järjest, mitte sisestada peale 12:00 aja näiteks 16:15<br />
<br />
=Teemad 2017 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
**Andmebaasis peab olema vähemalt 6 andmebaasi tabelit<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
**Rakenduses tehtavad tegevused salvestatakse<br />
* Kasutama kasutajaliidesena ühte järgmistest: Windows Presentation Foundation, Windows Phone , Windows Store App või ASP.Net<br />
* Kood on kommenteeritud ning rakendus on varustatud dokumentatsiooniga<br />
* Maksimumpunktide jaoks kasutatakse vastavalt valitud tehnoloogiale soovitatud arendusmustreid<br />
* Kood on kirjutatud C# programmeerimiskeeles<br />
**Kuna aine nimi on "Programmeerimine C# keeles" ei tohi esitada rakendust, mis on loodud Javas, PHPs vms keeles<br />
* Rakendus on jaotatud kihtidesse<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
*Kood on kommenteeritud<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
=Meeskonnad 2017=<br />
==Päevaõpe==<br />
<br />
===Meeskond Demo===<br />
Wiki lehekülg [[Meeskond:Demo]]<br />
Meeskonnaliikmed:<br />
*esimene<br />
*teine<br />
<br />
Analüüsi retsensioon meeskonnale ... asub siin https://wiki.itcollege.ee/index.php/Talk:Kalimali_budget<br />
<br />
===Meeskond X===<br />
<br />
Analüüsi retsensioon meeskonnale Demo: https://wiki.itcollege.ee/index.php/Talk:Meeskond:Demo<br />
<br />
..<br />
<br />
===Meeskond das Flugzeug===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:das_Flugzeug das Flugzeug]<br />
*Frank Koppel<br />
*Teet Adamson<br />
<br />
===Meeskond Whipround===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:whipround Whipround]<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Tarmo Luugus<br />
<br />
Analüüsi retsentsioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:whipround Whipround]<br />
<br />
<br />
===Meeskond .njet===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:_.njet .njet]<br />
*Edgar Tereping<br />
*Priit Järv<br />
*Jane Kaldma<br />
<br />
Analüüsi retsentsioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_ITBaar ITBaar]<br />
<br />
===Meeskond EluOnLill===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:EluOnLill EluOnLill]<br />
*Henrik Prangel<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
'''Retsensioon:''' Tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VirtualBar VirtualBar]<br />
<br />
=== Meeskond EurosDollas ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Eurosdollas EurosDollas]<br />
*Simo Sirkas<br />
*Marten Tammeleht<br />
*Mihkel Tääkre<br />
<br />
Analüüsi retsentsioon rühmale [https://wiki.itcollege.ee/index.php/Talk:Pakiraam Pakiraam]<br />
<br />
=== Meeskond VirtualBar ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:VirtualBar VirtualBar]<br />
*Rando Kurel<br />
*Markus Mänd<br />
*Erik Kaup<br />
<br />
Analüüsi retsentsioon rühmale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:EluOnLill EluOnLill]<br />
<br />
=== Meeskond Raavo™ ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond_Raavo%E2%84%A2 Raavo™ ]<br />
*Kristo Leesmann<br />
*Peeter Fridolin<br />
*Rando Rommot<br />
<br />
Analüüsi retsensioon rühmale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:123 123]<br />
<br />
=== Meeskond IT Squad ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:IT_Squad IT Squad]<br />
*Pavel Fleišer<br />
*Anna Levijeva<br />
*Anton Kuksov<br />
<br />
[https://docs.google.com/document/d/1I-4_8FLZ-S2ftSwv4ARdYjD65xk88VrG8l0iHrTUUcU/edit?usp=sharing Retsensioon tiimi XYZ analüüsile]<br />
<br />
=== Meeskond 123 ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:123 123]<br />
*Paul Richard Lettens<br />
*Helen Riisalu<br />
*Ahto Ahven<br />
<br />
Analüüsi retsensioon meeskonnale XYZ asub siin: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:XYZ XYZ]<br />
<br />
=== Meeskond TrackPlace ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:_TrackPlace TrackPlace]<br />
* Marek Juhanson<br />
* Kaarel Pärtel<br />
* Rauno Lõhmus<br />
* Merilyn Merisalu<br />
<br />
Analüüsi retsensioon meeskonnale Lill asub siin: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Lill Lill]<br />
<br />
=== Meeskond Lill ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:Lill Lill]<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Sven Veelaid<br />
* Karmen Lillemets<br />
* Marite Rammo<br />
<br />
Analüüsi retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_%C3%84raS%C3%B6%C3%B6K%C3%BCpsiseidVoodis ÄraSööKüpsiseidVoodis]<br />
<br />
===Meeskond ITBaar===<br />
Wiki lehekülg [[https://wiki.itcollege.ee/index.php/Meeskond:_ITBaar ITBaar]]<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
Analüüsi retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:whipround Whipround]<br />
<br />
===Meeskond Scraper===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:Scraper Scraper]<br />
*Heidi Koppel<br />
*Ove Kangur<br />
<br />
Retsensiooni tiimile IT Squad leiate siit: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:IT_Squad Retsensioon]<br />
<br />
Lähtekood: [https://kscraper.visualstudio.com/ScraperSolution Scraper]<br />
<br />
===Meeskond Pakiraam===<br />
Wiki lehekülg [[https://wiki.itcollege.ee/index.php/Pakiraam : Pakiraam]]<br />
*Markus Kildemaa<br />
*Indro Kottise<br />
*Kristo Naeris<br />
<br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:whipround Whipround]<br />
<br />
===Meeskond ÄraSööKüpsiseidVoodis===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:_%C3%84raS%C3%B6%C3%B6K%C3%BCpsiseidVoodis ÄraSööKüpsiseidVoodis]<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Valdo Taevere<br />
*Kristina Rästas<br />
<br />
Meeskonna retsensioon tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Raavo%E2%84%A2 Raavo]<br />
<br />
===Meeskond DriimTiimKriim===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:DriimTiimKriim DriimTiimKriim]<br />
*Kaspar Kaal<br />
*Brita Pentšuk<br />
<br />
Retsensioon: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:DriimTiimKriim Das Flugzeug]<br />
<br />
===Meeskond Phoney===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:Phoney Phoney]<br />
*Karl Erik Õunapuu<br />
*Margus Põlma<br />
<br />
===Meeskond XYZ===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:XYZ XYZ]<br />
*Andero Samelselg<br />
*Eve Ormisson<br />
*Kaisa Lindström<br />
<br />
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Scraper Retsensioon tiimi Scraper analüüsile]<br />
<br />
==Kaugõpe==<br />
<br />
===Meeskond: Kalimali budget===<br />
<br />
Wiki leht: [[Kalimali budget]]<br> <br />
<br />
Liikmed:<br />
*'''Katrin Lasberg''' - projektijuht<br />
*Liina Laumets <br />
*Maile Mäesalu <br />
*Liis Talsi<br />
<br />
'''Prototüüp:''' asub [http://enos.itcollege.ee/~llaumets/prototyyp/MyFirstProject/ siin] <br><br />
'''Lõpptoode:'''<br><br />
'''Analüüsi retsensioon''' meeskonnale H2I asub [https://wiki.itcollege.ee/index.php/Talk:H2I siin] <br><br />
<br />
===Meeskond: SharpResto===<br />
<br />
Wiki leht:[[SharpResto]]<br><br />
<br />
Liikmed:<br />
* '''Andres Aava''' - ''projektijuht''<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
<br />
Retsensioon meeskonnale Kalimali_budget: [https://wiki.itcollege.ee/index.php/Talk:Kalimali_budget retsensioon]<br><br />
<br />
===Meeskond: Timeify===<br />
<br />
Wiki leht:[[Timeify]]<br><br />
<br />
Liikmed:<br />
* '''Egert Loss''' - ''projektijuht''<br />
* Priit Rätsep<br />
<br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_TrackPlace TrackPlace]<br />
<br />
===Tiim: Carparts===<br />
<br />
Wiki Leht:[[Carparts]] <br><br />
Liikmed:<br />
* Andres Kõiv<br />
* '''Taivo Liik''' -''projektijuht''<br />
* Peeter Stamberg<br />
<br />
Meeskonna Carparts retsensioon meeskonnale Eurosdollas analüüsile:<br />
https://wiki.itcollege.ee/index.php/Talk:Eurosdollas<br />
<br />
===Meeskond: Hardware Monitoring===<br />
<br />
Wiki leht: [[HardwareMonitoring]]<br />
<br />
Liikmed:<br />
* '''Joonas Ervald''' - ''projektijuht''<br />
* Maie Palmeos<br />
* Jan Pentšuk<br />
<br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:2Do 2Do] <br><br />
<br />
===Meeskond: TeravMDB===<br />
<br />
Wiki Leht: [[TeravMDB]] <br><br />
Liikmed:<br />
* Alan Alliksoo<br />
* '''Aleksandr Petrushihin''' - ''projektijuht''<br />
Retsensioon meeskonna [https://wiki.itcollege.ee/index.php/Talk:SharpResto SharpResto] analüüsile<br />
<br />
===Meeskond: ERROR IM002===<br />
<br />
Wiki Leht: [[ERROR IM002]] <br><br />
Liikmed:<br />
* Ruudi Vinter<br />
* Alvar Suun<br />
* Andres Tambek<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br> <br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:HardwareMonitoring Hardware Monitoring] <br><br />
<br />
===Meeskond: Power Of Two===<br />
<br />
Wiki leht: [[Power Of Two]]<br><br />
Liikmed:<br />
* Andrei Pugatšov - projektijuht<br />
* Anton Meženin<br />
* Rain Kärner<br />
Retsensioon meeskonna TaxiService [https://wiki.itcollege.ee/index.php/Talk:Meeskond:TaxiService analüüsile]<br />
<br />
===Meeskond: PlantWise===<br />
<br />
Wiki leht: [[PlantWise]] <br><br />
Liikmed:<br />
* '''Allar Vendla''' - ''projektijuht''<br />
* Anita Sepp<br />
* Gert Vesterberg<br />
<br />
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Phoney Retsensioon] meeskonna '''Phoney''' analüüsile<br />
<br />
===Meeskond: JEMP===<br />
<br />
Wiki leht: [[JEMP]] <br><br />
Liikmed:<br />
* Jüri Ahhundov<br />
* Erik Ehrbach - Projektijuht<br />
* Marko Linde<br />
* Pille Ulmas<br />
<br />
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:PennyFriends Retsensioon] meeskonna '''PennyFriends''' analüüsile<br />
<br />
[https://drive.google.com/open?id=1wHUeAYH0Hm8Av7N9kVMoWIgHweFI7_-0lXR2rkYw8ss Prototüübi presentatsioon]<br />
<br />
[https://erikehrbach.visualstudio.com/E-valimisrakendus/E-valimisrakendus%20Team/_git/E-valimisrakendus Lähtekood] (kui ligipääs piiratud, palun teada anda erik.ehrbach@itcollege.ee)<br />
<br />
===Meeskond: Memorize===<br />
Meeskonna koduleht: https://mylibrary16.wordpress.com/<br />
<br />
Liikmed:<br />
* Madis Uudam - projektijuht, arendaja<br />
* Olle Mikk - arendaja<br />
<br />
===Meeskond: 2Do===<br />
<br />
Wiki leht: [[2Do]] <br><br />
Liikmed:<br />
* Merike Meizner<br />
* Egert Närep<br />
* Kirstin Saluveer - projektijuht<br />
* Jaak Vaher<br />
<br />
Retsensioon meeskonnale Meeskond_Projekt asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Projekt siin]<br />
<br />
===Meeskond: Ennustajad===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/StockForecaster StockForecaster ] <br><br />
Liikmed:<br />
* Meelis Sääsk - projektijuht<br />
* Andrei Tomba<br />
<br />
Retsensioon meeskonnale Ennustajad: [https://wiki.itcollege.ee/index.php/Talk:StockForecaster siin]<br />
<br />
===Meeskond: PennyFriends===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:PennyFriends PennyFriends] <br><br />
Liikmed:<br />
* Helen Kösta<br />
* Kersti Miller<br />
* Kirke Narusk<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br><br />
'''Retsensioonid:'''<br />
*Analüüsi retsensioon meeskonnale '''Märkmik''' asub [https://wiki.itcollege.ee/index.php/Talk:Märkmik siin]<br />
<br />
===Meeskond: TaxiService===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:TaxiService TaxiService] <br><br />
Liikmed:<br />
* Dmitri Lukas<br />
* Jevgeni Jurtšenko<br />
<br />
===Meeskond: H2I===<br />
Wiki leht: [[H2I]] <br><br />
Liikmed:<br />
* Ingvar Lukas<br />
* Helen Oppar<br />
* Hardi Tiitus<br />
<br />
Analüüsi retsensioon meeskonnale PlantWise asub [https://wiki.itcollege.ee/index.php/Talk:PlantWise siin].<br />
<br />
===Meeskond: Märkmik===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/M%C3%A4rkmik Märkmik] <br><br />
Liikmed:<br />
*Kristiina Keelmann<br />
*Häli Ann Reintam<br />
<br />
Retsensioon meeskonnale H2l: [https://wiki.itcollege.ee/index.php/Talk:H2I Retsensioon 2]<br />
<br />
'''Prototüüp:''' [https://docs.google.com/presentation/d/18VdOyfOU7sBvJnuTOnTaQz7axTHk-Qy020W3aYmbpYw/edit?usp=sharing Slaidid]<br />
<br />
===Meeskond: Meeskond_Projekt===<br />
Wiki lehekülg: [[Meeskond_Projekt]]<br><br />
Meeskonnaliikmed:<br />
*Rahel Kangur<br />
<br />
Retsensioon meeskonna EluOnLill analüüsile: https://wiki.itcollege.ee/index.php/Talk:Meeskond:EluOnLill<br />
<br />
===Meeskond: Kaloriarvutaja===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Kaloriarvutaja Kaloriarvutaja] <br><br />
Liikmed:<br />
*Vjatsheslav Aprelkov - Projektijuht<br />
*Sergei Kaganski<br />
<br />
Retsensioon meeskonnale Kaloriarvutaja: [https://wiki.itcollege.ee/index.php/Talk:Kaloriarvutaja siin]<br />
<br />
===Meeskond: CurrentEur===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/CurrentEur CurrentEur]<br><br />
Meeskonnaliikmed:<br />
*Maarija Mikiver<br />
*Kairi Kallas<br />
<br />
[https://wiki.itcollege.ee/index.php/Meeskond:TeravMDB Retsensioon] meeskonna TeravMDB analüüsile.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Meeskond:EluOnLill&diff=128572Meeskond:EluOnLill2017-12-17T16:40:36Z<p>Ckirtsi: /* Blogi */</p>
<hr />
<div><br />
== Liikmed ==<br />
*Henrik Prangel - Projektijuht<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
<br />
== Blogi ==<br />
*'''01.10.17''' - Tiimi loomine <br />
*'''10.10.17''' - Idee arutamine<br />
*'''16.10.17''' - Wiki lehe loomine<br />
*'''20.10.17''' - Viimane koosolek enne idee teostamisega alustamist(Arendusmudeli valimine)<br />
*'''30.10.17''' - Alustasime analüüsi koostamist<br />
*'''04.11.17''' - Analüüs valminud peaksime alustama projekti vundamendi loomist<br />
*'''12.11.17''' - Valmis retsensioon tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VirtualBar VirtualBar]<br />
*'''01.12.17''' - Projekti idee kinnistamine ja osade jagamine<br />
*'''10.12.17''' - Projekti vaadete arutamine ja täpselt paika seadmine<br />
*'''11.12.17''' - Ametlikult programmi loomisega alustamine<br />
*'''13.12.17''' - Esimene koodi osa ja vaate üles panemine versioonihaldusesse<br />
*'''15.12.17''' - Vaadete valmimine, komplikatsioonidest ülesaamine<br />
<br />
==Versioonihaldus==<br />
<br />
Meie meeskonna versioonihaldus on leitav [https://eluonlill.visualstudio.com/_git/Liferoad TFS'is]<br />
<br />
== Idee ==<br />
Luua mäng, mis simuleerib elu<br />
<br />
Mängu algus - tekitame inimese lapsena ja saab valida kuidas alustada oma elu - sotsialiseerumine, õppimine, looming, sport. Nende põhjal tekib see isik, kes siis täiskasvanuna hakkab elu elama.Karakterit luues on random generator mis määrab ära kui kerge ülejäänud mängust on. Vastavalt sellele kuidas siis lapsena valikuid teed mõjutab su tuleviku, palju sporti on kalduvus olla loll sportlane jne. Täiskavanuna tekib juurde uued väärtused raha, kuulsus, jõud, pere ja heaolu. Kõikide näitajate pealt tekib skoor mis näitab kui hea sa siis kokkuvõttes olid, üks mänguprotsess kestab reaalajas kuu aega, aga on olemas ka nupp mis kiirendab mängu. Juhul kui mäng "läbi" saad edasi mängida ühe oma lapsena juhul kui neid said.<br />
<br />
===Must-have:=== <br />
* Elutsüklid<br />
* Igas elutsüklis mingisugused random eventid<br />
* Oskused ja nende arendamine<br />
* Profiili kujunemine<br />
<br />
===Nice-to-have: ===<br />
* Palju funktsionaalsust ja variatsiooni<br />
* Vähe piiranguid<br />
* Visuaalselt ilus disain<br />
<br />
===Dream-to-have: ===<br />
*Mäng oleks online ja tekiks ühiskond kus enda käitumine mõjutab ka teiste mängu<br />
<br />
===Analüüs===<br />
* Meie valminud analüüsi on võimalik näha [https://docs.google.com/document/d/1I5khxq2LYCEbLcEyp-QSfQVn8ZzYmZQrgmq_AZJQTpE/edit?usp=sharing siit]<br />
<br />
==Tehnoloogia==<br />
*C#<br />
*WPF</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2017)&diff=128564Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (2017)2017-12-17T13:43:06Z<p>Ckirtsi: /* Prototüübi kaitsmise ajad */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. Kasutada arendusprotsessis koodihoidlat.<br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 tudengit(Soovituslik meeskonna suurus on 3-4). Ühel teemal võib teostada projekti üks või mitu meeskonda.Töö käiku kajastatakse https://wiki.itcollege.ee keskkonnas või soovi korral võib seda teha ka ajaveebis(blogis).<br />
Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg ja dokumentatsioon) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas. <br />
<br />
'''Projekti loomine ja arendamine '''<br />
Projekt lisatakse versioonihaldusesse, kasutades selleks [Team Foundation Service'it http://tfs.visualstudio.com/] ning õppejõule antakse ligipääs. Õppejõu live id: maitposka ät hotmail.com . Projekt peab olema alates algfaasist lisatud TFSi ning kogu tööprotsess toimub versioonihaldust kasutades<br />
<br />
'''Tööde esitamine''' (prototüüb ja lõpptoode)<br />
Töö esitamisel pakitakse see kokku ning lisatakse wiki leheküljele link lähtekoodile. Kui töö lähtekoodi ei soovita mingil põhjusel avalikustata, tuleb õppejõuga selle jaoks sõlmida eraldi kokkulepe. Lähtekood on vajalik, et tööd oleks võimalik hinnata nii õppejõul kui kaastudengitel selle kohta retsensiooni kirjutada.<br />
<br />
'''Team Foundation Service kasutamine''' (tänasel päeval '' Visual Studio online'')<br />
[http://www.visualstudio.com/get-started/sign-up-for-visual-studio-online Step-by-Step juhend]<br />
<br />
NB! Versioonihalduse kohta jagab õppejõud materjale.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
Projekt jaguneb alamosadeks, millele on määratud tähtajad. Tähtaegade ületamisel võimalike punkte ei kaotata. Kui töö aga on esitatud tähtajaks, siis on võimalik selle eest teenida boonuspunkte (enamasti 0-10% võimalikust maksimumist boonust). Enne tähtaega esitatud töö ei tähenda automaatselt maksimumpunkte, kui see ei ole sooritatud korralikult.<br />
<br />
<br />
NB! Juhul kui analüüsi tähtajast on möödunud nädal, määrab õppejõud meeskonnale ise vabalt valitud ülesande, mis on võetud näidis teemade alt. Peale seda ei ole võimalik teemat enam muuta.Samuti tähendab see seda, et meeskond ei ole teeninud analüüsi osa eest ühtegi punkti.<br />
<br />
NB2! Juhul kui meeskond ei kaitse prototüüpi, vaid esitab lihtsalt lõpptoote, siis ei ole ka prototüübi eest võimalik punkte teenida.<br />
<br />
==Hindamine==<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 />
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
Retsensiooni miinimum sõnade arv on 250. Esimeses järgus siiski hindamise käigus keskendutatakse sisule, mis on kirja pandud. <br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''22.10.2017''' (2p)<br />
<br />
Tekitatakse meeskonna wiki lehekülg. Meeskonnal peab olema nimi ning see koosneb kolmest kuni viiest liikmest. Määratakse projektijuht. Juhul kui hakatakse blogi pidama kuskil mujal keskkonnas ilmub selle kohta link. Lühidalt peaks kirjeldama idee olemust nii, et selle üldine suund oleks arusaadav. Samuti peab olema märgitud tehnoloogia, milles hakatakse rakendust looma. Meeskond on loonud TFSi konto ning on saatnud õppejõule kutse.<br />
<br />
===Analüüs===<br />
'''05.11.2017''' (4p)<br />
Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.'''NB! Miinimum sõnade arv 700''' Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka:<br />
*Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon: (3p) (12.11.2017)''' <br/><br />
<br />
===Prototüüp + esitlemine===<br />
'''17.12.2017'''(10p)<br />
<br />
Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada). Rakenduses on loodud erinevad vaated, mis võimaldavad ülevaate rakendusest saada.<br />
<br />
<br />
<br />
Enne kaitsmist on meeskond lisanud oma wiki leheküljele ka prototüübi lähtekoodi. Lisaks võiks enne kaitsmist avada ka versioonihalduse ajaloo taustal. Ideaalses maailmas on olemas siin ka lühike Powerpoint, kus on kirjas:<br />
*meeskonna nimi ja liikmed<br />
*töö senine kulg(kuna sai alustatud, missuguseid probleeme on ületatud ja kas midagi takistab tööga edasi liikumist)<br />
*mis on plaanis veel teha?<br />
*kui palju punkte võiks prototüübi eest meeskonna hinangul saada?<br />
<br />
<br />
<br />
<br />
Prototüübi eest teenitakse maksimumpunktid juhul, kui<br />
*projekt on 75% ulatuses valmis, st<br />
**realiseeritud on 75% plaanitud funktsionaalsusest<br />
*rakenduse graafiline osa ei pea olema lõplikult(sillmailu ei ole vaja pakkuda)<br />
*logimine ei pea olema realiseeritud<br />
*kood ei pea olema täielikult kommenteeritud(ehk olemas on olulisemad kommentaarid, kõik meetodid aga ei pea sisaldama kommentaare)<br />
*domeenimudelis ei pea veel olema valideerimisreeglid olemas(DataAnnotations)<br />
*rakenduses võib esineda vigu, mida ei hallata (a'la kui numbrilisele väljale kirjutada "banaan", siis rakendus hangub)<br />
*vähesel määral on lubatud andmebaasiühenduste avamine ja selle kasutamine vaatemudelis ja vaates<br />
*vähesel määral on lubatud olukord, kus loogika on kirjutatud otse vaatesse, ilma vaatemudelita<br />
*andmete databinding ei ole kohustuslik<br />
<br />
Juhul, kui meeskond ei tule oma prototüüpi esitama, siis sellisel juhul on võimalik prototüübi eest saada maksimaalselt 5 punkti. Sellisel juhul on kõige hilisem esitamise aeg 24. detsember. Peale seda ei ole võimalik prototüüpi enam esitada, vaid saab esitada ainult lõpptoote. <br />
<br />
'''Allpool väljatoodud kellaaegadel on vaja kaitsma tulla ainult päevaõppe tudengitel. Kaugõpe peab saatma lihtsalt powerpointi 17. detsembriks koos lähtekoodiga.'''<br />
<br />
====Prototüübi kaitsmise ajad====<br />
Iga meeskond lisab iseseisvalt oma nime vastava aja taha. Aegu tuleks siis vajadusel lisada(15min sammuga) ning täita tuleks kõik ajad järjest.<br />
<br />
18.12.2017<br />
<br />
*12:00 - [https://wiki.itcollege.ee/index.php/Meeskond:EluOnLill EluOnLill]<br />
*12:15 -<br />
*12:30 -<br />
...<br />
..<br />
*16:15 - <br />
<br />
<br />
<br />
21.12.2017<br />
<br />
*10:00 - [https://wiki.itcollege.ee/index.php/Meeskond:XYZ XYZ]<br />
*10:15 - [https://wiki.itcollege.ee/index.php/Meeskond:IT_Squad IT Squad]<br />
*10:30 - [https://wiki.itcollege.ee/index.php/Meeskond:whipround Whipround]<br />
*10:45 - [https://wiki.itcollege.ee/index.php/Meeskond:das_Flugzeug das Flugzeug]<br />
*11:00 - [https://wiki.itcollege.ee/index.php/Meeskond:Scraper Scraper]<br />
*11:15 - [https://wiki.itcollege.ee/index.php/Meeskond_Raavo™ Raavo™]<br />
..<br />
<br />
===Lõpptoode===<br />
(30p)<br />
<br />
Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.<br />
<br />
Tudengid, kes soovivad eksami teha 8. jaanuaril, peavad lõpptoote esitama hiljemalt 8. jaanuaril enne eksami algust.<br />
<br />
Tudengid, kes plaanivad tulla eksamit tegema 24ndal või 26ndal jaanuaril, peavad esitama oma lõpptoote hiljemalt 18. jaanuar. 18. jaanuaril toimub eksamieelne konsultatsioon + kaitsmine. <br />
<br />
'''Retsensioon'''(4p)<br />
<br />
Lõpptoote retsensioon peab valmis olema hiljemalt 23. jaanuar kell 23:59.<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Kokkulepitud ajal enne eksamit''' ''(3p) ''<br />
Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.<br />
<br />
====Kaitsmise ajad====<br />
<br />
<br />
Ideaalne esitlus, sisaldab endas ka powerpointi, kus on<br />
*väljatoodud meeskonna nimi ja liikmed<br />
*idee<br />
*realiseerimine<br />
*mis oli keerukas?<br />
*mida uut õpiti?<br />
*mõnede keerulisemate probleemide lahendamine<br />
*meeskonnaliikmete panus<br />
<br />
=Teemad 2017 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
**Andmebaasis peab olema vähemalt 6 andmebaasi tabelit<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
**Rakenduses tehtavad tegevused salvestatakse<br />
* Kasutama kasutajaliidesena ühte järgmistest: Windows Presentation Foundation, Windows Phone , Windows Store App või ASP.Net<br />
* Kood on kommenteeritud ning rakendus on varustatud dokumentatsiooniga<br />
* Maksimumpunktide jaoks kasutatakse vastavalt valitud tehnoloogiale soovitatud arendusmustreid<br />
* Kood on kirjutatud C# programmeerimiskeeles<br />
**Kuna aine nimi on "Programmeerimine C# keeles" ei tohi esitada rakendust, mis on loodud Javas, PHPs vms keeles<br />
* Rakendus on jaotatud kihtidesse<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
*Kood on kommenteeritud<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
=Meeskonnad 2017=<br />
==Päevaõpe==<br />
<br />
===Meeskond Demo===<br />
Wiki lehekülg [[Meeskond:Demo]]<br />
Meeskonnaliikmed:<br />
*esimene<br />
*teine<br />
<br />
Analüüsi retsensioon meeskonnale ... asub siin https://wiki.itcollege.ee/index.php/Talk:Kalimali_budget<br />
<br />
===Meeskond X===<br />
<br />
Analüüsi retsensioon meeskonnale Demo: https://wiki.itcollege.ee/index.php/Talk:Meeskond:Demo<br />
<br />
..<br />
<br />
===Meeskond das Flugzeug===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:das_Flugzeug das Flugzeug]<br />
*Frank Koppel<br />
*Laura Pirso<br />
*Teet Adamson<br />
<br />
===Meeskond Whipround===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:whipround Whipround]<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Tarmo Luugus<br />
<br />
Analüüsi retsentsioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:whipround Whipround]<br />
<br />
<br />
===Meeskond .njet===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:_.njet .njet]<br />
*Edgar Tereping<br />
*Priit Järv<br />
*Jane Kaldma<br />
<br />
Analüüsi retsentsioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_ITBaar ITBaar]<br />
<br />
===Meeskond EluOnLill===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:EluOnLill EluOnLill]<br />
*Henrik Prangel<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
'''Retsensioon:''' Tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VirtualBar VirtualBar]<br />
<br />
=== Meeskond EurosDollas ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Eurosdollas EurosDollas]<br />
*Simo Sirkas<br />
*Marten Tammeleht<br />
*Mihkel Tääkre<br />
<br />
Analüüsi retsentsioon rühmale [https://wiki.itcollege.ee/index.php/Talk:Pakiraam Pakiraam]<br />
<br />
=== Meeskond VirtualBar ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:VirtualBar VirtualBar]<br />
*Rando Kurel<br />
*Markus Mänd<br />
*Erik Kaup<br />
<br />
Analüüsi retsentsioon rühmale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:EluOnLill EluOnLill]<br />
<br />
=== Meeskond Raavo™ ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond_Raavo%E2%84%A2 Raavo™ ]<br />
*Kristo Leesmann<br />
*Peeter Fridolin<br />
*Rando Rommot<br />
<br />
Analüüsi retsensioon rühmale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:123 123]<br />
<br />
=== Meeskond IT Squad ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:IT_Squad IT Squad]<br />
*Pavel Fleišer<br />
*Anna Levijeva<br />
*Anton Kuksov<br />
<br />
[https://docs.google.com/document/d/1I-4_8FLZ-S2ftSwv4ARdYjD65xk88VrG8l0iHrTUUcU/edit?usp=sharing Retsensioon tiimi XYZ analüüsile]<br />
<br />
=== Meeskond 123 ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:123 123]<br />
*Paul Richard Lettens<br />
*Helen Riisalu<br />
*Ahto Ahven<br />
<br />
Analüüsi retsensioon meeskonnale XYZ asub siin: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:XYZ XYZ]<br />
<br />
=== Meeskond TrackPlace ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:_TrackPlace TrackPlace]<br />
* Marek Juhanson<br />
* Kaarel Pärtel<br />
* Rauno Lõhmus<br />
* Merilyn Merisalu<br />
<br />
Analüüsi retsensioon meeskonnale Lill asub siin: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Lill Lill]<br />
<br />
=== Meeskond Lill ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:Lill Lill]<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Sven Veelaid<br />
* Karmen Lillemets<br />
* Marite Rammo<br />
<br />
Analüüsi retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_%C3%84raS%C3%B6%C3%B6K%C3%BCpsiseidVoodis ÄraSööKüpsiseidVoodis]<br />
<br />
===Meeskond ITBaar===<br />
Wiki lehekülg [[https://wiki.itcollege.ee/index.php/Meeskond:_ITBaar ITBaar]]<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
Analüüsi retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:whipround Whipround]<br />
<br />
===Meeskond Scraper===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:Scraper Scraper]<br />
*Heidi Koppel<br />
*Ove Kangur<br />
<br />
Retsensiooni tiimile IT Squad leiate siit: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:IT_Squad Retsensioon]<br />
<br />
===Meeskond Pakiraam===<br />
Wiki lehekülg [[https://wiki.itcollege.ee/index.php/Pakiraam : Pakiraam]]<br />
*Markus Kildemaa<br />
*Indro Kottise<br />
*Kristo Naeris<br />
<br />
===Meeskond ÄraSööKüpsiseidVoodis===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:_%C3%84raS%C3%B6%C3%B6K%C3%BCpsiseidVoodis ÄraSööKüpsiseidVoodis]<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Valdo Taevere<br />
*Kristina Rästas<br />
<br />
Meeskonna retsensioon tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Raavo%E2%84%A2 Raavo]<br />
<br />
===Meeskond DriimTiimKriim===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:DriimTiimKriim DriimTiimKriim]<br />
*Kaspar Kaal<br />
*Brita Pentšuk<br />
<br />
Retsensioon: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:DriimTiimKriim Das Flugzeug]<br />
<br />
===Meeskond Phoney===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:Phoney Phoney]<br />
*Karl Erik Õunapuu<br />
*Margus Põlma<br />
<br />
===Meeskond XYZ===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:XYZ XYZ]<br />
*Andero Samelselg<br />
*Eve Ormisson<br />
*Kaisa Lindström<br />
<br />
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Scraper Retsensioon tiimi Scraper analüüsile]<br />
<br />
==Kaugõpe==<br />
<br />
===Meeskond: Kalimali budget===<br />
<br />
Wiki leht: [[Kalimali budget]]<br> <br />
<br />
Liikmed:<br />
*'''Katrin Lasberg''' - projektijuht<br />
*Liina Laumets <br />
*Maile Mäesalu <br />
*Liis Talsi<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br><br />
'''Analüüsi retsensioon''' meeskonnale H2I asub [https://wiki.itcollege.ee/index.php/Talk:H2I siin] <br><br />
<br />
===Meeskond: SharpResto===<br />
<br />
Wiki leht:[[SharpResto]]<br><br />
<br />
Liikmed:<br />
* '''Andres Aava''' - ''projektijuht''<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
* Andreas Porman<br />
<br />
Retsensioon meeskonnale Kalimali_budget: [https://wiki.itcollege.ee/index.php/Talk:Kalimali_budget retsensioon]<br><br />
<br />
===Meeskond: Timeify===<br />
<br />
Wiki leht:[[Timeify]]<br><br />
<br />
Liikmed:<br />
* '''Egert Loss''' - ''projektijuht''<br />
* Priit Rätsep<br />
<br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_TrackPlace TrackPlace]<br />
<br />
===Tiim: Carparts===<br />
<br />
Wiki Leht:[[Carparts]] <br><br />
Liikmed:<br />
* Andres Kõiv<br />
* '''Taivo Liik''' -''projektijuht''<br />
* Peeter Stamberg<br />
<br />
Meeskonna Carparts retsensioon meeskonnale Eurosdollas analüüsile:<br />
https://wiki.itcollege.ee/index.php/Talk:Eurosdollas<br />
<br />
===Meeskond: Hardware Monitoring===<br />
<br />
Wiki leht: [[HardwareMonitoring]]<br />
<br />
Liikmed:<br />
* '''Joonas Ervald''' - ''projektijuht''<br />
* Maie Palmeos<br />
* Jan Pentšuk<br />
<br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:2Do 2Do] <br><br />
<br />
===Meeskond: TeravMDB===<br />
<br />
Wiki Leht: [[TeravMDB]] <br><br />
Liikmed:<br />
* Alan Alliksoo<br />
* '''Aleksandr Petrushihin''' - ''projektijuht''<br />
Retsensioon meeskonna [https://wiki.itcollege.ee/index.php/Talk:SharpResto SharpResto] analüüsile<br />
<br />
===Meeskond: ERROR IM002===<br />
<br />
Wiki Leht: [[ERROR IM002]] <br><br />
Liikmed:<br />
* Ruudi Vinter<br />
* Alvar Suun<br />
* Andres Tambek<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br> <br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:HardwareMonitoring Hardware Monitoring] <br><br />
<br />
===Meeskond: Power Of Two===<br />
<br />
Wiki leht: [[Power Of Two]]<br><br />
Liikmed:<br />
* Andrei Pugatšov - projektijuht<br />
* Anton Meženin<br />
* Rain Kärner<br />
Retsensioon meeskonna TaxiService [https://wiki.itcollege.ee/index.php/Talk:Meeskond:TaxiService analüüsile]<br />
<br />
===Meeskond: PlantWise===<br />
<br />
Wiki leht: [[PlantWise]] <br><br />
Liikmed:<br />
* '''Allar Vendla''' - ''projektijuht''<br />
* Anita Sepp<br />
* Gert Vesterberg<br />
<br />
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Phoney Retsensioon] meeskonna '''Phoney''' analüüsile<br />
<br />
===Meeskond: JEMP===<br />
<br />
Wiki leht: [[JEMP]] <br><br />
Liikmed:<br />
* Jüri Ahhundov<br />
* Erik Ehrbach - Projektijuht<br />
* Marko Linde<br />
* Pille Ulmas<br />
<br />
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:PennyFriends Retsensioon] meeskonna '''PennyFriends''' analüüsile<br />
<br />
[https://drive.google.com/open?id=1wHUeAYH0Hm8Av7N9kVMoWIgHweFI7_-0lXR2rkYw8ss Prototüübi presentatsioon]<br />
<br />
[https://erikehrbach.visualstudio.com/E-valimisrakendus/E-valimisrakendus%20Team/_git/E-valimisrakendus Lähtekood] (kui ligipääs piiratud, palun teada anda erik.ehrbach@itcollege.ee)<br />
<br />
===Meeskond: Memorize===<br />
Meeskonna koduleht: https://mylibrary16.wordpress.com/<br />
<br />
Liikmed:<br />
* Madis Uudam - projektijuht, arendaja<br />
* Olle Mikk - arendaja<br />
<br />
===Meeskond: 2Do===<br />
<br />
Wiki leht: [[2Do]] <br><br />
Liikmed:<br />
* Merike Meizner<br />
* Egert Närep<br />
* Kirstin Saluveer - projektijuht<br />
* Jaak Vaher<br />
<br />
Retsensioon meeskonnale Meeskond_Projekt asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Projekt siin]<br />
<br />
===Meeskond: Ennustajad===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/StockForecaster StockForecaster ] <br><br />
Liikmed:<br />
* Meelis Sääsk - projektijuht<br />
* Andrei Tomba<br />
<br />
Retsensioon meeskonnale Ennustajad: [https://wiki.itcollege.ee/index.php/Talk:StockForecaster siin]<br />
<br />
===Meeskond: PennyFriends===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:PennyFriends PennyFriends] <br><br />
Liikmed:<br />
* Helen Kösta<br />
* Kersti Miller<br />
* Kirke Narusk<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br><br />
'''Retsensioonid:'''<br />
*Analüüsi retsensioon meeskonnale '''Märkmik''' asub [https://wiki.itcollege.ee/index.php/Talk:Märkmik siin]<br />
<br />
===Meeskond: TaxiService===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:TaxiService TaxiService] <br><br />
Liikmed:<br />
* Dmitri Lukas<br />
* Jevgeni Jurtšenko<br />
<br />
===Meeskond: H2I===<br />
Wiki leht: [[H2I]] <br><br />
Liikmed:<br />
* Ingvar Lukas<br />
* Helen Oppar<br />
* Hardi Tiitus<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br><br />
'''Retsensioonid:'''<br><br />
<br />
Analüüsi retsensioon meeskonnale PlantWise asub [https://wiki.itcollege.ee/index.php/Talk:PlantWise siin].<br />
<br />
===Meeskond: Märkmik===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/M%C3%A4rkmik Märkmik] <br><br />
Liikmed:<br />
*Kristiina Keelmann<br />
*Häli Ann Reintam<br />
<br />
Retsensioon meeskonnale H2l: [https://wiki.itcollege.ee/index.php/Talk:H2I Retsensioon 2]<br />
<br />
===Meeskond: Meeskond_Projekt===<br />
Wiki lehekülg: [[Meeskond_Projekt]]<br><br />
Meeskonnaliikmed:<br />
*Rahel Kangur<br />
<br />
Retsensioon meeskonna EluOnLill analüüsile: https://wiki.itcollege.ee/index.php/Talk:Meeskond:EluOnLill<br />
<br />
===Meeskond: Kaloriarvutaja===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Kaloriarvutaja Kaloriarvutaja] <br><br />
Liikmed:<br />
*Vjatsheslav Aprelkov - Projektijuht<br />
*Sergei Kaganski<br />
<br />
Retsensioon meeskonnale Kaloriarvutaja: [https://wiki.itcollege.ee/index.php/Talk:Kaloriarvutaja siin]<br />
<br />
===Meeskond: CurrentEur===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/CurrentEur CurrentEur]<br><br />
Meeskonnaliikmed:<br />
*Maarija Mikiver<br />
*Kairi Kallas<br />
<br />
[https://wiki.itcollege.ee/index.php/Meeskond:TeravMDB Retsensioon] meeskonna TeravMDB analüüsile.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Meeskond:EluOnLill&diff=128563Meeskond:EluOnLill2017-12-17T13:41:44Z<p>Ckirtsi: </p>
<hr />
<div><br />
== Liikmed ==<br />
*Henrik Prangel - Projektijuht<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
<br />
== Blogi ==<br />
*'''01.10.17''' - Tiimi loomine <br />
*'''10.10.17''' - Idee arutamine<br />
*'''16.10.17''' - Wiki lehe loomine<br />
*'''20.10.17''' - Viimane koosolek enne idee teostamisega alustamist(Arendusmudeli valimine)<br />
*'''30.10.17''' - Alustasime analüüsi koostamist<br />
*'''04.11.17''' - Analüüs valminud peaksime alustama projekti vundamendi loomist<br />
*'''12.11.17''' - Valmis retsensioon tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VirtualBar VirtualBar]<br />
*'''01.12.17''' - Projekti idee kinnistamine ja osade jagamine<br />
*'''10.12.17''' - Projekti vaadete arutamine ja täpselt paika seadmine<br />
*'''11.12.17''' - Ametlikult programmi loomisega alustamine<br />
*'''13.12.17''' - Esimene koodi osa ja vaate üles panemine versioonihaldusesse<br />
*'''15.12.17''' - Vaadete valmimine, komplikatsioonidest ülesaamine<br />
<br />
== Idee ==<br />
Luua mäng, mis simuleerib elu<br />
<br />
Mängu algus - tekitame inimese lapsena ja saab valida kuidas alustada oma elu - sotsialiseerumine, õppimine, looming, sport. Nende põhjal tekib see isik, kes siis täiskasvanuna hakkab elu elama.Karakterit luues on random generator mis määrab ära kui kerge ülejäänud mängust on. Vastavalt sellele kuidas siis lapsena valikuid teed mõjutab su tuleviku, palju sporti on kalduvus olla loll sportlane jne. Täiskavanuna tekib juurde uued väärtused raha, kuulsus, jõud, pere ja heaolu. Kõikide näitajate pealt tekib skoor mis näitab kui hea sa siis kokkuvõttes olid, üks mänguprotsess kestab reaalajas kuu aega, aga on olemas ka nupp mis kiirendab mängu. Juhul kui mäng "läbi" saad edasi mängida ühe oma lapsena juhul kui neid said.<br />
<br />
===Must-have:=== <br />
* Elutsüklid<br />
* Igas elutsüklis mingisugused random eventid<br />
* Oskused ja nende arendamine<br />
* Profiili kujunemine<br />
<br />
===Nice-to-have: ===<br />
* Palju funktsionaalsust ja variatsiooni<br />
* Vähe piiranguid<br />
* Visuaalselt ilus disain<br />
<br />
===Dream-to-have: ===<br />
*Mäng oleks online ja tekiks ühiskond kus enda käitumine mõjutab ka teiste mängu<br />
<br />
===Analüüs===<br />
* Meie valminud analüüsi on võimalik näha [https://docs.google.com/document/d/1I5khxq2LYCEbLcEyp-QSfQVn8ZzYmZQrgmq_AZJQTpE/edit?usp=sharing siit]<br />
<br />
==Tehnoloogia==<br />
*C#<br />
*WPF</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Talk:Meeskond:VirtualBar&diff=126719Talk:Meeskond:VirtualBar2017-11-12T22:01:28Z<p>Ckirtsi: </p>
<hr />
<div>Retsensioon tiimile VirtualBar<br />
<br />
Analüüs ei asetse kahjuks meeskonna wiki lehel ja sellest tulenevalt ei saa analüüsi õigeaegsuse kohta hinnangut anda, kuna ei ole faili muudatuste ajalugu võimalik jälgida. Analüüsis on lahti kirjutatud tiimi eesmärk, mida valmis tootega teha saaks ning on ka lahti kirjutatud must have ja nice to have funktsionaalsus. <br />
Analüüs annab kiire ning põgusa ülevaate mida valminud toode peaks endast kujutama. <br />
Analüüsis on eraldi välja toodud, et kõige problemaatilisemaks osaks võib osutuda “ausa” alkomeetri tegemine, kuna üks inimene võib osta jooke ka teisele. Analüüsis väljatoodu põhjal jääb see osa natukene arusaamatuks, sest analüüsis ei ole ära mainitud, et jooke saaks osta ka kellelegi teisele, kui ainult mängijale endile. <br />
On ka toodud välja eraldi tööjaotuse pealkiri, kuid see on jäetud tühjaks. Tekib küsimus, et miks see üldse tehti, kui sinna ei kirjutatud midagi. <br />
Kirjeldatud on ka projekti must have ja nice to have funktisonaalsus. Kuid oleks soovinud, et analüüsi põhiosas oleks räägitud rohkem kuidas plaanitakse funktsionaalsust siduda antud projektiga. Näiteks pangakaarid pin koodi küsimine, oleks soovinud teada, et millal antakse mängijale kood, mis juhtub kui ta koodi valesti paneb ning millal küsitakse mängijalt koodi. Üleüldiselt on funktsionaalsus teemakohane ja mõistlik. <br />
<br />
Sõnade arv on 387.<br />
NB! Lause: ”Mängu põhimõte oleks siis selline.” võiks millegi muuga asendada.<br />
<br />
<br />
Retsenseeris meeskond: [https://wiki.itcollege.ee/index.php/Meeskond:EluOnLill EluOnLill]</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Meeskond:EluOnLill&diff=126717Meeskond:EluOnLill2017-11-12T22:00:11Z<p>Ckirtsi: /* Blogi */</p>
<hr />
<div><br />
== Liikmed ==<br />
*Henrik Prangel - Projektijuht<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
<br />
== Blogi ==<br />
*'''01.10.17''' - Tiimi loomine <br />
*'''10.10.17''' - Idee arutamine<br />
*'''16.10.17''' - Wiki lehe loomine<br />
*'''20.10.17''' - Viimane koosolek enne idee teostamisega alustamist(Arendusmudeli valimine)<br />
*'''30.10.17''' - Alustasime analüüsi koostamist<br />
*'''04.11.17''' - Analüüs valminud, alustame projekti vundamendi loomist<br />
*'''12.11.17''' - Valmis retsensioon tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VirtualBar VirtualBar]<br />
<br />
== Idee ==<br />
Luua mäng, mis simuleerib elu<br />
<br />
Mängu algus - tekitame inimese lapsena ja saab valida kuidas alustada oma elu - sotsialiseerumine, õppimine, looming, sport. Nende põhjal tekib see isik, kes siis täiskasvanuna hakkab elu elama.Karakterit luues on random generator mis määrab ära kui kerge ülejäänud mängust on. Vastavalt sellele kuidas siis lapsena valikuid teed mõjutab su tuleviku, palju sporti on kalduvus olla loll sportlane jne. Täiskavanuna tekib juurde uued väärtused raha, kuulsus, jõud, pere ja heaolu. Kõikide näitajate pealt tekib skoor mis näitab kui hea sa siis kokkuvõttes olid, üks mänguprotsess kestab reaalajas kuu aega, aga on olemas ka nupp mis kiirendab mängu. Juhul kui mäng "läbi" saad edasi mängida ühe oma lapsena juhul kui neid said.<br />
<br />
===Must-have:=== <br />
* Elutsüklid<br />
* Igas elutsüklis mingisugused random eventid<br />
* Oskused ja nende arendamine<br />
* Profiili kujunemine<br />
<br />
===Nice-to-have: ===<br />
* Palju funktsionaalsust ja variatsiooni<br />
* Vähe piiranguid<br />
* Visuaalselt ilus disain<br />
<br />
===Dream-to-have: ===<br />
*Mäng oleks online ja tekiks ühiskond kus enda käitumine mõjutab ka teiste mängu<br />
<br />
===Analüüs===<br />
* Meie valminud analüüsi on võimalik näha [https://docs.google.com/document/d/1I5khxq2LYCEbLcEyp-QSfQVn8ZzYmZQrgmq_AZJQTpE/edit?usp=sharing siit]<br />
<br />
==Tehnoloogia==<br />
*C#<br />
*WPF</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2017)&diff=126716Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (2017)2017-11-12T21:57:24Z<p>Ckirtsi: /* Meeskond EluOnLill */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. Kasutada arendusprotsessis koodihoidlat.<br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 tudengit(Soovituslik meeskonna suurus on 3-4). Ühel teemal võib teostada projekti üks või mitu meeskonda.Töö käiku kajastatakse https://wiki.itcollege.ee keskkonnas või soovi korral võib seda teha ka ajaveebis(blogis).<br />
Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg ja dokumentatsioon) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas. <br />
<br />
'''Projekti loomine ja arendamine '''<br />
Projekt lisatakse versioonihaldusesse, kasutades selleks [Team Foundation Service'it http://tfs.visualstudio.com/] ning õppejõule antakse ligipääs. Õppejõu live id: maitposka ät hotmail.com . Projekt peab olema alates algfaasist lisatud TFSi ning kogu tööprotsess toimub versioonihaldust kasutades<br />
<br />
'''Tööde esitamine''' (prototüüb ja lõpptoode)<br />
Töö esitamisel pakitakse see kokku ning lisatakse wiki leheküljele link lähtekoodile. Kui töö lähtekoodi ei soovita mingil põhjusel avalikustata, tuleb õppejõuga selle jaoks sõlmida eraldi kokkulepe. Lähtekood on vajalik, et tööd oleks võimalik hinnata nii õppejõul kui kaastudengitel selle kohta retsensiooni kirjutada.<br />
<br />
'''Team Foundation Service kasutamine''' (tänasel päeval '' Visual Studio online'')<br />
[http://www.visualstudio.com/get-started/sign-up-for-visual-studio-online Step-by-Step juhend]<br />
<br />
NB! Versioonihalduse kohta jagab õppejõud materjale.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
Projekt jaguneb alamosadeks, millele on määratud tähtajad. Tähtaegade ületamisel võimalike punkte ei kaotata. Kui töö aga on esitatud tähtajaks, siis on võimalik selle eest teenida boonuspunkte (enamasti 0-10% võimalikust maksimumist boonust). Enne tähtaega esitatud töö ei tähenda automaatselt maksimumpunkte, kui see ei ole sooritatud korralikult.<br />
<br />
<br />
NB! Juhul kui analüüsi tähtajast on möödunud nädal, määrab õppejõud meeskonnale ise vabalt valitud ülesande, mis on võetud näidis teemade alt. Peale seda ei ole võimalik teemat enam muuta.Samuti tähendab see seda, et meeskond ei ole teeninud analüüsi osa eest ühtegi punkti.<br />
<br />
NB2! Juhul kui meeskond ei kaitse prototüüpi, vaid esitab lihtsalt lõpptoote, siis ei ole ka prototüübi eest võimalik punkte teenida.<br />
<br />
==Hindamine==<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 />
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
Retsensiooni miinimum sõnade arv on 250. Esimeses järgus siiski hindamise käigus keskendutatakse sisule, mis on kirja pandud. <br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''22.10.2017''' (2p)<br />
<br />
Tekitatakse meeskonna wiki lehekülg. Meeskonnal peab olema nimi ning see koosneb kolmest kuni viiest liikmest. Määratakse projektijuht. Juhul kui hakatakse blogi pidama kuskil mujal keskkonnas ilmub selle kohta link. Lühidalt peaks kirjeldama idee olemust nii, et selle üldine suund oleks arusaadav. Samuti peab olema märgitud tehnoloogia, milles hakatakse rakendust looma. Meeskond on loonud TFSi konto ning on saatnud õppejõule kutse.<br />
<br />
===Analüüs===<br />
'''05.11.2017''' (4p)<br />
Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.'''NB! Miinimum sõnade arv 700''' Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka:<br />
*Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon: (3p) (12.11.2017)''' <br/><br />
<br />
===Prototüüp + esitlemine===<br />
'''17.12.2017'''(10p)<br />
<br />
Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada). Rakenduses on loodud erinevad vaated, mis võimaldavad ülevaate rakendusest saada.<br />
<br />
===Lõpptoode===<br />
(30p)<br />
<br />
Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.<br />
<br />
'''Retsensioon'''(4p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Kokkulepitud ajal enne eksamit''' ''(3p) ''<br />
Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.<br />
<br />
====Kaitsmise ajad====<br />
<br />
<br />
Ideaalne esitlus, sisaldab endas ka powerpointi, kus on<br />
*väljatoodud meeskonna nimi ja liikmed<br />
*idee<br />
*realiseerimine<br />
*mis oli keerukas?<br />
*mida uut õpiti?<br />
*mõnede keerulisemate probleemide lahendamine<br />
*meeskonnaliikmete panus<br />
<br />
=Teemad 2017 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
**Andmebaasis peab olema vähemalt 6 andmebaasi tabelit<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
**Rakenduses tehtavad tegevused salvestatakse<br />
* Kasutama kasutajaliidesena ühte järgmistest: Windows Presentation Foundation, Windows Phone , Windows Store App või ASP.Net<br />
* Kood on kommenteeritud ning rakendus on varustatud dokumentatsiooniga<br />
* Maksimumpunktide jaoks kasutatakse vastavalt valitud tehnoloogiale soovitatud arendusmustreid<br />
* Kood on kirjutatud C# programmeerimiskeeles<br />
**Kuna aine nimi on "Programmeerimine C# keeles" ei tohi esitada rakendust, mis on loodud Javas, PHPs vms keeles<br />
* Rakendus on jaotatud kihtidesse<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
*Kood on kommenteeritud<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
=Meeskonnad 2017=<br />
==Päevaõpe==<br />
<br />
===Meeskond Demo===<br />
Wiki lehekülg [[Meeskond:Demo]]<br />
Meeskonnaliikmed:<br />
*esimene<br />
*teine<br />
<br />
Analüüsi retsensioon meeskonnale ... asub siin https://wiki.itcollege.ee/index.php/Talk:Kalimali_budget<br />
<br />
===Meeskond X===<br />
<br />
Analüüsi retsensioon meeskonnale Demo: https://wiki.itcollege.ee/index.php/Talk:Meeskond:Demo<br />
<br />
..<br />
<br />
===Meeskond das Flugzeug===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:das_Flugzeug das Flugzeug]<br />
*Frank Koppel<br />
*Laura Pirso<br />
*Teet Adamson<br />
<br />
===Meeskond Whipround===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:whipround Whipround]<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Tarmo Luugus<br />
<br />
===Meeskond .njet===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:_.njet .njet]<br />
*Edgar Tereping<br />
*Priit Järv<br />
*Jane Kaldma<br />
<br />
Analüüsi retsentsioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_ITBaar ITBaar]<br />
<br />
===Meeskond EluOnLill===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:EluOnLill EluOnLill]<br />
*Henrik Prangel<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
'''Retsensioon:''' Tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VirtualBar VirtualBar]<br />
<br />
=== Meeskond EurosDollas ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Eurosdollas EurosDollas]<br />
*Simo Sirkas<br />
*Marten Tammeleht<br />
*Mihkel Tääkre<br />
<br />
=== Meeskond VirtualBar ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:VirtualBar VirtualBar]<br />
*Rando Kurel<br />
*Markus Mänd<br />
*Erik Kaup<br />
<br />
Analüüsi retsentsioon rühmale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:EluOnLill EluOnLill]<br />
<br />
=== Meeskond Raavo™ ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond_Raavo%E2%84%A2 Raavo™ ]<br />
*Kristo Leesmann<br />
*Peeter Fridolin<br />
*Rando Rommot<br />
<br />
=== Meeskond IT Squad ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:IT_Squad IT Squad]<br />
*Pavel Fleišer<br />
*Anna Levijeva<br />
*Anton Kuksov<br />
<br />
=== Meeskond 123 ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:123 123]<br />
*Paul Richard Lettens<br />
*Helen Riisalu<br />
*Ahto Ahven<br />
<br />
Analüüsi retsensioon meeskonnale XYZ asub siin: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:XYZ XYZ]<br />
<br />
=== Meeskond TrackPlace ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:_TrackPlace TrackPlace]<br />
* Marek Juhanson<br />
* Rauno Lõhmus<br />
* Merilyn Merisalu<br />
<br />
Analüüsi retsensioon meeskonnale Lill asub siin: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Lill Lill]<br />
<br />
=== Meeskond Lill ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:Lill Lill]<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Sven Veelaid<br />
* Karmen Lillemets<br />
* Marite Rammo<br />
<br />
Analüüsi retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_%C3%84raS%C3%B6%C3%B6K%C3%BCpsiseidVoodis ÄraSööKüpsiseidVoodis]<br />
<br />
===Meeskond ITBaar===<br />
Wiki lehekülg [[https://wiki.itcollege.ee/index.php/Meeskond:_ITBaar ITBaar]]<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
Analüüsi retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:whipround Whipround]<br />
<br />
===Meeskond Scraper===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:Scraper Scraper]<br />
*Heidi Koppel<br />
*Ove Kangur<br />
<br />
Retsensiooni tiimile IT Squad leiate siit: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:IT_Squad Retsensioon]<br />
<br />
===Meeskond Pakiraam===<br />
Wiki lehekülg [[https://wiki.itcollege.ee/index.php/Pakiraam : Pakiraam]]<br />
*Markus Kildemaa<br />
*Indro Kottise<br />
*Kristo Naeris<br />
<br />
===Meeskond ÄraSööKüpsiseidVoodis===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:_%C3%84raS%C3%B6%C3%B6K%C3%BCpsiseidVoodis ÄraSööKüpsiseidVoodis]<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Valdo Taevere<br />
*Kristina Rästas<br />
<br />
Meeskonna retsensioon tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Raavo%E2%84%A2 Raavo]<br />
<br />
===Meeskond DriimTiimKriim===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:DriimTiimKriim DriimTiimKriim]<br />
*Kaspar Kaal<br />
*Brita Pentšuk<br />
<br />
===Meeskond Phoney===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:Phoney Phoney]<br />
*Karl Erik Õunapuu<br />
*Margus Põlma<br />
<br />
===Meeskond XYZ===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:XYZ XYZ]<br />
*Andero Samelselg<br />
*Eve Ormisson<br />
*Kaisa Lindström<br />
<br />
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Scraper Retsensioon tiimi Scraper analüüsile]<br />
<br />
==Kaugõpe==<br />
<br />
===Meeskond: Kalimali budget===<br />
<br />
Wiki leht: [[Kalimali budget]]<br> <br />
<br />
Liikmed:<br />
*'''Katrin Lasberg''' - projektijuht<br />
*Liina Laumets <br />
*Maile Mäesalu <br />
*Liis Talsi<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br><br />
'''Analüüsi retsensioon''' meeskonnale H2I asub [https://wiki.itcollege.ee/index.php/Talk:H2I siin] <br><br />
'''Retsensioonid:''' meeskond: SharpResto. [https://wiki.itcollege.ee/index.php/Talk:Kalimali_budget Retsensioon]<br><br />
<br />
===Meeskond: SharpResto===<br />
<br />
Wiki leht:[[SharpResto]]<br><br />
<br />
Liikmed:<br />
* '''Andres Aava''' - ''projektijuht''<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
* Andreas Porman<br />
<br />
===Meeskond: Timeify===<br />
<br />
Wiki leht:[[Timeify]]<br><br />
<br />
Liikmed:<br />
* '''Egert Loss''' - ''projektijuht''<br />
* Priit Rätsep<br />
<br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_TrackPlace TrackPlace]<br />
<br />
===Tiim: Carparts===<br />
<br />
Wiki Leht:[[Carparts]] <br><br />
Liikmed:<br />
* Andres Kõiv<br />
* '''Taivo Liik''' -''projektijuht''<br />
* Peeter Stamberg<br />
<br />
Meeskonna Carparts retsensioon meeskonnale Eurosdollas analüüsile:<br />
https://wiki.itcollege.ee/index.php/Talk:Eurosdollas<br />
<br />
===Meeskond: Hardware Monitoring===<br />
<br />
Wiki leht: [[HardwareMonitoring]]<br />
<br />
Liikmed:<br />
* '''Joonas Ervald''' - ''projektijuht''<br />
* Maie Palmeos<br />
* Jan Pentšuk<br />
<br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:2Do 2Do] <br><br />
<br />
===Meeskond: TeravMDB===<br />
<br />
Wiki Leht: [[TeravMDB]] <br><br />
Liikmed:<br />
* Alan Alliksoo<br />
* '''Aleksandr Petrushihin''' - ''projektijuht''<br />
* Anni-Bessie Kitt<br />
* Marie Udam<br />
Retsensioon meskonna [https://wiki.itcollege.ee/index.php/Talk:SharpResto SharpResto] analüüsile<br />
<br />
===Meeskond: ERROR IM002===<br />
<br />
Wiki Leht: [[ERROR IM002]] <br><br />
Liikmed:<br />
* Ruudi Vinter<br />
* Alvar Suun<br />
* Andres Tambek<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br> <br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:HardwareMonitoring Hardware Monitoring] <br><br />
<br />
===Meeskond: Power Of Two===<br />
<br />
Wiki leht: [[Power Of Two]]<br><br />
Liikmed:<br />
* Andrei Pugatšov - projektijuht<br />
* Anton Meženin<br />
* Rain Kärner<br />
Retsensioon meeskonna TaxiService [https://wiki.itcollege.ee/index.php/Talk:Meeskond:TaxiService analüüsile]<br />
<br />
===Meeskond: PlantWise===<br />
<br />
Wiki leht: [[PlantWise]] <br><br />
Liikmed:<br />
* '''Allar Vendla''' - ''projektijuht''<br />
* Anita Sepp<br />
* Gert Vesterberg<br />
<br />
===Meeskond: JEMP===<br />
<br />
Wiki leht: [[JEMP]] <br><br />
Liikmed:<br />
* Jüri Ahhundov<br />
* Erik Ehrbach - Projektijuht<br />
* Marko Linde<br />
* Pille Ulmas<br />
<br />
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:PennyFriends Retsensioon] meeskonna '''PennyFriends''' analüüsile<br />
<br />
===Meeskond: Memorize===<br />
Meeskonna koduleht: https://mylibrary16.wordpress.com/<br />
<br />
Liikmed:<br />
* Madis Uudam - projektijuht, arendaja<br />
* Olle Mikk - arendaja<br />
<br />
===Meeskond: 2Do===<br />
<br />
Wiki leht: [[2Do]] <br><br />
Liikmed:<br />
* Merike Meizner<br />
* Egert Närep<br />
* Kirstin Saluveer - projektijuht<br />
* Jaak Vaher<br />
<br />
Retsensioon meeskonnale Meeskond_Projekt asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Projekt siin]<br />
<br />
===Meeskond: Ennustajad===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/StockForecaster StockForecaster ] <br><br />
Liikmed:<br />
* Meelis Sääsk - projektijuht<br />
* Andrei Tomba<br />
<br />
Retsensioon meeskonnale Ennustajad: [https://wiki.itcollege.ee/index.php/Talk:StockForecaster siin]<br />
<br />
===Meeskond: PennyFriends===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:PennyFriends PennyFriends] <br><br />
Liikmed:<br />
* Helen Kösta<br />
* Kersti Miller<br />
* Kirke Narusk<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br><br />
'''Retsensioonid:'''<br />
*Analüüsi retsensioon meeskonnale '''Märkmik''' asub [https://wiki.itcollege.ee/index.php/Talk:Märkmik siin]<br />
<br />
===Meeskond: TaxiService===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:TaxiService TaxiService] <br><br />
Liikmed:<br />
* Dmitri Lukas<br />
* Jevgeni Jurtšenko<br />
<br />
===Meeskond: H2I===<br />
Wiki leht: [[H2I]] <br><br />
Liikmed:<br />
* Ingvar Lukas<br />
* Helen Oppar<br />
* Hardi Tiitus<br />
<br />
Analüüsi retsensioon meeskonnale PlantWise asub [https://wiki.itcollege.ee/index.php/Talk:PlantWise siin].<br />
<br />
===Meeskond: Märkmik===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/M%C3%A4rkmik Märkmik] <br><br />
Liikmed:<br />
*Kristiina Keelmann<br />
*Häli Ann Reintam<br />
<br />
Retsensioon meeskonnale H2l: [https://wiki.itcollege.ee/index.php/Talk:H2I Retsensioon 2]<br />
<br />
===Meeskond: Meeskond_Projekt===<br />
Wiki lehekülg: [[Meeskond_Projekt]]<br><br />
Meeskonnaliikmed:<br />
*Rahel Kangur<br />
<br />
Retsensioon meeskonna EluOnLill analüüsile: https://wiki.itcollege.ee/index.php/Talk:Meeskond:EluOnLill<br />
<br />
===Meeskond: Kaloriarvutaja===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Kaloriarvutaja Kaloriarvutaja] <br><br />
Liikmed:<br />
*Vjatsheslav Aprelkov - Projektijuht<br />
*Sergei Kaganski<br />
<br />
Retsensioon meeskonnale Kaloriarvutaja: [https://wiki.itcollege.ee/index.php/Talk:Kaloriarvutaja siin]<br />
<br />
===Meeskond: CurrentEur===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/CurrentEur CurrentEur]<br><br />
Meeskonnaliikmed:<br />
*Maarija Mikiver<br />
*Kairi Kallas<br />
<br />
[https://wiki.itcollege.ee/index.php/Meeskond:TeravMDB Retsensioon] meeskonna TeravMDB analüüsile.</div>Ckirtsihttps://wiki.itcollege.ee/index.php?title=Juhend:_Kodut%C3%B6%C3%B6_aines_%22Programmeerimine_CSharp_keeles%22_(2017)&diff=126714Juhend: Kodutöö aines "Programmeerimine CSharp keeles" (2017)2017-11-12T21:56:53Z<p>Ckirtsi: /* Meeskond EluOnLill */</p>
<hr />
<div>=Kodutöö aines "Programmeerimine C# keeles"=<br />
<br />
==Eesmärk==<br />
Saada praktiline arenduskogemus .NET keskkonnas ning arendada meeskonnatöö kogemust ja analüüsivõimet. Kasutada arendusprotsessis koodihoidlat.<br />
<br />
==Reeglid==<br />
Ühte projektimeeskonda kuulub 3-5 tudengit(Soovituslik meeskonna suurus on 3-4). Ühel teemal võib teostada projekti üks või mitu meeskonda.Töö käiku kajastatakse https://wiki.itcollege.ee keskkonnas või soovi korral võib seda teha ka ajaveebis(blogis).<br />
Ajaveebi pidamise eesmärke on kaks: nii on võimalik kirja panna kõik mõtted ja ideed (ning nendest jääb jälg ja dokumentatsioon) ning õppejõul on hiljem võimalik saada ülevaade iga projektimeeskonna liikme panusest. Ajaveebi loob ja ajaveebi haldab projektimeeskond vabalt valitud (avalikus) keskkonnas. <br />
<br />
'''Projekti loomine ja arendamine '''<br />
Projekt lisatakse versioonihaldusesse, kasutades selleks [Team Foundation Service'it http://tfs.visualstudio.com/] ning õppejõule antakse ligipääs. Õppejõu live id: maitposka ät hotmail.com . Projekt peab olema alates algfaasist lisatud TFSi ning kogu tööprotsess toimub versioonihaldust kasutades<br />
<br />
'''Tööde esitamine''' (prototüüb ja lõpptoode)<br />
Töö esitamisel pakitakse see kokku ning lisatakse wiki leheküljele link lähtekoodile. Kui töö lähtekoodi ei soovita mingil põhjusel avalikustata, tuleb õppejõuga selle jaoks sõlmida eraldi kokkulepe. Lähtekood on vajalik, et tööd oleks võimalik hinnata nii õppejõul kui kaastudengitel selle kohta retsensiooni kirjutada.<br />
<br />
'''Team Foundation Service kasutamine''' (tänasel päeval '' Visual Studio online'')<br />
[http://www.visualstudio.com/get-started/sign-up-for-visual-studio-online Step-by-Step juhend]<br />
<br />
NB! Versioonihalduse kohta jagab õppejõud materjale.<br />
<br />
==Tähtaegadest kinnipidamine==<br />
Projekt jaguneb alamosadeks, millele on määratud tähtajad. Tähtaegade ületamisel võimalike punkte ei kaotata. Kui töö aga on esitatud tähtajaks, siis on võimalik selle eest teenida boonuspunkte (enamasti 0-10% võimalikust maksimumist boonust). Enne tähtaega esitatud töö ei tähenda automaatselt maksimumpunkte, kui see ei ole sooritatud korralikult.<br />
<br />
<br />
NB! Juhul kui analüüsi tähtajast on möödunud nädal, määrab õppejõud meeskonnale ise vabalt valitud ülesande, mis on võetud näidis teemade alt. Peale seda ei ole võimalik teemat enam muuta.Samuti tähendab see seda, et meeskond ei ole teeninud analüüsi osa eest ühtegi punkti.<br />
<br />
NB2! Juhul kui meeskond ei kaitse prototüüpi, vaid esitab lihtsalt lõpptoote, siis ei ole ka prototüübi eest võimalik punkte teenida.<br />
<br />
==Hindamine==<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 />
Maksimumtulemuse saavutamiseks peab projekt olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus. Tehnilisi ja vormistuslike puudujääke on võimalik korvata lisavõimaluste realiseerimisega.Üldjuhul tuleb loodud lahendust ka praktikumides või loengutes teistele tudengitele tutvustada (ca 10 min).<br />
Nagu eelpool mainitud, koosneb projekt erinevatest osadest. Punktide arvu määramisel arvestatakse ka tähtajast kinni pidamist, mille toimimisloogika on kirjeldatud eespool.<br />
<br />
Retsensiooni miinimum sõnade arv on 250. Esimeses järgus siiski hindamise käigus keskendutatakse sisule, mis on kirja pandud. <br />
<br />
===Meeskonna kokkupanek ja idee===<br />
'''22.10.2017''' (2p)<br />
<br />
Tekitatakse meeskonna wiki lehekülg. Meeskonnal peab olema nimi ning see koosneb kolmest kuni viiest liikmest. Määratakse projektijuht. Juhul kui hakatakse blogi pidama kuskil mujal keskkonnas ilmub selle kohta link. Lühidalt peaks kirjeldama idee olemust nii, et selle üldine suund oleks arusaadav. Samuti peab olema märgitud tehnoloogia, milles hakatakse rakendust looma. Meeskond on loonud TFSi konto ning on saatnud õppejõule kutse.<br />
<br />
===Analüüs===<br />
'''05.11.2017''' (4p)<br />
Analüütilise osa eesmärgiks on arendada tudengite analüüsioskust, mida on vaja ka päris tarkvaraarenduse protsessi juures.'''NB! Miinimum sõnade arv 700''' Selle osa käigus peab valmima loodava rakenduse analüüs, mis sisaldab muu hulgas ka:<br />
*Analüüs rakendusele. (Mida see endas sisaldab? Mis on selle eesmärk? Mida tavakasutaja sellega teha saaks? Milliste osade realiseerimine võib osutuda problemaatiliseks?) Kui on tööjaotus paigas, siis tuua ka see välja.<br />
*Tuua välja nimekiri funktsionaalsusest, mida plaanitakse kindlasti teostada(''Must have'')<br />
*Nimekiri funktsionaalsustest, mis võiks olla, aga mida ei pruugita ajapuuduse tõttu realiseerida.(''Nice to have'')<br />
<br />
'''Retsensioon: (3p) (12.11.2017)''' <br/><br />
<br />
===Prototüüp + esitlemine===<br />
'''17.12.2017'''(10p)<br />
<br />
Valmib projekti esmane realisatsioon. Laias laastus on peafunktsionaalsused realiseeritud(Nimekiri funktsionaalsusest, mida plaanitakse teostada). Rakenduses on loodud erinevad vaated, mis võimaldavad ülevaate rakendusest saada.<br />
<br />
===Lõpptoode===<br />
(30p)<br />
<br />
Selleks faasiks peab projekt maksimumpuntkide saavutamiseks olema teostatud tehniliselt veatult ning varustatud dokumentatsiooniga, milles sisaldub arendusprotsessi kirjeldus (peab selguma ka iga rühmaliikme panus projekti teostamisel), kasutajajuhend ning lahenduse kirjeldus.<br />
<br />
'''Retsensioon'''(4p)<br />
<br />
===Esitlus/Kaitsmine=== <br />
<br />
'''Kokkulepitud ajal enne eksamit''' ''(3p) ''<br />
Esitlusel kaitstakse projekti. Tutvustatakse tehnoloogiat, mida kasutati rakenduse realiseerimiseks. Lühidalt räägitakse tööjaotusest ning probleemidest, mis tekkisid projekti realiseerimisel. Näidatakse lähtekoodi ja demonstreeritakse oma rakendust teistele tudengitele, kes võivad selle kohta küsimusi küsida. Kestvus ~20min.<br />
<br />
====Kaitsmise ajad====<br />
<br />
<br />
Ideaalne esitlus, sisaldab endas ka powerpointi, kus on<br />
*väljatoodud meeskonna nimi ja liikmed<br />
*idee<br />
*realiseerimine<br />
*mis oli keerukas?<br />
*mida uut õpiti?<br />
*mõnede keerulisemate probleemide lahendamine<br />
*meeskonnaliikmete panus<br />
<br />
=Teemad 2017 sügis=<br />
Kodutööna tuleb luua:<br />
<br />
==Nõuded rakendusele==<br />
Loodav rakendus peab:<br />
* Peab kasutama andmebaasi (erikokkuleppel ka XML formaadis andmeallikat)<br />
**Andmebaasis peab olema vähemalt 6 andmebaasi tabelit<br />
* Peab võimaldama tegevuste kohta registri pidamist (logi)<br />
**Rakenduses tehtavad tegevused salvestatakse<br />
* Kasutama kasutajaliidesena ühte järgmistest: Windows Presentation Foundation, Windows Phone , Windows Store App või ASP.Net<br />
* Kood on kommenteeritud ning rakendus on varustatud dokumentatsiooniga<br />
* Maksimumpunktide jaoks kasutatakse vastavalt valitud tehnoloogiale soovitatud arendusmustreid<br />
* Kood on kirjutatud C# programmeerimiskeeles<br />
**Kuna aine nimi on "Programmeerimine C# keeles" ei tohi esitada rakendust, mis on loodud Javas, PHPs vms keeles<br />
* Rakendus on jaotatud kihtidesse<br />
'''Loodav rakendus peab olema loodud objektorienteeritud lähenemist kasutades!''' Klassid, klassid, klassid<br />
*Kood on kommenteeritud<br />
<br />
Lisapunkte annab:<br />
* Silmailu<br />
* Kood on kirjutatud häid praktikaid järgides ja on veatu(testimine, testimine, testimine)<br />
* Orginaalsed ideed ja hea äriidee<br />
<br />
==Kodune raamatukogu==<br />
Kodudes on tihti erinevaid raamatuid (filme, muud nänni) ja sõbrad tahavad neid vahel laenutada.<br />
Loo rakendus, mis<br />
* Võimaldaks sisestada kodused raamatud<br />
* Võimaldaks luua laenutajate profiile<br />
* Raamatuid välja laenutada (tähtajaliselt)<br />
* Laseks koostada erinevaid aruandeid (kodusolevad raamatud, väljalaenutatud raamatud, tähtaja ületanud laenutused jne)<br />
<br />
<br />
Lisavõimalused<br />
* Kui laenutaja profiilis on e-mail, siis saada automaatselt e-kiri „kallis sõber see ja see, Sinu käes on minu raamat, kas tood tagasi ka?”<br />
* Kuva hoiatused, kui laenutaja laenutuste ajalugu on vilets või kui mõni raamat on tagastamata.<br />
* Lase lisada raamatutele pilt<br />
* Loo lihtne veebiliides (et sõbrad saaksid veebist vaadata, mis raamatud kasutajal kodus veel alles on)<br />
Või<br />
<br />
==CRM==<br />
Oma klientidest peab olema ülevaade.<br />
Loo rakendus, mis võimaldab:<br />
* Kliente ning nende kontaktisikuid sisestada, muuta ning kustutada<br />
* Võimalda sisestada kliendikontakte<br />
* Koostada hinnapakkumisi klientidele, kusjuures hinnapakkumine lisatakse süsteemi ka kui kliendikontakt ning saadetakse samast süsteemist kliendile.<br />
* Kliendi andmete vaatamisel kuvatakse ka kliendikontaktid<br />
<br />
<br />
Lisavõimalused<br />
* Loo võimalus, kus kontaktisiku sünnipäeva saabumisel saadetakse automaatselt inimesele meil õnnesoovidega<br />
* Õnnitlusmeilide template’sid võiks olla mitu<br />
* Loo võimalus kliendi huvide (huvialade) kajastamiseks süsteemis<br />
<br />
=Meeskonnad 2017=<br />
==Päevaõpe==<br />
<br />
===Meeskond Demo===<br />
Wiki lehekülg [[Meeskond:Demo]]<br />
Meeskonnaliikmed:<br />
*esimene<br />
*teine<br />
<br />
Analüüsi retsensioon meeskonnale ... asub siin https://wiki.itcollege.ee/index.php/Talk:Kalimali_budget<br />
<br />
===Meeskond X===<br />
<br />
Analüüsi retsensioon meeskonnale Demo: https://wiki.itcollege.ee/index.php/Talk:Meeskond:Demo<br />
<br />
..<br />
<br />
===Meeskond das Flugzeug===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:das_Flugzeug das Flugzeug]<br />
*Frank Koppel<br />
*Laura Pirso<br />
*Teet Adamson<br />
<br />
===Meeskond Whipround===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:whipround Whipround]<br />
*Leho Kivistik<br />
*Hannes Mäeorg<br />
*Tarmo Luugus<br />
<br />
===Meeskond .njet===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:_.njet .njet]<br />
*Edgar Tereping<br />
*Priit Järv<br />
*Jane Kaldma<br />
<br />
Analüüsi retsentsioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_ITBaar ITBaar]<br />
<br />
===Meeskond EluOnLill===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:EluOnLill EluOnLill]<br />
*Henrik Prangel<br />
*Kert Saarma<br />
*Carlos Kirtsi<br />
*'''Retsensioon:''' Tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond:VirtualBar VirtualBar]<br />
<br />
=== Meeskond EurosDollas ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Eurosdollas EurosDollas]<br />
*Simo Sirkas<br />
*Marten Tammeleht<br />
*Mihkel Tääkre<br />
<br />
=== Meeskond VirtualBar ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:VirtualBar VirtualBar]<br />
*Rando Kurel<br />
*Markus Mänd<br />
*Erik Kaup<br />
<br />
Analüüsi retsentsioon rühmale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:EluOnLill EluOnLill]<br />
<br />
=== Meeskond Raavo™ ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond_Raavo%E2%84%A2 Raavo™ ]<br />
*Kristo Leesmann<br />
*Peeter Fridolin<br />
*Rando Rommot<br />
<br />
=== Meeskond IT Squad ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:IT_Squad IT Squad]<br />
*Pavel Fleišer<br />
*Anna Levijeva<br />
*Anton Kuksov<br />
<br />
=== Meeskond 123 ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:123 123]<br />
*Paul Richard Lettens<br />
*Helen Riisalu<br />
*Ahto Ahven<br />
<br />
Analüüsi retsensioon meeskonnale XYZ asub siin: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:XYZ XYZ]<br />
<br />
=== Meeskond TrackPlace ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:_TrackPlace TrackPlace]<br />
* Marek Juhanson<br />
* Rauno Lõhmus<br />
* Merilyn Merisalu<br />
<br />
Analüüsi retsensioon meeskonnale Lill asub siin: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:Lill Lill]<br />
<br />
=== Meeskond Lill ===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:Lill Lill]<br />
* Alo Avi<br />
* Arnika Rästa<br />
* Sven Veelaid<br />
* Karmen Lillemets<br />
* Marite Rammo<br />
<br />
Analüüsi retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_%C3%84raS%C3%B6%C3%B6K%C3%BCpsiseidVoodis ÄraSööKüpsiseidVoodis]<br />
<br />
===Meeskond ITBaar===<br />
Wiki lehekülg [[https://wiki.itcollege.ee/index.php/Meeskond:_ITBaar ITBaar]]<br />
*Christo Aruste<br />
*Heleriin Malkov<br />
*Tõnis Prants<br />
<br />
Analüüsi retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:whipround Whipround]<br />
<br />
===Meeskond Scraper===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:Scraper Scraper]<br />
*Heidi Koppel<br />
*Ove Kangur<br />
<br />
Retsensiooni tiimile IT Squad leiate siit: [https://wiki.itcollege.ee/index.php/Talk:Meeskond:IT_Squad Retsensioon]<br />
<br />
===Meeskond Pakiraam===<br />
Wiki lehekülg [[https://wiki.itcollege.ee/index.php/Pakiraam : Pakiraam]]<br />
*Markus Kildemaa<br />
*Indro Kottise<br />
*Kristo Naeris<br />
<br />
===Meeskond ÄraSööKüpsiseidVoodis===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:_%C3%84raS%C3%B6%C3%B6K%C3%BCpsiseidVoodis ÄraSööKüpsiseidVoodis]<br />
*Simo Jaanus<br />
*Artur Tammiste<br />
*Valdo Taevere<br />
*Kristina Rästas<br />
<br />
Meeskonna retsensioon tiimile [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Raavo%E2%84%A2 Raavo]<br />
<br />
===Meeskond DriimTiimKriim===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:DriimTiimKriim DriimTiimKriim]<br />
*Kaspar Kaal<br />
*Brita Pentšuk<br />
<br />
===Meeskond Phoney===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:Phoney Phoney]<br />
*Karl Erik Õunapuu<br />
*Margus Põlma<br />
<br />
===Meeskond XYZ===<br />
Wiki lehekülg [https://wiki.itcollege.ee/index.php/Meeskond:XYZ XYZ]<br />
*Andero Samelselg<br />
*Eve Ormisson<br />
*Kaisa Lindström<br />
<br />
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:Scraper Retsensioon tiimi Scraper analüüsile]<br />
<br />
==Kaugõpe==<br />
<br />
===Meeskond: Kalimali budget===<br />
<br />
Wiki leht: [[Kalimali budget]]<br> <br />
<br />
Liikmed:<br />
*'''Katrin Lasberg''' - projektijuht<br />
*Liina Laumets <br />
*Maile Mäesalu <br />
*Liis Talsi<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br><br />
'''Analüüsi retsensioon''' meeskonnale H2I asub [https://wiki.itcollege.ee/index.php/Talk:H2I siin] <br><br />
'''Retsensioonid:''' meeskond: SharpResto. [https://wiki.itcollege.ee/index.php/Talk:Kalimali_budget Retsensioon]<br><br />
<br />
===Meeskond: SharpResto===<br />
<br />
Wiki leht:[[SharpResto]]<br><br />
<br />
Liikmed:<br />
* '''Andres Aava''' - ''projektijuht''<br />
* Henri Annilo<br />
* Jaan Koolmeister<br />
* Lauri Üksti<br />
* Andreas Porman<br />
<br />
===Meeskond: Timeify===<br />
<br />
Wiki leht:[[Timeify]]<br><br />
<br />
Liikmed:<br />
* '''Egert Loss''' - ''projektijuht''<br />
* Priit Rätsep<br />
<br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:Meeskond:_TrackPlace TrackPlace]<br />
<br />
===Tiim: Carparts===<br />
<br />
Wiki Leht:[[Carparts]] <br><br />
Liikmed:<br />
* Andres Kõiv<br />
* '''Taivo Liik''' -''projektijuht''<br />
* Peeter Stamberg<br />
<br />
Meeskonna Carparts retsensioon meeskonnale Eurosdollas analüüsile:<br />
https://wiki.itcollege.ee/index.php/Talk:Eurosdollas<br />
<br />
===Meeskond: Hardware Monitoring===<br />
<br />
Wiki leht: [[HardwareMonitoring]]<br />
<br />
Liikmed:<br />
* '''Joonas Ervald''' - ''projektijuht''<br />
* Maie Palmeos<br />
* Jan Pentšuk<br />
<br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:2Do 2Do] <br><br />
<br />
===Meeskond: TeravMDB===<br />
<br />
Wiki Leht: [[TeravMDB]] <br><br />
Liikmed:<br />
* Alan Alliksoo<br />
* '''Aleksandr Petrushihin''' - ''projektijuht''<br />
* Anni-Bessie Kitt<br />
* Marie Udam<br />
Retsensioon meskonna [https://wiki.itcollege.ee/index.php/Talk:SharpResto SharpResto] analüüsile<br />
<br />
===Meeskond: ERROR IM002===<br />
<br />
Wiki Leht: [[ERROR IM002]] <br><br />
Liikmed:<br />
* Ruudi Vinter<br />
* Alvar Suun<br />
* Andres Tambek<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br> <br />
Retsensioon meeskonnale [https://wiki.itcollege.ee/index.php/Talk:HardwareMonitoring Hardware Monitoring] <br><br />
<br />
===Meeskond: Power Of Two===<br />
<br />
Wiki leht: [[Power Of Two]]<br><br />
Liikmed:<br />
* Andrei Pugatšov - projektijuht<br />
* Anton Meženin<br />
* Rain Kärner<br />
Retsensioon meeskonna TaxiService [https://wiki.itcollege.ee/index.php/Talk:Meeskond:TaxiService analüüsile]<br />
<br />
===Meeskond: PlantWise===<br />
<br />
Wiki leht: [[PlantWise]] <br><br />
Liikmed:<br />
* '''Allar Vendla''' - ''projektijuht''<br />
* Anita Sepp<br />
* Gert Vesterberg<br />
<br />
===Meeskond: JEMP===<br />
<br />
Wiki leht: [[JEMP]] <br><br />
Liikmed:<br />
* Jüri Ahhundov<br />
* Erik Ehrbach - Projektijuht<br />
* Marko Linde<br />
* Pille Ulmas<br />
<br />
[https://wiki.itcollege.ee/index.php/Talk:Meeskond:PennyFriends Retsensioon] meeskonna '''PennyFriends''' analüüsile<br />
<br />
===Meeskond: Memorize===<br />
Meeskonna koduleht: https://mylibrary16.wordpress.com/<br />
<br />
Liikmed:<br />
* Madis Uudam - projektijuht, arendaja<br />
* Olle Mikk - arendaja<br />
<br />
===Meeskond: 2Do===<br />
<br />
Wiki leht: [[2Do]] <br><br />
Liikmed:<br />
* Merike Meizner<br />
* Egert Närep<br />
* Kirstin Saluveer - projektijuht<br />
* Jaak Vaher<br />
<br />
Retsensioon meeskonnale Meeskond_Projekt asub [https://wiki.itcollege.ee/index.php/Talk:Meeskond_Projekt siin]<br />
<br />
===Meeskond: Ennustajad===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/StockForecaster StockForecaster ] <br><br />
Liikmed:<br />
* Meelis Sääsk - projektijuht<br />
* Andrei Tomba<br />
<br />
Retsensioon meeskonnale Ennustajad: [https://wiki.itcollege.ee/index.php/Talk:StockForecaster siin]<br />
<br />
===Meeskond: PennyFriends===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:PennyFriends PennyFriends] <br><br />
Liikmed:<br />
* Helen Kösta<br />
* Kersti Miller<br />
* Kirke Narusk<br />
<br />
'''Prototüüp:'''<br><br />
'''Lõpptoode:'''<br><br />
'''Retsensioonid:'''<br />
*Analüüsi retsensioon meeskonnale '''Märkmik''' asub [https://wiki.itcollege.ee/index.php/Talk:Märkmik siin]<br />
<br />
===Meeskond: TaxiService===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Meeskond:TaxiService TaxiService] <br><br />
Liikmed:<br />
* Dmitri Lukas<br />
* Jevgeni Jurtšenko<br />
<br />
===Meeskond: H2I===<br />
Wiki leht: [[H2I]] <br><br />
Liikmed:<br />
* Ingvar Lukas<br />
* Helen Oppar<br />
* Hardi Tiitus<br />
<br />
Analüüsi retsensioon meeskonnale PlantWise asub [https://wiki.itcollege.ee/index.php/Talk:PlantWise siin].<br />
<br />
===Meeskond: Märkmik===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/M%C3%A4rkmik Märkmik] <br><br />
Liikmed:<br />
*Kristiina Keelmann<br />
*Häli Ann Reintam<br />
<br />
Retsensioon meeskonnale H2l: [https://wiki.itcollege.ee/index.php/Talk:H2I Retsensioon 2]<br />
<br />
===Meeskond: Meeskond_Projekt===<br />
Wiki lehekülg: [[Meeskond_Projekt]]<br><br />
Meeskonnaliikmed:<br />
*Rahel Kangur<br />
<br />
Retsensioon meeskonna EluOnLill analüüsile: https://wiki.itcollege.ee/index.php/Talk:Meeskond:EluOnLill<br />
<br />
===Meeskond: Kaloriarvutaja===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/Kaloriarvutaja Kaloriarvutaja] <br><br />
Liikmed:<br />
*Vjatsheslav Aprelkov - Projektijuht<br />
*Sergei Kaganski<br />
<br />
Retsensioon meeskonnale Kaloriarvutaja: [https://wiki.itcollege.ee/index.php/Talk:Kaloriarvutaja siin]<br />
<br />
===Meeskond: CurrentEur===<br />
Wiki leht: [https://wiki.itcollege.ee/index.php/CurrentEur CurrentEur]<br><br />
Meeskonnaliikmed:<br />
*Maarija Mikiver<br />
*Kairi Kallas<br />
<br />
[https://wiki.itcollege.ee/index.php/Meeskond:TeravMDB Retsensioon] meeskonna TeravMDB analüüsile.</div>Ckirtsi