Ordering: Difference between revisions
From ICO wiki
Jump to navigationJump to search
No edit summary |
|||
(10 intermediate revisions by one other user not shown) | |||
Line 3: | Line 3: | ||
== Meeskond == | == Meeskond == | ||
* Kelli Lukas | * Kelli Lukas - klientrakendus | ||
* Märt Lõhmus | * Märt Lõhmus - veebirakendus | ||
== | == Analüüs == | ||
'''Üldine kirjeldus''' | '''Üldine kirjeldus''' | ||
Line 13: | Line 13: | ||
== Tehnoloogiad == | == Tehnoloogiad == | ||
C#, WEB-API, | C#, ASP.NET WEB-API, Angular2, TypeScript | ||
== Rakenduse sisu == | == Rakenduse sisu == | ||
Line 37: | Line 37: | ||
<restoranid> | <restoranid> | ||
<restoran id="1"> | <restoran id="1"> | ||
<menyy> | |||
<toidud> | |||
<toit>![CDATA[Kanapraad]]</toit> | |||
<toit>![CDATA[Seapraad]]</toit> | |||
<toit>![CDATA[Fetasalat]]</toit> | |||
<toit>![CDATA[Oasalat]]</toit> | |||
</toidud> | |||
<joogid> | |||
<jook>![CDATA[Apelsinimahl]]</jook> | |||
<jook>![CDATA[Segumahl]]</jook> | |||
<jook>![CDATA[Coca-cola]]</jook> | |||
<jook>![CDATA[Fanta]]</jook> | |||
</joogid> | |||
</menyy> | |||
<teenindajad> | <teenindajad> | ||
<teenindaja>![CDATA[Maali]]</teenindaja> | <teenindaja>![CDATA[Maali]]</teenindaja> | ||
Line 187: | Line 189: | ||
=== XSLT === | === XSLT === | ||
==resturanide id== | |||
<pre> | |||
<?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:output method="html" indent="yes"/> | ||
<xsl:template match="/"> | <xsl:template match="/"> | ||
<html> | <html> | ||
Line 193: | Line 202: | ||
<title>Order fast/fi</title> | <title>Order fast/fi</title> | ||
</head> | </head> | ||
<body> | <body> | ||
<ul> | <ul> | ||
<xsl:for-each select="/restoranid/restoran"> | <xsl:for-each select="/restoranid/restoran"> | ||
<li> | <li> | ||
<xsl:value-of select="@id" /> | <xsl:value-of select="@id" /> | ||
</li> | </li> | ||
<ul> | <ul> | ||
<xsl:for-each select=" | <xsl:for-each select="toidud/toit"> | ||
<li> | <li> | ||
<xsl:value-of select="." /> | <xsl:value-of select="." /> | ||
Line 207: | Line 218: | ||
</xsl:for-each> | </xsl:for-each> | ||
</ul> | </ul> | ||
</xsl:for-each> | </xsl:for-each> | ||
</ul> | </ul> | ||
</body> | </body> | ||
</html> | </html> | ||
</xsl:template> | </xsl:template> | ||
</xsl:stylesheet> | </xsl:stylesheet> | ||
<?xml version="1.0" encoding="utf-8"?> | </pre> | ||
<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"> | ==resturanide toidud== | ||
<pre> | |||
<?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="/"> | <xsl:template match="/"> | ||
<html> | <html> | ||
Line 222: | Line 242: | ||
<title>Order fast/fi</title> | <title>Order fast/fi</title> | ||
</head> | </head> | ||
<body> | <body> | ||
<ul> | <ul> | ||
<xsl:for-each select="/restoranid/restoran"> | <xsl:for-each select="/restoranid/restoran"> | ||
<li> | <li> | ||
<xsl:value-of select="@id"/> | <xsl:value-of select="@id" /> | ||
</li> | </li> | ||
<ul> | <ul> | ||
<xsl:for-each select=" | <xsl:for-each select="teenindajad/teenindaja"> | ||
<xsl:sort select="."/> | |||
<li> | <li> | ||
<xsl:value-of select="."/> | <xsl:value-of select="." /> | ||
</li> | </li> | ||
</xsl:for-each> | </xsl:for-each> | ||
</ul> | </ul> | ||
</xsl:for-each> | </xsl:for-each> | ||
</ul> | </ul> | ||
</body> | </body> | ||
</html> | </html> | ||
</xsl:template> | </xsl:template> | ||
</xsl:stylesheet> | </xsl:stylesheet> | ||
</pre> |
Latest revision as of 22:52, 17 April 2016
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine"
Meeskond
- Kelli Lukas - klientrakendus
- Märt Lõhmus - veebirakendus
Analüüs
Üldine kirjeldus
Kavas on luua veebirakendus, kus restoranide klienditeenindajad saavad sisestada ning hallata tellimusi. Kokad saavad kiiresti teate uuest tellimusest ning kui täidetud, märgivad nad selle tehtuks. Seejärel saab teenindaja teate valmis tellimusest ning toimetada hõlpsalt klientideni. Selline süsteem kiirendab ning lihtsustab olukorda restoranides ning seda eriti siis, kui on kiire ja palju kliente. Andmeid päritakse keskserverilt läbi API.
Tehnoloogiad
C#, ASP.NET WEB-API, Angular2, TypeScript
Rakenduse sisu
MUST HAVE:
- Restorani loomine - laudade arvu defineerimine, nimi, tagid allergiatele/eridieetidele.
- Kasutajagrupid – restoran, teenindaja, köök
- Tellimuse loomine, muutmine, erivajadused/talumatused
- Kokale tellimuse märguande saatmine
- Tellimusel staatus "tehtud"
- Teenindaja saab märguande, viib toidu lauda
- Arve väljastamine lauale/inimesele
- Tellimus läheb arhiivi statistika pidamiseks
NICE TO HAVE:
- Laudade broneerimine
- Vabade laudade nägemine
- Teenindajatele laudade omistamine graafiku alusel
XML/XSD/XSLT
XML
<?xml version="1.0" encoding="utf-8" ?> <restoranid> <restoran id="1"> <menyy> <toidud> <toit>![CDATA[Kanapraad]]</toit> <toit>![CDATA[Seapraad]]</toit> <toit>![CDATA[Fetasalat]]</toit> <toit>![CDATA[Oasalat]]</toit> </toidud> <joogid> <jook>![CDATA[Apelsinimahl]]</jook> <jook>![CDATA[Segumahl]]</jook> <jook>![CDATA[Coca-cola]]</jook> <jook>![CDATA[Fanta]]</jook> </joogid> </menyy> <teenindajad> <teenindaja>![CDATA[Maali]]</teenindaja> <teenindaja>![CDATA[Juhan]]</teenindaja> <teenindaja>![CDATA[Juta]]</teenindaja> </teenindajad> <nimi>![CDATA[NOA restoran]]</nimi> <kohtadeArv>25</kohtadeArv> <lauad> <laud id="1" > <tellimused> <tellimus valmis="false"> <jook>![CDATA[Apelsinimahl]]</jook> <toit>![CDATA[Oasalat]]</toit> </tellimus> <tellimus valmis="false"> <jook>![CDATA[Segumahl]]</jook> <toit>![CDATA[Seapraad]]</toit> </tellimus> <tellimus valmis="false"> <jook>![CDATA[Segumahl]]</jook> <toit>![CDATA[Oasalat]]</toit> </tellimus> <tellimus valmis="false"> <jook>![CDATA[Fanta]]</jook> <toit>![CDATA[Fetasalat]]</toit> </tellimus> </tellimused> <teenindaja>![CDATA[Maali]]</teenindaja> </laud> <laud id="2" > <tellimused> <tellimus valmis="false"> <jook>![CDATA[Fanta]]</jook> <toit>![CDATA[Fetasalat]]</toit> </tellimus> <tellimus valmis="false"> <jook>![CDATA[Coca-cola]]</jook> <toit>![CDATA[Fetasalat]]</toit> </tellimus> </tellimused> <teenindaja>![CDATA[Juhan]]</teenindaja> </laud> <laud id="3" > <tellimused> <tellimus valmis="false"> <jook>![CDATA[Fanta]]</jook> <toit>![CDATA[Oasalat]]</toit> </tellimus> <tellimus valmis="false"> <jook>![CDATA[Apelsinimahl]]</jook> <toit>![CDATA[Fetasalat]]</toit> </tellimus> <tellimus valmis="false"> <jook>![CDATA[Coca-cola]]</jook> <toit>![CDATA[Kanapraad]]</toit> </tellimus> </tellimused> <teenindaja>![CDATA[Juta]]</teenindaja> </laud> </lauad> </restoran> </restoranid>
XSD
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="restoranid"> <xs:complexType> <xs:sequence> <xs:element name="restoran"> <xs:complexType> <xs:sequence> <xs:element name="toidud"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="toit" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="joogid"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="jook" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element name="teenindajad"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="teenindaja" maxOccurs="unbounded" minOccurs="0"/> </xs:sequence> </xs:complexType> </xs:element> <xs:element type="xs:string" name="nimi"/> <xs:element type="xs:byte" name="kohtadeArv"/> <xs:element name="lauad"> <xs:complexType> <xs:sequence> <xs:element name="laud" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element name="tellimused"> <xs:complexType> <xs:sequence> <xs:element name="tellimus" maxOccurs="unbounded" minOccurs="0"> <xs:complexType> <xs:sequence> <xs:element type="xs:string" name="jook"/> <xs:element type="xs:string" name="toit"/> </xs:sequence> <xs:attribute type="xs:string" name="valmis" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> <xs:element type="xs:string" name="teenindaja"/> </xs:sequence> <xs:attribute type="xs:byte" name="id" use="optional"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> <xs:attribute type="xs:byte" name="id"/> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element>
</xs:schema>
XSLT
resturanide id
<?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>Order fast/fi</title> </head> <body> <ul> <xsl:for-each select="/restoranid/restoran"> <li> <xsl:value-of select="@id" /> </li> <ul> <xsl:for-each select="toidud/toit"> <li> <xsl:value-of select="." /> </li> </xsl:for-each> </ul> </xsl:for-each> </ul> </body> </html> </xsl:template> </xsl:stylesheet>
resturanide toidud
<?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>Order fast/fi</title> </head> <body> <ul> <xsl:for-each select="/restoranid/restoran"> <li> <xsl:value-of select="@id" /> </li> <ul> <xsl:for-each select="teenindajad/teenindaja"> <xsl:sort select="."/> <li> <xsl:value-of select="." /> </li> </xsl:for-each> </ul> </xsl:for-each> </ul> </body> </html> </xsl:template> </xsl:stylesheet>