Spendings: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Tbusch (talk | contribs)
Tbusch (talk | contribs)
Line 223: Line 223:
== Retsensioon meeskonna BurgerAce veebiteenusele ja klientrakendusele ==
== Retsensioon meeskonna BurgerAce veebiteenusele ja klientrakendusele ==


BurgerAce on kasutanud ära REST apit ja teinud omale klient rakenduse veebi põhjal. Klient rakendus ei kasuta ühtegi referenci teiste projektis olevate klassidega (DLL, BLL jne..).  
BurgerAce on kasutanud ära REST API't ja teinud omale klient rakenduse veebi põhjal. Klient rakendus ei kasuta ühtegi referenci teiste projektis olevate klassidega (DLL, BLL jne..).  
Antud rakenduse puhul ei õnnestu mul ennast registreerida ja ühtegi teadet ka selle kohta ei saa, miks see sedasi on. Antud lahenduse puhul ei kasutata ära andmebaasi initsialiseerimisel testandmete loomist, vaid projekti on kaasa lisatud mingisugune .mdf fail, mida ma ei oska kusagile lisada (ei ole ka õpetust, kuidas sellega ümber käia).
Antud rakenduse puhul ei õnnestu mul ennast registreerida ja ühtegi teadet ka selle kohta ei saa, miks see sedasi on.  
 
Antud lahenduse puhul ei kasutata ära andmebaasi initsialiseerimisel testandmete loomist, vaid projekti on kaasa lisatud mingisugune .mdf fail, mida ma ei oska kusagile lisada (ei ole ka õpetust, kuidas sellega ümber käia). Config failist vaadates justkui võetakse see fail külge, kuid neid andmeid ei kuvata kasutatavas andmebaasis.
 
Projektis kasutatakse ilusasti ära kihtide loogikat, äriloogika, mudelid ja andmebaasi ühendused on eraldi API teenusest. Samuti on nähtavalt ära kasutatud UOW'd. API päringute tegemisel kasutatakse ära ''service'''id

Revision as of 22:35, 9 June 2016

Meeskond ja rollid

  • Tauri Busch


Veebi ja klientrakendus

https://onedrive.live.com/redir?resid=CB31A5BF4D021D3E!295076&authkey=!AJZlmiKEkMpVO4o&ithint=folder%2c

Kävitata tuleb:

1) WCF.Host

2) WindowsUniversalClient


Hetkel ei toimi üksuste uuendamine, tekib mingi serveri poolne viga..

NB! Kasutan andmebaasi connection stringina (localdb)\v11.0 Kui seda testitavas arvutis ei ole, siis tuleks see WCF.Host config failis ära muuta.

Idee ja analüüs

Projekti idee

Luua teenus, mille kaudu on võimalik sisestada igapäevaseid kulutusi ja sissetulekuid, sisestada oma kuu eelarve ja üritada sellest kinni pidada. Kulutusi ja tulusid on võimalik lisada kategooriate kaupa, mida saab kasutaja ise määrata. Kasutajal on võimalus jälgida ja hallata läbi klient rakenduse oma kulutuste kohti, võimalus määrata oma kulutused kategooriatesse. Lisaks saab klient rakenduse läbi määrata ja jälgida oma jooksva kuu eelarvet.


Rakenduse sisu

Teenuses on olemas järgmised võimalused (Must have):

Võimalus luua kasutaja

Kasutaja saab sisestada, muuta, kustutada kulutusi ja tulusid

Kasutaja saab määrata kulusid ja tulusid kategooriatesse


Teenuses võiksid olla lisavõimalused (Nice to have):

Võimalus määrata püsivaid sissetulekuid (näiteks palk)

Määrata päeva/kuu/aasta eelarvet

Jagada teiste kasutajatega oma eelarvet (ühine pere eelarve)


Klient rakenduse (Must have):

Saab näha olemasolevaid sissekandeid kulutuste ja tulude kohta

