Meeskond "Hungry Student Food Board"

From ICO wiki
Jump to navigationJump to search

Repositooriumi aadress

Ülesande püstitus

   * XML fail
         o XML fail, stiilifail ja skeemifail peavad olema valmis ja wikilehel kirjeldatud hiljemalt 27. veebruar 2011.
         o Arvamused XML-failide kohta peavad tehtud olema 4. märts 2011
   * Veebiteenus
         o Veebiteenus peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 10. aprill 2011.
         o Arvamused veebiteenuste kohta peavad tehtud olema 17. aprill 2011
         o Veebiteenus tuleb esitleda!
   * Klientrakendused
         o Klientrakendused peavad olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 10. aprill 2011.
         o Arvamused veebiteenuste kohta peavad tehtud olema 17. aprill 2011
         o Klientrakendused tuleb esitleda!
   * Meeskonna kokkuvõttev aruanne
         o Meeskonnatöö kokkuvõttev aruanne peab olema valmis, esitatud ja ja wikilehel kirjeldatud hiljemalt 8.mai 2011
         o Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit
         o Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus tuleb esitleda!

Meeskond

  • Jaan Kruusma - projektijuht, analüüs
  • Taavi Ilves - arendus, veebiteenus, facebook api
  • Tanel Liiv - arendus, veebiteenus
  • Indrek Kruuser - arendus, klientrakendus
  • Hannes Karask - arendus, adminniliides, klientrakendus

Idee

Idee on luua kohviku menüü haldamise tarkvara. Kasutajal ehk kohvikul on võimalus interneti teel kirjeldada müüki minevad tooted ning tooteid kuvatakse kohvikutes LCD display pealt kui ka Facebooki kaudu kõikide kohvikute menüüsi jälgida. Me lähtume KISS põhimõttest ja hoiame info võimalikult konkreetsena, et kasutaja ei peaks pool päeva toite sisestama või pidevalt kogust arvestama.

Planeering

  • Veebiteenuse ehitame IronPythoniga .Net frameworki peale.
  • Arenduskeskond on Visual Studio 2010, millel on IronPython liides.
  • Andmebaasina kasutame MySQL'i, see on kiire ja lihtne üles seada.
  • Kliendipoolse lahenduse teeme Asp.Net'i aines kõrval projektina.
  • Kõik mis kuvatakse kasutajale ehk kohviku kylastajale teeme HTMLi ja JavaScriptiga
  • Andmemudeli diagrammi koostame programmiga QSEE Superlite.

Veebiteenus

  • IronPythoni kasutus osutus vaevaliseks, asendasime selle C sharpiga.
    • MVC3 raamistik
    • Razor view engine mugavamaks kirjutamiseks
    • MSSQL 2008 R2 andmebaasi mootoriks
    • Andmete vahekiht LINQ To Entities
  • Tagastab kohviku menüü veebiteenuse ID järgi
  • Klienditeenus genereerib igale kohvikule ID
  • auth meetod
    • tuvastatkse kasutaja
    • päring kohviku andmetele
  • api meetod
    • auth vastusest kuvab kohviku menüü
    • Päeva menüü xml kujul
  • Statistika korjamine
    • Kohviku, meetodi ning IP põhine
      • Võimaldab näha statistikat kasutaja ja kohviku lõikes
      • Võimaldab näha koormust meetodi põhiselt
    • Minimaalne täpsus üks tund
      • Et andmemahud ei kasvaks üle pea
      • Et oleks võimalik koormust hinnata kellaajaliselt

Toodete kuvamine

Andmediagramm

Desktop Rakendus

  • Töölauakliendi jooksutamiseks on vaja Python 2.7.1 ning PyQt4 4.8.4

Facebook Api

  • Toitude hääletamine reaalajas

XML Fail

