Meeskond "ASP-tastic"
Meeskond
- Indrek Kõue - Teenus ja teenuse testimine, API võtme genereerimine, teenuse statistika, kasutajate audentimine + salasõna SHA hash, Wiki täiendamine, codeplex seadistamine, veebiklient, teenuse kaitsmine, andmebaasi andmemudel, XML koostamine & idee
- Taivo Türnpu - andmebaasi andmemudel, XML koostamine & idee
- Jarko Kaskmaa - XML koostamine & idee
Punktidejaotus
- Indrek Kõue - 30p
- Jarko Kaskmaa - 30p
Arvustuste kirjutajatele
koodi link: http://vr2.codeplex.com NB! ülevaadet on võimalik teha AINULT koolis, kuna teistelt IP aadressidelt pole andmebaasi ühenduse loomine lubatud! (MySQL)
Idee
Kui olete kokku puutunud natuke tihedama jõusaalitreeninguga on teil kindlasti tihti tulnud endalt küsida küsimusi stiilis "Mis harjutus mul järgmisena kavas oli?", "Mis harjutust nüüd võiks teha?" jne. Variant on muidugi ka minna jõusaali paberilehega, kus on siin prinditud kujul või lausa ise joonistatud kena tabel, kus on teie harjutused peal.
Aga kumma te enne koju unustate, oma nutitelefoni(mis tänapäeval on üha enam ühe kaasaaegse inimese standardvarustus) või selle paberilehe. Pigem viimase, eks? Aga miks üldse vedada kaasas mingi lehte, kui taskus on nagunii nutifon, mis teeb 101 imet? Sellepärast, et keegi polnud viitsinud kergesti portaali ja mobiili appi ühedada. Meie nimelt üritame seda teha.
Välja peaks lõpuks tulema treeningpäevik internetis, mis ühildub vastava Androidi või WP7 (ka iPhonega mõnel ilusal päeval ehk võib olla kunagi) jooksutava nutifoniga :)
Arendajatele
XML
<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xml" href="xml.xsl"?>
<schedule>
<day>
<date>1299011724</date>
<item>
<positionInList>1</positionInList>
<excercise>Kükk</excercise>
<series>3</series>
<reps>6-8</reps>
<time></time>
<weigth>90</weigth>
<description>Korralik täiskükk</description>
<comment></comment>
<category>
<muscleGroup>Reied</muscleGroup>
<muscleGroup>Sääred</muscleGroup>
<muscleGroup>Alaselg</muscleGroup>
</category>
</item>
<item>
<positionInList>2</positionInList>
<excercise>Jõutõmme</excercise>
<series>4</series>
<reps>5</reps>
<time></time>
<weigth>120</weigth>
<description></description>
<comment>See nädal on kerge jõutõmme</comment>
<category>
<muscleGroup>Alaselg</muscleGroup>
<muscleGroup>Kõik jalg</muscleGroup>
<muscleGroup>Trapetslihas</muscleGroup>
</category>
</item>
</day>
</schedule>
XML Schema
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="schedule">
<xs:complexType>
<xs:sequence>
<xs:element name="day">
<xs:complexType>
<xs:sequence>
<xs:element name="date" type="xs:unsignedInt" />
<xs:element maxOccurs="unbounded" name="item">
<xs:complexType>
<xs:sequence>
<xs:element name="positionInList" type="xs:unsignedByte" />
<xs:element name="excercise" type="xs:string" />
<xs:element name="series" type="xs:string" />
<xs:element name="reps" type="xs:string" />
<xs:element name="time" type="xs:string" />
<xs:element name="weigth" type="xs:unsignedByte" />
<xs:element name="description" type="xs:string" />
<xs:element name="comment" type="xs:string" />
<xs:element name="category">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="muscleGroup" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:template match="/">
<html>
<body>
<h2>
Tänane kava
</h2>
<h3>
Kava kuupäev (Unix timestamp):
<xsl:value-of select="schedule/day/date"/>
</h3>
<table border="1">
<tr bgcolor="#9acd32">
<th>
Jrk nr
</th>
<th>
Harjutus
</th>
<th>
Seeriaid
</th>
<th>
Korduseid
</th>
<th>
Aeg
</th>
<th>
Raskus
</th>
<th>
Kirjeldus
</th>
<th>
Kommentaar
</th>
<th>
Lihasgrupid
</th>
</tr>
<xsl:for-each select="schedule/day/item">
<tr>
<td>
<xsl:value-of select="positionInList"/>
</td>
<td>
<xsl:value-of select="excercise"/>
</td>
<td>
<xsl:value-of select="series"/>
</td>
<td>
<xsl:value-of select="reps"/>
</td>
<td>
<xsl:value-of select="time"/>
</td>
<td>
<xsl:value-of select="weigth"/>
</td>
<td>
<xsl:value-of select="description"/>
</td>
<td>
<xsl:value-of select="comment"/>
</td>
<td>
<ul>
<xsl:for-each select="category/muscleGroup">
<li>
<xsl:value-of select="."/>
</li>
</xsl:for-each>
</ul>
</td>
</tr>
</xsl:for-each>
</table>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
ERD
Teenus
Logi
28.02.2011
XML jms loomine
24.02.2011
Ühendan MySql andmebaasi .Net raamistikuga. Väga vaevaline ja närvesööv.
24.02.2011
Otsustasin kasutada ODBC teeke (vaja paigaldada igasse masinasse kus rakendust käitatakse)
30.02.2011
Töötan teenuse kirjutamise ja testimise kallal
10.03.2011
API võtme genereerimine ning statistika implementeeritud
25.04.2011
Täiendasin wikit
01.05.2011
Teenus läbis uuenduskuuri, palju uusi võimalusi
09.05.2011
Teenus kaitstud
31.05.2011
Uurisime millist teenust kasutada
01.06.2011
Esialgu otsustsime, et valime Flickri, kuid teiseks valikuks jäi YouTube
02.06.2011
Valisime siiski YouTube
Mõtlesime, mida rakendus peaks sisaldama. Tegime valmis lehed
03.06.2011
Taivo tegi dummy lehe, kus testida lemmikute lisamist, laikimist ja dislaikimist.
Ei saanud tööle, mingil põhjusel tuleb bad request
Valmis sai tehtud videote vaatamise leht. (video vaatamine, lisatud seotud videod, video kirjeldus).
Nüüd lisatud ka kommentaarid
04.06.2011
Tegime valmis ülejäänud lehtede funktsionaalsuse ja kujundasime lehe ümber.
05.06.2011
Taivo proovis veel valmis saada laikimist, kuid ei õnnestunud
Lõpparuanne
Idee oli selline, et välja peaks lõpuks tulema treeningpäevik internetis, mis ühildub vastava Androidi või WP7 (ka iPhonega mõnel ilusal päeval ehk võib olla kunagi) jooksutava nutifoniga :). Kuid paraku ei edenenud asjad sellises tempos, et saaks kõik määratud eesmärgid täidetud.
Alustades oli motivatsioon küllaltki kõrge, kuid mida rohkem aeg edasi läks, seda see väiksemaks see muutus. Huvi vähesus tulenes sellest, et aeg oli väga piiratud (palju muid asju vaja teha, nagu üliõpilastel ikka), ning tegelesime igapäevaselt tööl huvitavamate projektidega.
Teenuse saime valmis õigeks ajaks, kuid Youtube klient valmis viimasel hetkel.
Teenus võimaldab kasutajate audentimist, registreerimist, API võtme genereerimist ja API võtme järgi teenuse kasutamise statistika genereerimist. Lisaks on võimalik lisada kavasse harjutusi ning muuta ja kustutada neid. Sama on võimalik teha ka raskustega.
YouTube kliendi puhul on võimalik videosid otsida ja vaadata. Vaadata on võimalik erinevate kategooriate järgi nagu enim hinnatud, enim vaadatud. Videode puhul näeb vaatamiste arvu, kommentaaride arvu ning kõiki kommentaare. Meie kliendi eeliseks on see, et näeb ka peidetud kommentaare (videod mille puhul on kommentaarid kinni keeratud).
Teenuse puhul tekkis probleeme MySql andmebaasiga ühendamisel, kuid koodi versioonimisega mingeid probleeme polnud.