Hubris: Difference between revisions

From ICO wiki
Jump to navigationJump to search
 
(28 intermediate revisions by the same user not shown)
Line 8: Line 8:


=== Kirjeldus===
=== Kirjeldus===
placeholder
Meie projektiks on luua filmide, raamatute, muusika jms. andmebaas/reklaamiplatvorm, kus on välja toodud nende: tiitel, selgitus, lisamise/avaldamise kuupäev/, like/dislike suhe ning võimalusel nende lingid. Kasutajad saavad lisada enda tehtud/kirjutatud või kuskilt leitud bände, filme, raamatuid ning teised kasutajad saavad neid hinnata.
 
=== XML ===
=== XML ===
placeholder
 
<source lang="xml">
<?xml version="1.0" encoding="utf-8" ?>
 
<adverts>
  <advert id="1" type="movie">
    <title><![CDATA[Lord of the Rings]]></title>
    <body><![CDATA[Description here]]></body>
    <date>06.03.2015</date>
    <likes>10000</likes>
    <dislikes>0</dislikes>
    <urls>
      <videourl><![CDATA[www.youtube.com]]></videourl>
      <weburl><![CDATA[www.lotr.com]]></weburl>
    </urls>
  </advert>
 
  <advert id="2" type="book">
    <title><![CDATA[Fight Club]]></title>
    <body><![CDATA[First rule of fight club is: You do not talk about fight club.]]></body>
    <date>02.03.2015</date>
    <likes>0</likes>
    <dislikes>0</dislikes>
    <urls>
      <videourl><![CDATA[www.youtube.com]]></videourl>
      <weburl><![CDATA[www.soap.com]]></weburl>
    </urls>
  </advert>
 
  <advert id="3" type="music">
    <title><![CDATA[No Connection]]></title>
    <body><![CDATA[some band]]></body>
    <date>03.03.2015</date>
    <likes>10</likes>
    <dislikes>4</dislikes>
    <urls>
      <videourl><![CDATA[]]></videourl>
      <weburl><![CDATA[]]></weburl>
    </urls>
  </advert>
 
  <advert id="4" type="music">
    <title><![CDATA[Prince]]></title>
    <body><![CDATA[]]></body>
    <date>06.03.2015</date>
    <likes>6736</likes>
    <dislikes>3938</dislikes>
    <urls>
      <videourl><![CDATA[www.youtube.com]]></videourl>
      <weburl><![CDATA[]]></weburl>
    </urls>
  </advert>
 
  <advert id="5" type="book">
    <title><![CDATA[Fahrenheit 451]]></title>
    <body><![CDATA[Ray Bradbury]]></body>
    <date>05.03.2015</date>
    <likes>5739</likes>
    <dislikes>222</dislikes>
    <urls>
      <videourl><![CDATA[]]></videourl>
      <weburl><![CDATA[]]></weburl>
    </urls>
  </advert>
</adverts>
</source>
 
=== XSD ===
=== XSD ===
placeholder
 
<source lang="xml">
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="adverts">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="advert">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="title" type="xs:string" />
              <xs:element name="body" type="xs:string" />
              <xs:element name="date" type="xs:string" />
              <xs:element name="likes" type="xs:unsignedInt" />
              <xs:element name="dislikes" type="xs:unsignedInt" />
              <xs:element name="urls">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="videourl" type="xs:string" />
                    <xs:element name="weburl" type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="id" type="xs:unsignedInt" use="required" />
            <xs:attribute name="type" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>
</source>
 
=== XSLT ===
=== XSLT ===
placeholder


== Veebiteenus ==
==== Esimene - All Adverts ====
 
<source lang="xml">
<?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>
        <body>
          <table border="1">
            <tr>
              <th>Title</th>
              <th>Description</th>
              <th>Likes</th>
              <th>Dislikes</th>
            </tr>
            <xsl:for-each select="adverts/advert">
              <tr>
                <td>
                  <xsl:value-of select="title"/>
                </td>
                <td>
                  <xsl:value-of select="body"/>
                </td>
                <td>
                  <xsl:value-of select="likes"/>
                </td>
                <td>
                  <xsl:value-of select="dislikes"/>
                </td>
              </tr>
            </xsl:for-each>
          </table>
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>
</source>
 
