TrainSmart: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Jmaemets (talk | contribs)
Jmaemets (talk | contribs)
Line 211: Line 211:


Hetkel on probleeme võõrastest arvutitest rakendusse sisselogimisega.
Hetkel on probleeme võõrastest arvutitest rakendusse sisselogimisega.
Kasutaja saab luua, aga sisselogimisel saab takistuseks ka tulemüür, Azure või miski muu.
Kasutaja saab luua, aga sisselogimisel saab takistuseks kas tulemüür, Azure või miski muu.


Localhostis töötab asi ilusti.
Localhostis töötab asi ilusti.

Revision as of 23:19, 25 May 2015

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 vaatava.

ERD

Veebiteenus

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

Klientrakendus

Klientrakendus sai valmis 21. mai.

Hetkel on probleeme võõrastest arvutitest rakendusse sisselogimisega. Kasutaja saab luua, aga sisselogimisel saab takistuseks kas tulemüür, Azure või miski muu.

Localhostis töötab asi ilusti.