TrainSmart

From ICO wiki
Jump to navigationJump to search

Meeskonna Liikmed]

  • Janno Mäemets

Kodutöö XML osa

XML osa täitmiseks võtsin retseptikogumiku, see ei ole seotud selle projektiga.

XML andmefail

<?xml version="1.0" encoding="utf-8" ?>
<Retseptid>
  <Retsept id="1" hinnang="Suurepärane">
    <Nimi>Pannkoogid</Nimi>
    <Kirjeldus>Pannkoogid moosiga, varajasteks pühapäeva hommikuteks</Kirjeldus>
    <Koostis>
      <Koostisosad>
        <Osa Kogus="4" Ühik="tk">Muna</Osa>
        <Osa Kogus="250" Ühik="g">Kohupiim</Osa>
        <Osa Kogus="150" Ühik="g">Jahu</Osa>
        <Osa Kogus="3" Ühik="tl">Suhkur</Osa>
        <Osa Kogus="1" Ühik="tl">Sool</Osa>
      </Koostisosad>
    </Koostis>
  </Retsept>
  <Retsept id="2" hinnang="Söödav">
    <Nimi>Kotletid</Nimi>
    <Kirjeldus>Hakklihast valmistatud kuumad kotletid</Kirjeldus>
    <Koostis>
      <Koostisosad>
        <Osa Kogus="500" Ühik="g">Hakkliha</Osa>
        <Osa Kogus="75" Ühik="g">Jahu</Osa>
        <Osa Kogus="2" Ühik="tk">Muna</Osa>
        <Osa Kogus="100" Ühik="g">Riivsai</Osa>
      </Koostisosad>
    </Koostis>
  </Retsept>
    <Retsept id="3" hinnang="mmmmmm.....">
    <Nimi>Makaronid juustuga</Nimi>
    <Kirjeldus>Keedetud makaronid, riivjuustuga</Kirjeldus>
    <Koostis>
      <Koostisosad>
        <Osa Kogus="300" Ühik="g">Makaronid</Osa>
        <Osa Kogus="50" Ühik="ml">Vesi</Osa>
        <Osa Kogus="100" Ühik="g">Riivjuust</Osa>          
      </Koostisosad>
    </Koostis>
  </Retsept>
  <Retsept id="4" hinnang="Viib keele alla">
    <Nimi>Risotto</Nimi>
    <Kirjeldus>Kergelt soolane, parajalt terav, indjapärane riisitoit</Kirjeldus>
    <Koostis>
      <Koostisosad>
        <Osa Kogus="1" Ühik="tl">Riis</Osa>
        <Osa Kogus="3" Ühik="tk">Tomat</Osa>
        <Osa Kogus="1" Ühik="tk">Paprika</Osa>
        <Osa Kogus="2" Ühik="tk">Sibul</Osa>        
      </Koostisosad>    
    </Koostis>
  </Retsept>
  <Retsept id="5" hinnang="Suurepärane">
    <Nimi>Kanaliha rull</Nimi>
    <Kirjeldus>Rulli keeratud kanaliha viilud, maitsestatud pipra ja soolaga</Kirjeldus>
    <Koostis>
      <Koostisosad>
        <Osa Kogus="300" Ühik="g">Kanaliha</Osa>
        <Osa Kogus="1" Ühik="tl">Pipar</Osa>
        <Osa Kogus="0.5" Ühik="tl">Sool</Osa>
      </Koostisosad>
    </Koostis>
  </Retsept>
</Retseptid>


XML skeemifail

<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="Retseptid">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="Retsept">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Nimi" type="xs:string" />
              <xs:element name="Kirjeldus" type="xs:string" />
              <xs:element name="Koostis">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Koostisosad">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded" name="Osa">
                            <xs:complexType>
                              <xs:simpleContent>
                                <xs:extension base="xs:string">
                                  <xs:attribute name="Kogus" type="xs:decimal" use="required" />
                                  <xs:attribute name="Ühik" type="xs:string" use="required" />
                                </xs:extension>
                              </xs:simpleContent>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="id" type="xs:unsignedByte" use="required" />
            <xs:attribute name="hinnang" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>


XSL fail 1

<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform"
  xmlns:msxsl="urn:schemas-microsoft-com:xslt" exclude-result-prefixes="msxsl">

  <xsl:output method="html" indent="yes"/>

  <xsl:template match="/">
    <html>
      <head>
        <title>Retseptid</title>
      </head>
      <body>
        <h1>Retseptid</h1>
        <xsl:for-each select="Retseptid/Retsept">
          <div>
            <p style="float: right; margin-right: 200px">
              Hinnang - <xsl:value-of select="@hinnang"/>
            </p>
            <h2>
             <xsl:value-of select="Nimi"/>
           </h2>
          </div>
          <h3>Kirjeldus:</h3>
            <p style="font-style: italic">
              <xsl:value-of select="Kirjeldus"/>
            </p>
          <h3>Koostis:</h3>
          <table border="1">
            <tr>
              <th style="text-align:left">Koostisosa</th>
              <th style="text-align:left">Kogus</th>
            </tr>
          <xsl:for-each select="Koostis/Koostisosad/Osa">        
              <tr>
                <td>
                  <xsl:value-of select="text()"/>
                </td>
                <td>
                  <xsl:value-of select="@Kogus"/>
                  <xsl:value-of select="@Ühik"/>
                </td>
              </tr>  
           </xsl:for-each>
          </table>
          <p>-----------------------------------------------------------</p>
          </xsl:for-each>

      
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Meeskonna poolt kirjutatud retsensioonid

Veebiteenuse Analüüs

Veebiteenus valmis 20. aprill.

Kirjeldus

TrainSmart-i puhul on tegu treeningpäeviku rakendusega, täpsemalt WPF rakendusega. Üldiselt on seda kõige parem kasutada jõusaali puhul, aga mingil määral saab rakendada ka teistele spordialadele. WPF rakendus suhtleb REST-il põhineva veebiteenusega, kust rakendusest päritakse asünkroonselt andmeid. Kasutaja loob WPF rakenduse poole peal endale kasutaja ning saab tavakasutaja õigused. Vajaduse korral saab admin õigustega kasutaja seda muuta. Rakendusel on sisselogimise aken, registreerimise aken, üldine aken, kus kasutaja teeb kõik oma trennidega seonduvad toimingud ning admin aken, mis avaneb ainult admin õiguste olemasolul.

Must Have

Uue kasutaja loomine (+)
Turvaline sisselogimine (+)
Admin poole olemasolu (+)
Päeviku loomine kasutajale (+)
Päevikusse trenni loomine (+)
Trennile harjutuste lisamine (+)
Kasutaja harjutuste lisamine (+)
Harjutuse tüübi lisamine (+)

Nice to Have

Võimalus vaadata teiste avalikuks määratud trenne (+)
Avalike trennide kommenteerimine teiste kasutajate poolt (+)
Trennile antud kommentaaride kuvamine kasutajale ja ka teistele, kes antud avalikku trenni vaatavad. (+)

Sõpradega trenniaegade sobitamise võimalus.(-)

ERD

Veebiteenus

Veebiteenus üleval: https://trainsmart.azurewebsites.net

Veebiteenuse ja klientrakenduse kood: https://www.dropbox.com/s/uzc24esbnnrebjx/TrainSmart.zip?dl=0

Klientrakendus

Klientrakendus sai valmis 21. mai.

Klientrakendus: https://www.dropbox.com/s/ow1xrrrqru8fbcd/Debug.rar?dl=0

Admin õigustega kasutaja: Username - kasutaja, Password - parool1