Väljund: http://enos.itcollege.ee/~apaalo/VR2/all.png
 
==== Teine - All Books ====
 
<source lang="xml">
<?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>
        <body>
          <table border="1">
            <tr>
              <th>Title</th>
              <th>Description</th>
              <th>Likes</th>
              <th>Dislikes</th>
            </tr>
            <xsl:for-each select="adverts/advert[@type='book']">
              <tr>
                <td>
                  <xsl:value-of select="title"/>
                </td>
                <td>
                  <xsl:value-of select="body"/>
                </td>
                <td>
                  <xsl:value-of select="likes"/>
                </td>
                <td>
                  <xsl:value-of select="dislikes"/>
                </td>
              </tr>
            </xsl:for-each>
          </table>
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>
</source>
 
Väljund: http://enos.itcollege.ee/~apaalo/VR2/books.png
 
==== Kolmas - More than 100 likes ====
 
<source lang="xml">
<?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>
      <body>
        <table border="1">
          <tr>
            <th>Title</th>
            <th>Description</th>
            <th>Likes</th>
            <th>Dislikes</th>
          </tr>
          <xsl:for-each select="adverts/advert">
            <xsl:if test="likes &gt; 100">
              <tr>
                <td>
                  <xsl:value-of select="title"/>
                </td>
                <td>
                  <xsl:value-of select="body"/>
                </td>
                <td>
                  <xsl:value-of select="likes"/>
                </td>
                <td>
                  <xsl:value-of select="dislikes"/>
                </td>
              </tr>
            </xsl:if>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>
</source>
 
Väljund: http://enos.itcollege.ee/~apaalo/VR2/likes.png
 
== Veebiteenuse analüüs ==
=== Analüüs ===
 
==== Probleem ====
 
* Puudub ühtne veebiteenus, kus leiaks informatsiooni nii filmide, raamatute kui ka muusika kohta.
 
==== Lahenduse üldkirjeldus ====
* Meie projektiks on luua filmide, raamatute, muusika jms reklaamiplatvorm.
 
* Külastajad saavad läbi klientrakenduse lugeda juba olemasolevaid postitusi ning neid hinnata.
 
* Veebiteenus tagastaks minimaalse kuid kõige vajalikuma informatsiooni – tiitel, kirjeldus, erinevad kuupäevad, hinnangud, lingid, kommentaarid.
 
* Külastajad saavad samuti luua omale isikliku konto.  Kasutajana saavad nad ise lisada ka postitusi. Ebakorrektseid postitusi on võimalik raporteerida.


== Klientrakendus ==
==== Funktsionaalsused ====
'''Must have'''
* Postituste vaatamine
** Nimekiri
** Üksik postitus
* Postituste lisamine
* Postituste muutmine
* Postituste kustutamine
* Postituste hindamine
** Positiivselt
** Negatiivselt
* Postituste raporteerimine
** Raporteeritud postituste eemaldamine
*Postituste otsimine
** Läbi kõikide kategooriate
** Läbi kindla kategooria
'''Nice to have'''
* Igakuiste soovituste saatmine meili teel
 
==== Riskid ====
* Nii uute trendide kui sarnaste jälgimiste saatmise algoritm võib osutuda keeruliseks.
 
==== Aksepteeritavad kriteeriumid ja tähtajad ====
* Minimaalsete funktsionaalsuste list „must have“
* Tähtajad: nii veebiteenus kui klientrakendus peavad olema valmis 24.05.2015
 
 
==== Andmebaaside esialgne mudel ====
'''Andmebaas muutub veel arenduse käigus vastavalt vajadustele'''
 
