Givela
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine"
Meeskond
- Mikk Raudsepp
- Alar Ameerikas
- Vladimir Rõkovanov
Idee
Üldine kirjeldus
Plaanis on luua mobiilirakendus, kus on võimalik kasutuna seisvaid asju annetada. Asjade vastuvõtjad seevastu aga saavad ettemääratud summas teha rahalise annetuse heategevusele. Näiteks seisab Vladimiril kodus ajahambale jalgu jäänud Goofy kleepsudega laste kirjutuslaud. Kuid seda otseselt müüa ta ei kavatse kuna rahaline väärtus ei ole vaeva väärt. Givela abil saab ta teha lauast pildi, määrata annetuse summa ja see ära andmiseks üles postitada.
Mobiilirakendus pärib andmeid keskserverilt läbi API.
Plaanitavad funtksionaalsused
- Kuulutuse loomine (ära antavast esemest pilt, üldine info).
- Kuulutusele info lisamine (email, telefon, aadress).
- Kuulutusele staatuse lisamine, kas esemele on inimene leitud.
- Kuulutuse infoväljade näitamine ainult väljavalitud eseme saajale (määrab kuulutuse looja, kuna privaatsuse pärast ei ole mõistlik aadresse kuvada vaid ainult piirkonda).
- Kuulutusele soovitusliku või minimaalse annetuse määramine.
- Kuulutuste kuvamine vastavalt kategooriale.
Userflow - Vaated
Eseme postitaja poolne:
Eseme postitamise vaade, kasutajale kes soovib esmest lahti saada ja postitab selle ära andmiseks süsteemi.
- Kasutaja teeb ära antavast esemest pilti.
- Saab lisada pealkirja, kirjelduse, minimaalse annetuse koguse, aadressi kust eseme kätte saab.
- Kasutajale antakse võimalus aadress salvestada järgmiseks korraks.
Esemete sirvija poolne:
Postitatud esmete sirvimise vaade, kasutajale, kes soovib soetada ära antavaid esemeid.
- Kuvatakse ära antavaid esemeid.
- Võimalik facebookis shareda.
- Saab eset vaadata lähemalt. Kuid aadress jääb kuni tehingu kinnitamiseni peidetuks, seda turvalisuse eesmärgil. Kuvatakse ainult maakonda/linna.
Andmebaas
XML/XSD/XSLT
XML
<?xml version="1.0" encoding="utf-8" ?> <Products> <Persons> <Person><![CDATA[Mikk]]></Person> <Person><![CDATA[Alar]]></Person> <Person><![CDATA[Vladimir]]></Person> </Persons> <Categories> <Category><![CDATA[Riided]]></Category> <Category><![CDATA[Köögitehnika]]></Category> </Categories> <Product> <Name><![CDATA[Siidisukad 160]]></Name> <Person><![CDATA[Mikk]]></Person> <Category><![CDATA[Riided]]></Category> <ImageUrl>http://enos.itcollege.ee/~vrokovan/haju/sukad.jpg</ImageUrl> <Comments> <Comment><![CDATA[Kus asute?]]></Comment> <Comment><![CDATA[Kas on uued või kasutatud]]></Comment> </Comments> </Product> <Product> <Name><![CDATA[Külmkapp]]></Name> <Person><![CDATA[Alar]]></Person> <Category><![CDATA[Köögitehnika]]></Category> <ImageUrl>http://enos.itcollege.ee/~vrokovan/haju/kylmik.jpg</ImageUrl> <Comments> <Comment><![CDATA[Saatke mõõdud palun]]></Comment> <Comment><![CDATA[kui vana külmkapp on?]]></Comment> </Comments> </Product> <Product> <Name><![CDATA[Veekeetja]]></Name> <Person><![CDATA[Vladimir]]></Person> <Category><![CDATA[Köögitehnika]]></Category> <ImageUrl>http://enos.itcollege.ee/~vrokovan/haju/keetja.jpg</ImageUrl> <Comments> <Comment><![CDATA[Kas on töökorras?]]></Comment> <Comment><![CDATA[mitme liitrine on?]]></Comment> </Comments> </Product> </Products>
XSD
<?xml version="1.0" encoding="utf-8"?> <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> <xs:element name="Products"> <xs:complexType> <xs:sequence> <xs:element name="Persons"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="Person" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="Categories"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="Category" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> <xs:element maxOccurs="unbounded" name="Product"> <xs:complexType> <xs:sequence> <xs:element name="Name" type="xs:string" /> <xs:element name="Person" type="xs:string" /> <xs:element name="Category" type="xs:string" /> <xs:element name="ImageUrl" type="xs:string" /> <xs:element name="Comments"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="unbounded" name="Comment" type="xs:string" /> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
XSLT
<?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>Tooted</title> <!-- Essential CSS Files --> <link rel="stylesheet" href="http://enos.itcollege.ee/~vrokovan/bootstrap/css/bootstrap.min.css"/> </head> <body> <div class="container"> <xsl:for-each select="/Products/Categories/Category"> <xsl:variable name="MainCategory" select="."></xsl:variable> <!-- <li> <xsl:value-of select="."/> </li>--> <h2> <xsl:value-of select="$MainCategory"/> </h2> <div class="row"> <xsl:for-each select="/Products/Product"> <xsl:variable select="." name="Product"></xsl:variable> <xsl:if test="Category = $MainCategory"> <div class="col-md-4"> <p> <b><xsl:value-of select="$Product/Name"/></b> <br/> Kasutaja: <xsl:value-of select="$Product/Person"/> </p> <img width="100px"> <xsl:attribute name="src" > <xsl:value-of select="$Product/ImageUrl"/> </xsl:attribute> </img> <!-- <img src="{$Movie/ImageUrl/.}" width="100" height="100" /> --> <p>Kommentaarid:</p> <ul> <xsl:for-each select="Comments/Comment"> <li> <xsl:value-of select="."/> </li> </xsl:for-each> </ul> </div> </xsl:if> </xsl:for-each> </div> </xsl:for-each> </div> </body> </html> </xsl:template> </xsl:stylesheet>
Logi
- 09.03.16 - Esimene kohtumine