Saab määrata oma oma kuu eelarve ja jälgida seda


Klient rakenduse (Nice to have):

Võimalus teha (telefoniga) pilt arvest ja see läbi scannida sisse


XML Fail

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

<Spendings>
  <MoneyInOut>
    <Type>Expense</Type>
    <Type>Income</Type>
  </MoneyInOut>
  <Categories>
    <Category name="Minu kulutused" limit="500" current="482">
      <Description><![CDATA[Minuga soetud kulutused on siin]]></Description>
      <ResetDay>7</ResetDay>
      <SubCategories>
        <SubCategory name="Remont" id="D3D1C80D-C722-E611-B1EF-083E8EF0777A">
          <Description><![CDATA[Remondikulud]]></Description>
        </SubCategory>
        <SubCategory name="Kütus" id="D3D1C80D-C722-E611-B1EF-083E8EF0777B">
          <Description><![CDATA[]]></Description>
        </SubCategory>
      </SubCategories>
      <Spendings>
        <Spending name="Ratta vahetus" id="D3D1C80D-C722-E611-B1EF-083E8EF0776E" subCatId="D3D1C80D-C722-E611-B1EF-083E8EF0777A" time="25.05.2016 14:00" value="26">
          <MoneyInOut>Expense</MoneyInOut>
          <Descritpion><![CDATA[Ratas sõitis minema]]></Descritpion>
        </Spending>
        <Spending name="Põhja keevitus" id="C3D1C80D-C722-E611-B1EF-083E8EF0776E" subCatId="D3D1C80D-C722-E611-B1EF-083E8EF0777A" time="24.05.2016 14:00" value="200">
          <MoneyInOut>Expense</MoneyInOut>
          <Descritpion><![CDATA[Põhi sõitis minema]]></Descritpion>
        </Spending>
        <Spending name="Ukse vahetus" id="B3D1C80D-C722-E611-B1EF-083E8EF0776E" subCatId="D3D1C80D-C722-E611-B1EF-083E8EF0777A" time="20.05.2016 14:00" value="236">
          <MoneyInOut>Expense</MoneyInOut>
          <Descritpion><![CDATA[Uks lendas minema]]></Descritpion>
        </Spending>
        <Spending name="Diisel" id="A3D1C80D-C722-E611-B1EF-083E8EF0777B" subCatId="D3D1C80D-C722-E611-B1EF-083E8EF0777B" time="21.05.2016 14:00" value="20">
          <MoneyInOut>Expense</MoneyInOut>
          <Descritpion><![CDATA[20L]]></Descritpion>
        </Spending>
      </Spendings>
    </Category>
    <Category name="Kool" limit="200" current="116.5">
      <Description><![CDATA[Kooliga seotud kulud]]></Description>
      <ResetDay>7</ResetDay>
      <SubCategories>
        <SubCategory name="Kapirent" id="D3D1C80D-C722-E611-B1EF-183E8EF0777A">
          <Description><![CDATA[]]></Description>
        </SubCategory>
        <SubCategory name="Võlgnevus" id="D3D1C80D-C722-E611-B1EF-183E8EF0777B">
          <Description><![CDATA[]]></Description>
        </SubCategory>
      </SubCategories>
      <Spendings>
        <Spending name="Kapirent" id="D3D1C80D-C722-E611-B1EF-083E8EF0776E" subCatId="D3D1C80D-C722-E611-B1EF-183E8EF0777A" time="7.03.2016 14:00" value="5.5">
          <MoneyInOut>Expense</MoneyInOut>
          <Descritpion><![CDATA[]]></Descritpion>
        </Spending>
        <Spending name="Kapirent" id="C3D1C80D-C722-E611-B1EF-083E8EF0776E" subCatId="D3D1C80D-C722-E611-B1EF-183E8EF0777A" time="7.04.2016 14:00" value="5.5">
          <MoneyInOut>Expense</MoneyInOut>
          <Descritpion><![CDATA[]]></Descritpion>
        </Spending>
        <Spending name="Kapirent" id="B3D1C80D-C722-E611-B1EF-083E8EF0776E" subCatId="D3D1C80D-C722-E611-B1EF-183E8EF0777A" time="7.05.2016 14:00" value="5.5">
          <MoneyInOut>Expense</MoneyInOut>
          <Descritpion><![CDATA[]]></Descritpion>
        </Spending>
        <Spending name="Võlgnevus" id="A3D1C80D-C722-E611-B1EF-083E8EF0777B" subCatId="D3D1C80D-C722-E611-B1EF-183E8EF0777B" time="21.02.2016 14:00" value="50">
          <MoneyInOut>Expense</MoneyInOut>
          <Descritpion><![CDATA[]]></Descritpion>
        </Spending>
        <Spending name="Võlgnevus" id="A3D1C80D-C722-E611-B1EF-083E8EF0777B" subCatId="D3D1C80D-C722-E611-B1EF-183E8EF0777B" time="21.03.2016 14:00" value="50">
          <MoneyInOut>Expense</MoneyInOut>
          <Descritpion><![CDATA[]]></Descritpion>
        </Spending>
      </Spendings>
    </Category>
  </Categories>