[http://enos.itcollege.ee/~apaalo/VR2/andmebaas.png ERD mudel]
 
== Projekt ==
* W/o Web-Api: http://enos.itcollege.ee/~apaalo/VR2/ASPNET.rar - Default User: Admin (Password: Admin123)
* Web-Api: http://enos.itcollege.ee/~apaalo/VR2/HubrisFinal.rar - täiendamisel


== Retsensioonid ==
== Retsensioonid ==


=== Meeskonna tehtud retsensioonid ===
=== Meeskonna tehtud retsensioonid ===
* XML: placeholder
 
* XML: https://wiki.itcollege.ee/index.php/Talk:Meeskond:ROKK , https://wiki.itcollege.ee/index.php/Talk:Meeskond:Flauto
* Veebiteenus: placeholder
* Veebiteenus: placeholder
* Klientrakendused: placeholder
* Klientrakendused: placeholder


=== Meeskonnale tehtud retsensioonid ===
=== Meeskonnale tehtud retsensioonid ===
* X: placeholder
 
* https://wiki.itcollege.ee/index.php/Talk:Hubris

Latest revision as of 20:03, 27 May 2015

Meeskond

  • Sander Maasikamäe
  • Allan Paalo
  • Madis Rääk

XML

Kirjeldus

Meie projektiks on luua filmide, raamatute, muusika jms. andmebaas/reklaamiplatvorm, kus on välja toodud nende: tiitel, selgitus, lisamise/avaldamise kuupäev/, like/dislike suhe ning võimalusel nende lingid. Kasutajad saavad lisada enda tehtud/kirjutatud või kuskilt leitud bände, filme, raamatuid ning teised kasutajad saavad neid hinnata.

XML

<?xml version="1.0" encoding="utf-8" ?>

<adverts>
  <advert id="1" type="movie">
    <title><![CDATA[Lord of the Rings]]></title>
    <body><![CDATA[Description here]]></body>
    <date>06.03.2015</date>
    <likes>10000</likes>
    <dislikes>0</dislikes>
    <urls>
      <videourl><![CDATA[www.youtube.com]]></videourl>
      <weburl><![CDATA[www.lotr.com]]></weburl>
    </urls>
  </advert>

  <advert id="2" type="book">
    <title><![CDATA[Fight Club]]></title>
    <body><![CDATA[First rule of fight club is: You do not talk about fight club.]]></body>
    <date>02.03.2015</date>
    <likes>0</likes>
    <dislikes>0</dislikes>
    <urls>
      <videourl><![CDATA[www.youtube.com]]></videourl>
      <weburl><![CDATA[www.soap.com]]></weburl>
    </urls> 
  </advert>

  <advert id="3" type="music">
    <title><![CDATA[No Connection]]></title>
    <body><![CDATA[some band]]></body>
    <date>03.03.2015</date>
    <likes>10</likes>
    <dislikes>4</dislikes>
    <urls>
      <videourl><![CDATA[]]></videourl>
      <weburl><![CDATA[]]></weburl>
    </urls>
  </advert>

  <advert id="4" type="music">
    <title><![CDATA[Prince]]></title>
    <body><![CDATA[]]></body>
    <date>06.03.2015</date>
    <likes>6736</likes>
    <dislikes>3938</dislikes>
    <urls>
      <videourl><![CDATA[www.youtube.com]]></videourl>
      <weburl><![CDATA[]]></weburl>
    </urls>
  </advert>

  <advert id="5" type="book">
    <title><![CDATA[Fahrenheit 451]]></title>
    <body><![CDATA[Ray Bradbury]]></body>
    <date>05.03.2015</date>
    <likes>5739</likes>
    <dislikes>222</dislikes>
    <urls>
      <videourl><![CDATA[]]></videourl>
      <weburl><![CDATA[]]></weburl>
    </urls>
  </advert>
</adverts>

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="adverts">
    <xs:complexType>
      <xs:sequence>
        <xs:element maxOccurs="unbounded" name="advert">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="title" type="xs:string" />
              <xs:element name="body" type="xs:string" />
              <xs:element name="date" type="xs:string" />
              <xs:element name="likes" type="xs:unsignedInt" />
              <xs:element name="dislikes" type="xs:unsignedInt" />
              <xs:element name="urls">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="videourl" type="xs:string" />
                    <xs:element name="weburl" type="xs:string" />
                  </xs:sequence>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute name="id" type="xs:unsignedInt" use="required" />
            <xs:attribute name="type" type="xs:string" use="required" />
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT

Esimene - All Adverts

<?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>
        <body>
          <table border="1">
            <tr>
              <th>Title</th>
              <th>Description</th>
              <th>Likes</th>
              <th>Dislikes</th>
            </tr>
            <xsl:for-each select="adverts/advert">
              <tr>
                <td>
                  <xsl:value-of select="title"/>
                </td>
                <td>
                  <xsl:value-of select="body"/>
                </td>
                <td>
                  <xsl:value-of select="likes"/>
                </td>
                <td>
                  <xsl:value-of select="dislikes"/>
                </td>
              </tr>
            </xsl:for-each>
          </table>
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>

Väljund: http://enos.itcollege.ee/~apaalo/VR2/all.png

Teine - All Books

<?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>
        <body>
          <table border="1">
            <tr>
              <th>Title</th>
              <th>Description</th>
              <th>Likes</th>
              <th>Dislikes</th>
            </tr>
            <xsl:for-each select="adverts/advert[@type='book']">
              <tr>
                <td>
                  <xsl:value-of select="title"/>
                </td>
                <td>
                  <xsl:value-of select="body"/>
                </td>
                <td>
                  <xsl:value-of select="likes"/>
                </td>
                <td>
                  <xsl:value-of select="dislikes"/>
                </td>
              </tr>
            </xsl:for-each>
          </table>
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>

Väljund: http://enos.itcollege.ee/~apaalo/VR2/books.png

Kolmas - More than 100 likes

<?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>
      <body>
        <table border="1">
          <tr>
            <th>Title</th>
            <th>Description</th>
            <th>Likes</th>
            <th>Dislikes</th>
          </tr>
          <xsl:for-each select="adverts/advert">
            <xsl:if test="likes &gt; 100">
              <tr>
                <td>
                  <xsl:value-of select="title"/>
                </td>
                <td>
                  <xsl:value-of select="body"/>
                </td>
                <td>
                  <xsl:value-of select="likes"/>
                </td>
                <td>
                  <xsl:value-of select="dislikes"/>
                </td>
              </tr>
            </xsl:if>
          </xsl:for-each>
        </table>
      </body>
    </html>
  </xsl:template>
</xsl:stylesheet>

Väljund: http://enos.itcollege.ee/~apaalo/VR2/likes.png

Veebiteenuse analüüs

Analüüs

Probleem

  • Puudub ühtne veebiteenus, kus leiaks informatsiooni nii filmide, raamatute kui ka muusika kohta.

Lahenduse üldkirjeldus

  • Meie projektiks on luua filmide, raamatute, muusika jms reklaamiplatvorm.
  • Külastajad saavad läbi klientrakenduse lugeda juba olemasolevaid postitusi ning neid hinnata.
  • Veebiteenus tagastaks minimaalse kuid kõige vajalikuma informatsiooni – tiitel, kirjeldus, erinevad kuupäevad, hinnangud, lingid, kommentaarid.
  • Külastajad saavad samuti luua omale isikliku konto. Kasutajana saavad nad ise lisada ka postitusi. Ebakorrektseid postitusi on võimalik raporteerida.

Funktsionaalsused

Must have

  • Postituste vaatamine
    • Nimekiri
    • Üksik postitus
  • Postituste lisamine
  • Postituste muutmine
  • Postituste kustutamine
  • Postituste hindamine
    • Positiivselt
    • Negatiivselt
  • Postituste raporteerimine
    • Raporteeritud postituste eemaldamine
  • Postituste otsimine
    • Läbi kõikide kategooriate
    • Läbi kindla kategooria

Nice to have

  • Igakuiste soovituste saatmine meili teel

Riskid

  • Nii uute trendide kui sarnaste jälgimiste saatmise algoritm võib osutuda keeruliseks.

Aksepteeritavad kriteeriumid ja tähtajad

  • Minimaalsete funktsionaalsuste list „must have“
  • Tähtajad: nii veebiteenus kui klientrakendus peavad olema valmis 24.05.2015


Andmebaaside esialgne mudel

Andmebaas muutub veel arenduse käigus vastavalt vajadustele

ERD mudel

Projekt

Retsensioonid

Meeskonna tehtud retsensioonid

Meeskonnale tehtud retsensioonid