Meeskond Vargamae

From EIK wiki


Projekt

Projektiks on konspektide jagamise rakenduse teenuse ja kliendi loomine.

Conspekto (valminud projekt)

Projekti käigus valmis veebiteenus ja sellele loodud klientrakendus nimega "Conspekto", mille esimene versioon (kui nii saab öelda, kuna VR II aine raames valminud rakenduse kood sai kirjutatud täiesti uuesti - ainult kontseptsioon jäi samaks) valmis märtsi kuus toimunud koodilaagris, kuid tol hetkel oli kogu asi ehitatud vastu Parse.com teenust.

Klientrakenduseks on loodud Windows 8.1(store app) platvormile.

Teenus ning klientrakendus on allalaetav siit

PS! Service library's kontrollida ka kindlasti teenuse URL üle kui kasutama hakata!

PS2! Kategooriate ja koolide lisamiseks teenusesse pole kliendi poolel liidest implementeeritud - seega tuleb seda teha hetkel käsitsi, kas läbi fiddleri (vajab Admin õigusi) või otse andmebaasist. Ning lisaks tuleb lisatud kategooriad ja koolid ka omavahel ära siduda kasutades selleks tabelit CategoriesInSchool. Kui see tegemata jätta, ei tohiks teenus korralikult funktsioneerida!

Meeskond

  • Kentti Koppel, D21
  • Aare-Arnold Äkke, D21

XML andmefail

XML failis kasutatud pildid ja andmed pärinevad euronics.ee leheküljelt.

XML fail