</Spendings>


XML 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="Spendings">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="MoneyInOut">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="Type" type="xs:string" />
            </xs:sequence>
          </xs:complexType>
        </xs:element>
        <xs:element name="Categories">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="Category" >
                <xs:complexType>
                  <xs:sequence>
                    <xs:element name="Description" type="xs:string" />
                    <xs:element name="ResetDay" type="xs:unsignedInt" />
                    <xs:element name="SubCategories">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded" name="SubCategory">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="Description" type="xs:string" />
                              </xs:sequence>
                              <xs:attribute name="name" type="xs:string" use="required" />
                              <xs:attribute name="id" type="xs:string" use="required" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                    <xs:element name="Spendings">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element maxOccurs="unbounded" name="Spending">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element name="MoneyInOut" type="xs:string" />
                                <xs:element name="Descritpion" type="xs:string" />
                              </xs:sequence>
                              <xs:attribute name="name" type="xs:string" use="required" />
                              <xs:attribute name="id" type="xs:string" use="required" />
                              <xs:attribute name="subCatId" type="xs:string" use="required" />
                              <xs:attribute name="time" type="xs:dateTime" use="required" />
                              <xs:attribute name="value" type="xs:decimal" use="required" />
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="name" type="xs:string" use="required" />
                  <xs:attribute name="limit" type="xs:unsignedShort" />
                  <xs:attribute name="current" type="xs:decimal" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT

Pole olemas :(


Retsensioon meeskonna BurgerAce veebiteenusele ja klientrakendusele

BurgerAce on kasutanud ära REST API't ja teinud omale klient rakenduse veebi põhjal. Klient rakendus ei kasuta ühtegi referenci teiste projektis olevate klassidega (DLL, BLL jne..). Antud rakenduse puhul ei õnnestu mul ennast registreerida ja ühtegi teadet ka selle kohta ei saa, miks see sedasi on.

Antud lahenduse puhul ei kasutata ära andmebaasi initsialiseerimisel testandmete loomist, vaid projekti on kaasa lisatud mingisugune .mdf fail, mida ma ei oska kusagile lisada (ei ole ka õpetust, kuidas sellega ümber käia). Config failist vaadates justkui võetakse see fail külge, kuid neid andmeid ei kuvata kasutatavas andmebaasis.

Projektis kasutatakse ilusasti ära kihtide loogikat, äriloogika, mudelid ja andmebaasi ühendused on eraldi API teenusest. Samuti on nähtavalt ära kasutatud UOW'd. API päringute tegemisel kasutatakse ära service'id