Meeskond "ASP-tastic"

From ICO wiki
Jump to navigationJump to search

Asjad mis on vaja teha

  • teenus lõpetada(LoadSchedule, InsertSchedule, UpdateProgress)
  • teenus implementeerida veebirakendusse (kava lisamine, muutmine, progressi täiustamine)
  • teha klient (veebirakendus, Android rakendus, Windows Phone 7 rakendus või midagi muud, mis suhtleks meie rakendusega AINULT teenuse kaudu) mille kaudu saaks lisada/muuta/täiustada kava.
  • testida

Kui need punktid on kõik tehtud, siis on VR2 aine eksamieeldus täidetud. Valmis peab see olema järgmiseks esmaspäevaks (2. mai).


Meeskond

  • Indrek Kõue - Veebiliides, teenus, API võtme genereerimine, teenuse statistika, teenuse testmine, kasutajate audentimine, XML koostamine, idee, Wiki täiendamine
  • Taivo Türnpu - ERD, XML koostamine, idee
  • Jarko Kaskmaa - XML koostamine, idee

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

BAAS: 195.222.15.73:3306 indrekin_user/itCollege100

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


Teenuse liides

[ServiceContract]
   public interface ITeenus
   {
       [OperationContract]
       Kava LoadSchedule(String username, String password, String APIKey);
       [OperationContract]
       Boolean InsertSchedule(String username, String password, Kava kava, String APIKey);
       [OperationContract]
       Boolean RegisterUser(String username, String password, String email, String APIKey);
       [OperationContract]
       Boolean UpdateProgress(String username, String password, int rowToUpdate, Kavakirje newKavakirje, String APIKey);
       [OperationContract]
       Guid RegisterApiKey(String name, String email);
       [OperationContract]
       List<StatisticsRow> GetAllStatistics(String APIKey);
       [OperationContract]
       Boolean ChangeUserPassword(String username, String oldPassword, String newPassword, String APIKey);
       [OperationContract]
       Boolean ChangeUserEmail(String username, String password, String newEmail, String APIKey);


   }

Logi

28.02.2011

XML jms loomine

24.02.2011

Ühendan MySql andmebaasi .Net raamistikuga. Väga vaevaline ja närvesööv. (Indrek)

24.02.2011

Otsustasin kasutada ODBC teeke (vaja paigaldada igasse masinasse kus rakendust käitatakse) (Indrek)

30.02.2011

Töötan teenuse kirjutamise ja testimise kallal (Indrek)

10.03.2011

API võtme genereerimine ning statistika implementeeritud (indrek)

25.04.2011

Täiendasin wikit (Indrek)