Meeskond "Hungry Student Food Board": Difference between revisions

From ICO wiki
Jump to navigationJump to search
No edit summary
No edit summary
 
(27 intermediate revisions by 4 users not shown)
Line 1: Line 1:
==Repositooriumi aadress==
*http://svn3.xp-dev.com/svn/nomnom/HSFB/
*Versiooni haldus tarkvara - AnkhSVN või TurtoiseSVN
==Ülesande püstitus==
==Ülesande püstitus==


Line 19: Line 23:
           o Arvamused Meeskonnatöö kokkuvõtva aruande ja esitluse kohta tuleb esitada hiljemalt päev enne eksamit
           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!
           o Meeskonna kokkuvõttev aruanne ja töö lõplik tulemus tuleb esitleda!
==Meeskond ja projekti kokkuvõte==
Projekt algas entusiastlikult, valisime õppejõu poolt ette antud teema ning tegime sama mida paljud muudki, toitlustus ettevõtete menüü haldamise, kuvamise ja samuti menüü viimine uute sajandisse ehk Facebooki. Meie moto on algusest saadik olnud KISS - keep it simple stupid ja tarkvara arendasime feature driven development põhimõtteid jälgides ehk tegime komponenet haaval, alustades XMList andmebaas, teenuse ja rakenduse, ning viimasena FB rakenduse. Projekti osana on ka adminniliides, mis valmis aines asp.net. Teenuseid oli esialgu liiga vähe, kuid peale ettekannet lisasime neid juurde.
Meie projekti tugevus on selle lihtsus ja kasutajamugavus samuti on meie tugevuseks rakendus Facebookiga integreerimine. Tehnilisel tasemel proovisime teha nii, et ei aja kasutajat segadusse.<br>
+
*Lihtne kasutada
*Skoop oli õige
*2 ainet ühe hoobiga
-
*Ajaplaneering
*Tehnoloogiate vahel hüppamine
*arendaja vaatepilt vs projektijuht
<br>
*Punktide jaotus
**Jaan Kruusma(19p)  - projektijuht, analüüs
**Taavi Ilves(23p) - arendus, veebiteenus, facebook api
**Tanel Liiv(23p) - arendus, veebiteenus
**Indrek Kruuser(15p) - arendus, klientrakendus


==Idee==
==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.
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.


==Arendamine==
==Planeering==
* Veebiteenuse ehitame IronPythoniga .Net frameworki peale.
* Veebiteenuse ehitame IronPythoniga .Net frameworki peale.
* Arenduskeskond on Visual Studio 2010, millel on IronPython liides.
* Arenduskeskond on Visual Studio 2010, millel on IronPython liides.
Line 31: Line 53:
* Andmemudeli diagrammi koostame programmiga QSEE Superlite.
* Andmemudeli diagrammi koostame programmiga QSEE Superlite.


==Meeskond==
==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
*[[File:HSFBstats.png]]
 
===Toodete kuvamine===
[[File:HSFBVeebiteenus.png]]
 
==Andmediagramm==
 
[[File:HSFB.png]]
 
==Desktop Rakendus==
*Töölauakliendi jooksutamiseks on vaja Python 2.7.1 ning PyQt4 4.8.4
[[File:HFt66.png]]
 
==Facebook Api==
*Menüü kuvamine iFramega
*Toitude hääletamine reaalajas


* Taavi Ilves
[[File:HSFBapi.jpg]]
* Tanel Liiv
* Indrek Kruuser
* Jaan Kruusma


== XML Fail ==
== XML Fail ==
Highlighted: http://sprunge.us/DPIe?xml


     <?xml version="1.0" encoding="utf-8" ?>
     <?xml version="1.0" encoding="utf-8" ?>
Line 143: Line 202:
</xsl:template>
</xsl:template>
</xsl:stylesheet>
</xsl:stylesheet>
== Veebiteenus ==


== Klientrakendus I : CMS ==
== ASP.Net aine raames adminni sisuhaldus ==
 