Highlighted: http://sprunge.us/DPIe?xml

   <?xml version="1.0" encoding="utf-8" ?>
   <?xml-stylesheet type="text/xsl" href="default.xsl"?>
   <kohvikud xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
   xsi:noNamespaceSchemaLocation="kohvikud.xsd">
           <kohvik name="IT KOHVIK" staatus="Nummisi pannkooke saadaval">
                   <toit tyyp="praad">
                           <pilt>
                                   <url width="100" height="100">http://www.neti.ee/pilt.jpg</url>
                           </pilt>
                           <pealkiri>kanapraad</pealkiri>
                           <kirjeldus>sinihallitus sokiga</kirjeldus>
                           <poolhind valuuta="eur" rate="1.0000">100</poolhind>
                           <tervehind valuuta="eur" rate="1.0000">200</tervehind>
                           <allahindlus>50%</allahindlus>
                           <kehtib>31.03.2011</kehtib>
                           <liked>34</liked>
                   </toit>
                   <toit tyyp="supp">
                           <pilt>
                                   <url width="100" height="100">http://www.neti.ee/pilt2.jpg</url>
                           </pilt>
                           <pealkiri>õunasupp</pealkiri>
                           <kirjeldus>koorega</kirjeldus>
                           <poolhind valuuta="eur" rate="1.0000">50</poolhind>
                           <tervehind valuuta="eur" rate="1.0000">120</tervehind>
                           <allahindlus>10%</allahindlus>
                           <kehtib>31.03.2011</kehtib>
                           <liked>33</liked>
                   </toit>
           </kohvik>
           <kohvik name="TTY KOHVIK" staatus="Parim koht">
                   <toit tyyp="praad">
                           <pilt>
                                   <url width="100" height="100">http://www.neti.ee/pilt2.jpg</url>
                           </pilt>
                           <pealkiri>seapraad</pealkiri>
                           <kirjeldus>seentega</kirjeldus>
                           <poolhind valuuta="eur" rate="1.0000">200</poolhind>
                           <tervehind valuuta="eur" rate="1.0000">420</tervehind>
                           <allahindlus>10%</allahindlus>
                           <kehtib>31.03.2011</kehtib>
                           <liked>2</liked>
                   </toit>
           </kohvik>
   </kohvikud>

XSL

<?xml version="1.0" encoding="utf-8"?> <xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/"> <html> <body>

Kohvikud

<xsl:for-each select="kohvikud/kohvik"> </xsl:for-each>
Nimi Staatus Menüü
<xsl:value-of select="@name"/> <xsl:value-of select="@staatus"/> <xsl:for-each select="./toit"> </xsl:for-each>
Pealkiri Väike portsjon Täis portsjon Soodustus Kehtib Kirjeldus Laike Pildid
<xsl:value-of select="pealkiri"/> <xsl:value-of select="poolhind"/> <xsl:value-of select="tervehind"/> <xsl:value-of select="allahindlus"/> <xsl:value-of select="kehtib"/> <xsl:value-of select="kirjeldus"/> <xsl:value-of select="liked"/>

<xsl:for-each select="./pilt"> <xsl:value-of select="url"/> </xsl:for-each>

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

Veebiteenus

Klientrakendus I : CMS

Logi

16. Mai

Finaalesitlus

13. Mai

Ebaõnne päev ja lõpusirge arendus!

6. Mai

Desktopvaate analüüs töölauakliendi jooksutamiseks on vaja Python 2.7.1 ning PyQt4 4.8.4

29. Aprill

Veebiteenuse parendamine

22. Aprill

Konkurendiga koostöö lepingu sõlmimine, koodivahetus.

18. Aprill

Teenuse presentatsioon, karm tagasiside ehk esimese testimis tulemuste analüüs ja iteratiivse arenguga jätkamine

15-17. Aprill

Veebiteenuse lõpu sprint Andmebaasi lisatud tabel, mis korjab statistikat

8. Aprill

Arendus Sprint

  • määramatusest tulenevad probleemid
  • vaate toorik
  • versiooni halduse

4. Aprill

Alamprojekt baasitäitmiseks

18. Märts

Andmebaasi lihvimine, teenuse toorik. Projektijuht 2 nädalat komandeeringus, arenduse koordinaator sinisel lehel.

15. Märts

Töötav andmebaas, metsikud vaevad versioonihaldusega.

7. Märts

Rühmatöö ettevalmistused ja ümberkorraldused: MVC3 (Razor view engine) ja MSSQL SERVER 2008 R2 asendamine. Versioonihalduseks Mercurial HG.

1. Märts

Andmediagrammi esialgsed kavandid, et sobiks xmliga kokku.

23. Veebruar

Tekkisid määramatusest tulenevad probleemid, haigestumine ja riigipühad. Xml ja Xsl valmis, Schema vajab täiendusi.

17. Veebruar

Projekti kavand pandi paika ja jaotati esialgsed töö ülesanded. Esialgse Xml'i draft, endiselt arenduses.

16. Veebruar

Drastilised muudatused arendus tööriistade valikul. Põhi osa programmist luuakse Pythoniga .NET raamistikus, aga kliendi liides tehakse ikkagi asp.net'iga.

14. Veebruar

Meeskonna nime valik ja wiki lehe alustamine.

7. Veebruar

Arendus vahenditega tutvumine, kuidas teha, mida teha. Palju metadata kogumist.

2. Veebruar

Uue meeskonna moodustamine ja idee kujunemine