<?xml version="1.0" encoding="utf-8" ?>
<epood valuuta="€">
  <kategooria id="1" nimi="Televiisorid">
    <toode id="1" hind="399" nimi="32" Full HD LED LCD-teler, Samsung / Smart TV">
      <kirjeldus>
        <![CDATA[Uut sisu täis maailm, mida avastada]]>
      </kirjeldus>
      <saadavus>
        120
      </saadavus>
      <pildid>
        <pilt id="1">
          http://s2.euronics.ee/UserFiles/Products/Images/62301_ee_UE32F5700AWXXH_005_Front_black.jpg
        </pilt>
        <pilt id="2">
          http://s2.euronics.ee/UserFiles/Products/Images/62303_ee_UE32F5700AWXXH_008_Dynamic_black.jpg
        </pilt>
        <pilt id="3">
          http://s2.euronics.ee/UserFiles/Products/Images/62302_ee_UE32F5700AWXXH_006_Right-Angle_black.jpg
        </pilt>
      </pildid>
      <kommentaarid>
        <kommentaar id="1" lisatud="01-09-2013">
          <nimi>Joosep</nimi>
          <email>joosep@mail.ee</email>
          <arvamus>
            <![CDATA[Vana teler. Kas vana teleri (töökorras) vastu saab uue soodsamalt (nt 50€)? Selline kampaania ärgitaks tegutsema.]]></arvamus>
        </kommentaar>
        <kommentaar id="2" lisatud="15-09-2013">
          <nimi>Karl</nimi>
          <email>karl@mail.ee</email>
          <arvamus>
            <![CDATA[Mul on sama küsimus, kas garantiid ei ole? Ainult plussgarantii?]]>
          </arvamus>
        </kommentaar>
      </kommentaarid>
    </toode>
    <toode id="2" hind="1599" nimi="3D 60" Full HD LED LCD-teler, Philips / Wi-Fi">
      <kirjeldus>
        <![CDATA[Üliõhuke LED-teler koos Ambilightiga. Lisage Philipsi 6008-seeria 3D Smart LED-teleriga oma vaatamiselamusele uus mõõde. 
Ärge laske end õhukesest kujust eksitada - teler on täis funktsioone nagu Skype™, 3D, kahekülgne Ambilight ja palju muud.]]>
      </kirjeldus>
      <saadavus>
        24
      </saadavus>
      <pildid>
        <pilt id="4">
          http://s2.euronics.ee/UserFiles/Products/Images/68452_60PFL6008H_12-RTP-global-001.jpg
        </pilt>
        <pilt id="5">
          http://s2.euronics.ee/UserFiles/Products/Images/68451_60PFL6008H_12-_FP-global-001.jpg
        </pilt>
        <pilt id="6">
          http://s2.euronics.ee/UserFiles/Products/Images/68453_60pfl6008h_12_rcw_.jpg
        </pilt>
      </pildid>
      <kommentaarid>
        <kommentaar id="3" lisatud="17-02-2014">
          <nimi>Jaanus</nimi>
          <email>jaanus@mail.ee</email>
          <arvamus>
            <![CDATA[Jopp või matt, miks nii kallis.]]>
          </arvamus>
        </kommentaar>
      </kommentaarid>
    </toode>
    <toode id="3" hind="1499" nimi="3D 47" Full HD LED LCD-teler, LG / integr. kaamera">
      <kirjeldus>
        <![CDATA[47-tolline 3D Smart TV LED-teler kaugjuhtimispuldiga Magic Remote ja sisseehitatud kaameraga.]]>
      </kirjeldus>
      <saadavus>
        7
      </saadavus>
      <pildid>
        <pilt id="7">
          http://s2.euronics.ee/UserFiles/Products/Images/67013_47LA860V_copy-medium.jpg
        </pilt>
        <pilt id="8">
          http://s3.euronics.ee/UserFiles/Products/Images/67014_LA86003.jpg
        </pilt>
        <pilt id="9">
          http://s1.euronics.ee/UserFiles/Products/Images/67015_2_164393-3000x1073.jpg
        </pilt>
      </pildid>
      <kommentaarid>
        <kommentaar id="4" lisatud="21-12-2013">
          <nimi>Mart</nimi>
          <email>mart@mail.ee</email>
          <arvamus>
            <![CDATA[väga kena kujundusega teler. super]]>
          </arvamus>
        </kommentaar>
        <kommentaar id="5" lisatud="05-09-2013">
          <nimi>Kadi</nimi>
          <email>kadi@mail.ee</email>
          <arvamus>
            <![CDATA[Mul on sama küsimus, kas garantiid ei ole? Ainult plussgarantii?]]>
          </arvamus>
        </kommentaar>
      </kommentaarid>
    </toode>
  </kategooria>
  <kategooria id="2" nimi="Fotokaamerad">
    <toode id="4" hind="89" nimi="Fotokaamera ST72, Samsung">
      <kirjeldus>
        <![CDATA[Jäädvustage suurepäraseid kaadreid mis tahes ajal ja kohas. 
Esitleme õhukest kaamerat ST72, millel on valgusjõuline F2,5 objektiiv, 25 mm lainurk ja 16,2-megapiksline eraldusvõime, 
et jäädvustada hämmastavaid pilte kõikjal.]]>
      </kirjeldus>
      <saadavus>
        7
      </saadavus>
      <pildid>
        <pilt id="7">
          http://s3.euronics.ee/UserFiles/Products/Images/60162_samsung2-medium.jpg
        </pilt>
        <pilt id="8">
          http://s3.euronics.ee/UserFiles/Products/Images/60161_samsung.jpg
        </pilt>
        <pilt id="9">
          http://s1.euronics.ee/UserFiles/Products/Images/60163_samsung3.jpg
        </pilt>
      </pildid>
      <kommentaarid>
        <kommentaar id="6" lisatud="02-03-2014">
          <nimi>Janne</nimi>
          <email>jnne@mail.ee</email>
          <arvamus>
            <![CDATA[Ehh, seebikas....]]>
          </arvamus>
        </kommentaar>
        <kommentaar id="7" lisatud="05-11-2013">
          <nimi>Kadi</nimi>
          <email>kadi@mail.ee</email>
          <arvamus>
            <![CDATA[Väga meeldiv on sellega pilte teha]]>
          </arvamus>
        </kommentaar>
      </kommentaarid>
    </toode>
    <toode id="5" hind="699" nimi="Peegelkaamera D5200 + 18-55 mm VR objektiiv, Nikon">
      <kirjeldus>
        <![CDATA[See ühe objektiiviga digitaalne peegelkaamera on valmis teie loomingulisuse väljatoomiseks, hämmastavatest fotodest sujuvate täissuuruses HD-videoteni. 
Paindlik pöördekraan pakub teile ainulaadseid vaateid. 
24,1 Mpx DX-formaadis CMOS-andur jäädvustab peente üksikasjadega pilte ja täiustatud 39-punktiline automaatse teravustamise süsteem püsib alati soovitud objektil. 
Nikoni erakordselt täpne 2016 px valguse mõõtmisandur tagab täpse särituse isegi keerukates valgustingimustes. 
Saate videoid ja pilte reaalajas eriefektidega töödelda ja Nikoni mobiili juhtmevaba ühenduse adapteriga saab oma loomingu saata ühilduvasse nutiseadmesse, et seda kohe jagada.]]>
      </kirjeldus>
      <saadavus>
        2
      </saadavus>
      <pildid>
        <pilt id="10">
          http://s1.euronics.ee/UserFiles/Products/Images/57310_nikon-medium.jpg
        </pilt>
        <pilt id="11">
          http://s3.euronics.ee/UserFiles/Products/Images/57311_nikon2.jpg
        </pilt>
        <pilt id="12">
          http://s3.euronics.ee/UserFiles/Products/Images/57312_nikon3.jpg
        </pilt>
      </pildid>
      <kommentaarid>
        <kommentaar id="8" lisatud="02-03-2014">
          <nimi>Siiri</nimi>
          <email>sirru@mail.ee</email>
          <arvamus>
            <![CDATA[Kust ma võiks leida sobivaid objektiive?]]>
          </arvamus>
        </kommentaar>
      </kommentaarid>
    </toode>
  </kategooria>