'''Nagu eelpool mainitud, kasutame MVC3 raamistikku, andmeid liigutab LINQ to entities.'''
 
'''Kasutajal tuleb autentida, selleks on aspi enda membership lahendus.'''
 
 
[[File:HFSB_login.png]]
 
 
'''Menüüde halduse esileht'''
 
 
[[File:HFSB_front.png]]
 
 
'''Kohvikute vaade, üldadmin näeb kõiki kohvikuid, tavaadmin ainult temaga seostatud kohvikuid'''
 
 
[[File:HFSB_cafes_front.png]]
 
'''Igal kohvikul on enda tooted..'''
 
[[File:HFSB_tooted_front.png]]
 
'''..mille sisestamine näeb välja selline:'''
 
[[File:HFSB_edit_product.png]]


== Klientrakendus I : Veebirakendus ==


'''Tooteid saab luua, kustutada ja välja lülitada (viimane toimub ajaxiga).
Tootel on küljes kehtivus kuupäev, vastavalt millele genereeritakse menüü. Menüüs on iga päeva peal toode, mis sel päeval kehtib.
'''
[[File:HFSB_menufilter.png]]


== Logi ==
== Logi ==
=== 3. Juuni===
Kaitsmise ettekande loomine
=== 17.-29. Mai===
Vigadeparandus ja silumine
=== 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 ===
=== 23. Veebruar ===
Tekkisid määramatusest tulenevad probleemid, haigestumine ja riigipühad.
Tekkisid määramatusest tulenevad probleemid, haigestumine ja riigipühad.

Latest revision as of 09:55, 10 June 2011

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 ja projekti kokkuvõte

Projekt algas entusiastlikult, valisime õppejõu poolt ette antud teema ning tegime sama mida paljud muudki, toitlustus ettevõtete menüü haldamise, kuvamise ja samuti menüü viimine uute sajandisse ehk Facebooki. Meie moto on algusest saadik olnud KISS - keep it simple stupid ja tarkvara arendasime feature driven development põhimõtteid jälgides ehk tegime komponenet haaval, alustades XMList andmebaas, teenuse ja rakenduse, ning viimasena FB rakenduse. Projekti osana on ka adminniliides, mis valmis aines asp.net. Teenuseid oli esialgu liiga vähe, kuid peale ettekannet lisasime neid juurde. Meie projekti tugevus on selle lihtsus ja kasutajamugavus samuti on meie tugevuseks rakendus Facebookiga integreerimine. Tehnilisel tasemel proovisime teha nii, et ei aja kasutajat segadusse.
+

  • Lihtne kasutada
  • Skoop oli õige
  • 2 ainet ühe hoobiga

-

  • Ajaplaneering
  • Tehnoloogiate vahel hüppamine
  • arendaja vaatepilt vs projektijuht


  • Punktide jaotus
    • Jaan Kruusma(19p) - projektijuht, analüüs
    • Taavi Ilves(23p) - arendus, veebiteenus, facebook api
    • Tanel Liiv(23p) - arendus, veebiteenus
    • Indrek Kruuser(15p) - arendus, 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

  • Menüü kuvamine iFramega
  • 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>

ASP.Net aine raames adminni sisuhaldus

Nagu eelpool mainitud, kasutame MVC3 raamistikku, andmeid liigutab LINQ to entities.

Kasutajal tuleb autentida, selleks on aspi enda membership lahendus.



Menüüde halduse esileht



Kohvikute vaade, üldadmin näeb kõiki kohvikuid, tavaadmin ainult temaga seostatud kohvikuid


Igal kohvikul on enda tooted..

..mille sisestamine näeb välja selline:


Tooteid saab luua, kustutada ja välja lülitada (viimane toimub ajaxiga).

Tootel on küljes kehtivus kuupäev, vastavalt millele genereeritakse menüü. Menüüs on iga päeva peal toode, mis sel päeval kehtib.

Logi

3. Juuni

Kaitsmise ettekande loomine

17.-29. Mai

Vigadeparandus ja silumine

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