</epood>

XML faili 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="epood">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="kategooria" maxOccurs="unbounded">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="toode" maxOccurs="unbounded">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="kirjeldus" type="xs:string"/>
                    <xs:element name="saadavus" type="xs:int"/>
                    <xs:element name="pildid">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="pilt" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:attribute name="id" type="xs:int"/>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="kommentaarid">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="kommentaar" maxOccurs="unbounded">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="nimi" type="xs:string"/>
                                <xs:element name="email" type="xs:string"/>
                                <xs:element name="arvamus" type="xs:string"/>
                              </xs:sequence>
                              <xs:attribute name="id" type="xs:int"/>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="id" type="xs:int"/>
                  <xs:attribute name="hind" type="xs:double"/>
                  <xs:attribute name="nimi" type="xs:string"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="id" type="xs:int" />
            <xs:attribute name="nimi" type="xs:string" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
      <xs:attribute name="valuuta" type="xs:string"/>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSL failid

<?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>Epoe kaubad</title>
        </head>
        <body>
          <xsl:variable name="valuuta" select="/epood/@valuuta"></xsl:variable>
          <ul>
            <xsl:for-each select="/epood/kategooria">
              <li>
                <h1>
                  <xsl:value-of select="@nimi"/>
                </h1>
                <ul>
                  <xsl:for-each select="toode">
                    <li>
                      <h2>
                        <xsl:value-of select="@nimi"/>
                        <span>
                          - <xsl:value-of select="@hind"/><xsl:value-of select="$valuuta"/>
                        </span>
                      </h2>
                      <p>
                        <xsl:value-of select="kirjeldus"/>
                      </p>
                    </li>
                  </xsl:for-each>
                </ul>
              </li>
            </xsl:for-each>
          </ul>
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>
<?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>Epoe laialdasem vaade</title>
        </head>
        <body>
          <xsl:for-each select="/epood/kategooria">
            <div>
              <h1>
                <xsl:value-of select="@nimi"/>
              </h1>
              <ul>
                <xsl:for-each select="toode">
                  <li>
                    <h2>
                      <xsl:value-of select="@nimi"/>
                    </h2>
                    <p>
                      <xsl:value-of select="kirjeldus"/>
                    </p>
                    <h3>Galerii</h3>

                    <xsl:for-each select="pildid/pilt">
                      <img width="305" height="305">
                        <xsl:attribute name="src">
                          <xsl:value-of select="."/>
                        </xsl:attribute>
                      </img>
                    </xsl:for-each>
                    
                    <h3>Kommentaarid</h3>
                    <ul>
                      <xsl:for-each select="kommentaarid/kommentaar">
                        <li>
                          <a href="mailto:{email}">
                            <xsl:value-of select="nimi"/> 
                          </a>
                          <br />
                          Kuupäev: <xsl:value-of select="@lisatud"/>
                          <p>
                            <xsl:value-of select="arvamus"/>
                          </p>
                        </li>
                      </xsl:for-each>
                    </ul>
                  </li>
                </xsl:for-each>
              </ul>
            </div>
          </xsl:for-each>
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>
<?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="xml" indent="yes"/>
  
    <xsl:template match="/">
      <xsl:element name="epood">
        <xsl:element name="kategooriad">
          <xsl:for-each select="/epood/kategooria">
            <xsl:element name="kategooria">
              <xsl:attribute name="nimi">
                <xsl:value-of select="@nimi"/>
              </xsl:attribute>
              <xsl:attribute name="id">
                <xsl:value-of select="@id"/>
              </xsl:attribute>
            </xsl:element>
          </xsl:for-each>
        </xsl:element>
        <xsl:element name="tooted">
          <xsl:for-each select="/epood/kategooria/toode">
              <xsl:variable name="kategooria" select="../@nimi"/>
              <xsl:element name="toode">
                <xsl:attribute name="nimi">
                  <xsl:value-of select="@nimi"/>
                </xsl:attribute>
                <xsl:attribute name="id">
                  <xsl:value-of select="@id"/>
                </xsl:attribute>
                <xsl:element name="kategooria">
                  <xsl:value-of select="$kategooria"/>
                </xsl:element>
                <xsl:element name="hind">
                  <xsl:value-of select="@hind"/>
                </xsl:element>
                <xsl:copy-of select="kirjeldus"/>
                <xsl:copy-of select="saadavus"/>
                <xsl:copy-of select="pildid"/>
                <xsl:copy-of select="kommentaarid"/>
            </xsl:element>
          </xsl:for-each>
        </xsl:element>
      </xsl:element>
    </xsl:template>
</xsl:stylesheet>

Logi

07.03

Wiki lehe loomine ja kodutöö esimese osa kriteeriumite täitmine