User:Meeskond: VeebiGurmaanid: Difference between revisions
m Kkorvel moved page Talk:Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" 2017 to User:Meeskond: VeebiGurmaanid |
No edit summary |
||
(9 intermediate revisions by the same user not shown) | |||
Line 11: | Line 11: | ||
== XML fail == | == XML fail == | ||
Retseptid koos nende valmistamisjuhenditega. | |||
<source lang="xml"> | |||
<?xml version="1.0" encoding="utf-8"?> | |||
<retseptiraamat> | |||
<retseptid> | |||
<retsept retseptID="1" autorId="1" kategooria="kalatoidud" nimetus="kalasupp"> | |||
<komponendid> | |||
<komponent komponentID="1" nimetus="vesi" komponentMootyhik="dl" kogus="200">Vesi</komponent> | |||
<komponent komponentID="2" nimetus="kala" komponentMootyhik="g" kogus="300">Kala</komponent> | |||
<komponent komponentID="3" nimetus="kartul" komponentMootyhik="g" kogus="100">Kartul</komponent> | |||
<komponent komponentID="4" nimetus="porgand" komponentMootyhik="g" kogus="100">Porgand</komponent> | |||
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent> | |||
<komponent komponentID="6" nimetus="kaalikas" komponentMootyhik="g" kogus="50">Kaalikas</komponent> | |||
</komponendid> | |||
<valmistamisjuhendid> | |||
<valmistamisjuhend>1.Hakkida juurviljad</valmistamisjuhend> | |||
<valmistamisjuhend>2.Lisada kala</valmistamisjuhend> | |||
<valmistamisjuhend>3.Keeta 20 minutit</valmistamisjuhend> | |||
</valmistamisjuhendid> | |||
</retsept> | |||
<retsept retseptID="2" autorId="2" kategooria="linnulihatoidud" nimetus="kanapasta"> | |||
<komponendid> | |||
<komponent komponentID="7" nimetus="kanafilee" komponentMootyhik="g" kogus="300">Kanafilee</komponent> | |||
<komponent komponentID="8" nimetus="makaronid" komponentMootyhik="g" kogus="300">Makaronid</komponent> | |||
<komponent komponentID="9" nimetus="sinihalitusjuust" komponentMootyhik="g" kogus="30">Sinihallitusjuust</komponent> | |||
<komponent komponentID="4" nimetus="porgand" komponentMootyhik="g" kogus="70">Porgand</komponent> | |||
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent> | |||
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent> | |||
</komponendid> | |||
<valmistamisjuhendid> | |||
<valmistamisjuhend>1.Praadida kanafilee</valmistamisjuhend> | |||
<valmistamisjuhend>2.Keeta makaronid</valmistamisjuhend> | |||
<valmistamisjuhend>3.Segada k�ik kokku</valmistamisjuhend> | |||
</valmistamisjuhendid> | |||
</retsept> | |||
<retsept retseptID="3" autorId="2" kategooria="taimetoidud" nimetus="lihata praekartulid"> | |||
<komponendid> | |||
<komponent komponentID="3" nimetus="kartul" komponentMootyhik="g" kogus="100">Kartul</komponent> | |||
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent> | |||
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent> | |||
<komponent komponentID="11" nimetus="toidu�li" komponentMootyhik="g" kogus="5">Toidu�li</komponent> | |||
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="1">Sool</komponent> | |||
</komponendid> | |||
<valmistamisjuhendid> | |||
<valmistamisjuhend>1.Kuumuta pannil �li</valmistamisjuhend> | |||
<valmistamisjuhend>2.Lisa kartulid ja sibul,prae 15 minutit</valmistamisjuhend> | |||
<valmistamisjuhend>3.Maitsesta soolaga</valmistamisjuhend> | |||
</valmistamisjuhendid> | |||
</retsept> | |||
<retsept retseptID="4" autorId="2" kategooria="magustoidud" nimetus="hõrk kohuke"> | |||
<komponendid> | |||
<komponent komponentID="1" nimetus="vesi" komponentMootyhik="dl" kogus="20">Vesi</komponent> | |||
<komponent komponentID="13" nimetus="kohupiim" komponentMootyhik="g" kogus="100">Kohupiim</komponent> | |||
<komponent komponentID="14" nimetus="suhkur" komponentMootyhik="g" kogus="50">Suhkur</komponent> | |||
<komponent komponentID="15" nimetus="šokolaad" komponentMootyhik="g" kogus="75">Šokolaad</komponent> | |||
</komponendid> | |||
<valmistamisjuhendid> | |||
<valmistamisjuhend>1.Maitsestada kohupiim</valmistamisjuhend> | |||
<valmistamisjuhend>2.Šokolaad tuleb panna sulama</valmistamisjuhend> | |||
<valmistamisjuhend>3.Kata kohupiim õrna šokolaadi kihiga.</valmistamisjuhend> | |||
</valmistamisjuhendid> | |||
</retsept> | |||
<retsept retseptID="5" autorId="1" kategooria="pirukad" nimetus="porgandipirukad"> | |||
<komponendid> | |||
<komponent komponentID="4" nimetus="porgand" komponentMootyhik="g" kogus="100">Porgand</komponent> | |||
<komponent komponentID="14" nimetus="suhkur" komponentMootyhik="g" kogus="20">Suhkur</komponent> | |||
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent> | |||
<komponent komponentID="11" nimetus="toidu�li" komponentMootyhik="g" kogus="30">Toidu�li</komponent> | |||
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="10">Sool</komponent> | |||
<komponent komponentID="16" nimetus="jahu" komponentMootyhik="g" kogus="100">Jahu</komponent> | |||
</komponendid> | |||
<valmistamisjuhendid> | |||
<valmistamisjuhend>1.Tee tainas valmis</valmistamisjuhend> | |||
<valmistamisjuhend>2.Pane taigna sisse tükeldatud porgandid</valmistamisjuhend> | |||
<valmistamisjuhend>3.Maitsesta soolaga</valmistamisjuhend> | |||
<valmistamisjuhend>4.Prae pirukad kuumas õlis.</valmistamisjuhend> | |||
</valmistamisjuhendid> | |||
</retsept> | |||
<retsept retseptID="6" autorId="1" kategooria="kastmed" nimetus="jahukaste kartulitele"> | |||
<komponendid> | |||
<komponent komponentID="1" nimetus="vesi" komponentMootyhik="dl" kogus="100">Vesi</komponent> | |||
<komponent komponentID="16" nimetus="jahu" komponentMootyhik="g" kogus="10">Jahu</komponent> | |||
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent> | |||
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="10">Sool</komponent> | |||
</komponendid> | |||
<valmistamisjuhendid> | |||
<valmistamisjuhend>1.Tükelda sibulad</valmistamisjuhend> | |||
<valmistamisjuhend>2.Sega jahu läbi veega</valmistamisjuhend> | |||
<valmistamisjuhend>3.Maitsesta soolaga</valmistamisjuhend> | |||
<valmistamisjuhend>4.Lisa sibulad jahukastmesse</valmistamisjuhend> | |||
</valmistamisjuhendid> | |||
</retsept> | |||
</retseptid> | |||
</retseptiraamat> | |||
</source> | |||
=== XSD fail === | |||
<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="retseptiraamat"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="retseptid"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="unbounded" name="retsept"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element name="komponendid"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="unbounded" name="komponent"> | |||
<xs:complexType> | |||
<xs:simpleContent> | |||
<xs:extension base="xs:string"> | |||
<xs:attribute name="komponentID" type="xs:unsignedByte" use="required" /> | |||
<xs:attribute name="nimetus" type="xs:string" use="required" /> | |||
<xs:attribute name="komponentMootyhik" type="xs:string" use="required" /> | |||
<xs:attribute name="kogus" type="xs:unsignedShort" use="required" /> | |||
</xs:extension> | |||
</xs:simpleContent> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
<xs:element name="valmistamisjuhendid"> | |||
<xs:complexType> | |||
<xs:sequence> | |||
<xs:element maxOccurs="unbounded" name="valmistamisjuhend" type="xs:string" /> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
<xs:attribute name="retseptID" type="xs:unsignedByte" use="required" /> | |||
<xs:attribute name="autorId" type="xs:unsignedByte" use="required" /> | |||
<xs:attribute name="kategooria" type="xs:string" use="required" /> | |||
<xs:attribute name="nimetus" type="xs:string" use="required" /> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:sequence> | |||
</xs:complexType> | |||
</xs:element> | |||
</xs:schema> | |||
</source> | |||
===XSLT=== | |||
XSLT => HTML: Kõikide retseptide kuvamine, koos komponentidega. | |||
<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> | |||
<head> | |||
<title>Toidud</title> | |||
</head> | |||
<body> | |||
<h2>Toidud</h2> | |||
<ul> | |||
<xsl:for-each select="retseptiraamat/retseptid/retsept" > | |||
<xsl:sort select="@nimetus" order="ascending"/> | |||
<table border="1"> | |||
<tr> | |||
<td>Nimetus</td> | |||
<td> | |||
<xsl:value-of select="@nimetus"/> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td>retseptID</td> | |||
<td> | |||
<xsl:value-of select="@retseptID"/> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td>autorID</td> | |||
<td> | |||
<xsl:value-of select="@autorId"/> | |||
</td> | |||
</tr> | |||
<tr> | |||
<td>kategooria</td> | |||
<td> | |||
<xsl:value-of select="@kategooria"/> | |||
</td> | |||
</tr> | |||
<xsl:for-each select="komponendid"> | |||
<tr> | |||
<td>Komponendid</td> | |||
<td> | |||
<xsl:for-each select="komponent"> | |||
<li> | |||
<xsl:value-of select="." /> | |||
</li> | |||
</xsl:for-each> | |||
</td> | |||
</tr> | |||
</xsl:for-each> | |||
</table> | |||
<xsl:if test="not(position()=last())"> | |||
<br /> | |||
</xsl:if> | |||
</xsl:for-each> | |||
</ul> | |||
</body> | |||
</html> | |||
</xsl:template> | |||
</xsl:stylesheet> | |||
</source> | |||
===XSLT_Teine=== | |||
XSLT => HTML: Retseptide kuvamine, mille autoriks on autorid=2 | |||
<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> | |||
<h1>Minu Retseptid</h1> | |||
<ul> | |||
<xsl:for-each select="retseptiraamat/retseptid/retsept" > | |||
<xsl:sort select="@nimetus" order="ascending"/> | |||
<xsl:if test = "@autorId ='2'"> | |||
<li> | |||
<xsl:value-of select="@nimetus"/> | |||
</li> | |||
<ul> | |||
<xsl:for-each select="valmistamisjuhendid/valmistamisjuhend"> | |||
<li> | |||
<xsl:value-of select="."/> | |||
</li> | |||
</xsl:for-each> | |||
</ul> | |||
</xsl:if> | |||
</xsl:for-each> | |||
</ul> | |||
</body> | |||
</html> | |||
</xsl:template> | |||
</xsl:stylesheet> | |||
</source> | |||
===XSLT_kolmas_xml=== | |||
XSLT => XML: Retsepti komponentide kuvamine retsepti ID järgi. | |||
<source lang="xml"> | |||
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0"> | |||
<xsl:output method="xml" indent="yes"/> | |||
<xsl:template match="/"> | |||
<xsl:element name="retseptid"> | |||
<xsl:for-each select="retseptiraamat/retseptid/retsept"> | |||
<xsl:element name="retsept"> | |||
<xsl:attribute name="retseptID"> | |||
<xsl:value-of select="@retseptID"/> | |||
</xsl:attribute> | |||
<xsl:copy-of select="komponendid"/> | |||
</xsl:element> | |||
</xsl:for-each> | |||
</xsl:element> | |||
</xsl:template> | |||
</xsl:stylesheet> | |||
</source> | |||
Tulemuseks on selline asi: | |||
<source lang="xml"> | |||
<retseptid> | |||
<retsept retseptID="1"> | |||
<komponendid> | |||
<komponent komponentID="1" | |||
nimetus="vesi" | |||
komponentMootyhik="dl" | |||
kogus="200">Vesi</komponent> | |||
<komponent komponentID="2" | |||
nimetus="kala" | |||
komponentMootyhik="g" | |||
kogus="300">Kala</komponent> | |||
<komponent komponentID="3" | |||
nimetus="kartul" | |||
komponentMootyhik="g" | |||
kogus="100">Kartul</komponent> | |||
<komponent komponentID="4" | |||
nimetus="porgand" | |||
komponentMootyhik="g" | |||
kogus="100">Porgand</komponent> | |||
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent> | |||
<komponent komponentID="6" | |||
nimetus="kaalikas" | |||
komponentMootyhik="g" | |||
kogus="50">Kaalikas</komponent> | |||
</komponendid> | |||
</retsept> | |||
<retsept retseptID="2"> | |||
<komponendid> | |||
<komponent komponentID="7" | |||
nimetus="kanafilee" | |||
komponentMootyhik="g" | |||
kogus="300">Kanafilee</komponent> | |||
<komponent komponentID="8" | |||
nimetus="makaronid" | |||
komponentMootyhik="g" | |||
kogus="300">Makaronid</komponent> | |||
<komponent komponentID="9" | |||
nimetus="sinihalitusjuust" | |||
komponentMootyhik="g" | |||
kogus="30">Sinihallitusjuust</komponent> | |||
<komponent komponentID="4" | |||
nimetus="porgand" | |||
komponentMootyhik="g" | |||
kogus="70">Porgand</komponent> | |||
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent> | |||
<komponent komponentID="10" | |||
nimetus="sibul" | |||
komponentMootyhik="g" | |||
kogus="50">Sibul</komponent> | |||
</komponendid> | |||
</retsept> | |||
<retsept retseptID="3"> | |||
<komponendid> | |||
<komponent komponentID="3" | |||
nimetus="kartul" | |||
komponentMootyhik="g" | |||
kogus="100">Kartul</komponent> | |||
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent> | |||
<komponent komponentID="10" | |||
nimetus="sibul" | |||
komponentMootyhik="g" | |||
kogus="50">Sibul</komponent> | |||
<komponent komponentID="11" | |||
nimetus="toidu�li" | |||
komponentMootyhik="g" | |||
kogus="5">Toidu�li</komponent> | |||
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="1">Sool</komponent> | |||
</komponendid> | |||
</retsept> | |||
<retsept retseptID="4"> | |||
<komponendid> | |||
<komponent komponentID="1" | |||
nimetus="vesi" | |||
komponentMootyhik="dl" | |||
kogus="20">Vesi</komponent> | |||
<komponent komponentID="13" | |||
nimetus="kohupiim" | |||
komponentMootyhik="g" | |||
kogus="100">Kohupiim</komponent> | |||
<komponent komponentID="14" | |||
nimetus="suhkur" | |||
komponentMootyhik="g" | |||
kogus="50">Suhkur</komponent> | |||
<komponent komponentID="15" | |||
nimetus="šokolaad" | |||
komponentMootyhik="g" | |||
kogus="75">Šokolaad</komponent> | |||
</komponendid> | |||
</retsept> | |||
<retsept retseptID="5"> | |||
<komponendid> | |||
<komponent komponentID="4" | |||
nimetus="porgand" | |||
komponentMootyhik="g" | |||
kogus="100">Porgand</komponent> | |||
<komponent komponentID="14" | |||
nimetus="suhkur" | |||
komponentMootyhik="g" | |||
kogus="20">Suhkur</komponent> | |||
<komponent komponentID="10" | |||
nimetus="sibul" | |||
komponentMootyhik="g" | |||
kogus="50">Sibul</komponent> | |||
<komponent komponentID="11" | |||
nimetus="toidu�li" | |||
komponentMootyhik="g" | |||
kogus="30">Toidu�li</komponent> | |||
<komponent komponentID="12" | |||
nimetus="sool" | |||
komponentMootyhik="g" | |||
kogus="10">Sool</komponent> | |||
<komponent komponentID="16" | |||
nimetus="jahu" | |||
komponentMootyhik="g" | |||
kogus="100">Jahu</komponent> | |||
</komponendid> | |||
</retsept> | |||
<retsept retseptID="6"> | |||
<komponendid> | |||
<komponent komponentID="1" | |||
nimetus="vesi" | |||
komponentMootyhik="dl" | |||
kogus="100">Vesi</komponent> | |||
<komponent komponentID="16" | |||
nimetus="jahu" | |||
komponentMootyhik="g" | |||
kogus="10">Jahu</komponent> | |||
<komponent komponentID="10" | |||
nimetus="sibul" | |||
komponentMootyhik="g" | |||
kogus="50">Sibul</komponent> | |||
<komponent komponentID="12" | |||
nimetus="sool" | |||
komponentMootyhik="g" | |||
kogus="10">Sool</komponent> | |||
</komponendid> | |||
</retsept> | |||
</retseptid> | |||
</source> | |||
== Veebiteenuse analüüs == | |||
====Rakenduse üldkirjeldus==== | |||
VeebiGurmaanide idee on teha sarnane toidu retseptiraamat veebis, nagu on näiteks Toidutare ja Nami-Nami, aga lihtsama ja mugavama kasutajaliidesega. Rakendus peaks võimaldama retsepte lisada, vaadata, muuta, hinnata, valmistamisjuhendit kuvada, kommenteerida ja lemmikuks lisada. Retseptide lisamiseks, hindamiseks, kommenteerimiseks, muutmiseks ja kustutamiseks on vaja inimesel teha kasutajakonto meie keskkonda. Küll aga saab ilma kasutajat tegemata retsepte vaadata. Idee on selles, et kasutaja logib sisse, peale sisselogimist on võimalik lisada uus toiduretsept. Toiduretsepti lisades saab kindlasti panna toidukomponendite loetelu koos mõõtühikutega. Samuti saab kasutaja lisada ka valmistamisjuhendi. Ehk siis loetelu või etapid, mida teha selleks, et vastav toit valmiks. Kasutaja võiks saada lisada ka toidust pildi. Kui retsept on lisatud, siis saavad teised kasutajad seda hinnata 5 palli süsteemis. Kindlasti on vaja suurt rõhku panna ka veebirakenduse disainile, sest kes sooviks ikka retsepte vaadata kohast, mis on kole ja ajast maas disainiga. | |||
====Problemaatika==== | |||
Võimalikud probleemid võivad olla: ajapuudus ja loogikavead. | |||
====Must have==== | |||
kasutajate loomine, muutmine, kustutamine. | |||
*retseptide sisestamine, muutmine. | |||
*retseptide kuvamine. | |||
*retseptide hindamine | |||
*retseptide otsing | |||
====Nice to have==== | |||
*retseptide kommenteerimine | |||
*lemmikuks lisamine | |||
*täiendatud otsingusüsteem (koostisosade järgi nt) | |||
*pildi lisamise võimalus retseptile | |||
*korralik disain, mis pakub kasutajale silmailu |
Latest revision as of 20:03, 17 April 2017
Meeskond: VeebiGurmaanid
Meeskond
- Koit Kõrvel
- Marko Kask
- Melissa Eenmaa
- Joosep Koort
Idee
XML fail
Retseptid koos nende valmistamisjuhenditega.
<?xml version="1.0" encoding="utf-8"?>
<retseptiraamat>
<retseptid>
<retsept retseptID="1" autorId="1" kategooria="kalatoidud" nimetus="kalasupp">
<komponendid>
<komponent komponentID="1" nimetus="vesi" komponentMootyhik="dl" kogus="200">Vesi</komponent>
<komponent komponentID="2" nimetus="kala" komponentMootyhik="g" kogus="300">Kala</komponent>
<komponent komponentID="3" nimetus="kartul" komponentMootyhik="g" kogus="100">Kartul</komponent>
<komponent komponentID="4" nimetus="porgand" komponentMootyhik="g" kogus="100">Porgand</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="6" nimetus="kaalikas" komponentMootyhik="g" kogus="50">Kaalikas</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Hakkida juurviljad</valmistamisjuhend>
<valmistamisjuhend>2.Lisada kala</valmistamisjuhend>
<valmistamisjuhend>3.Keeta 20 minutit</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
<retsept retseptID="2" autorId="2" kategooria="linnulihatoidud" nimetus="kanapasta">
<komponendid>
<komponent komponentID="7" nimetus="kanafilee" komponentMootyhik="g" kogus="300">Kanafilee</komponent>
<komponent komponentID="8" nimetus="makaronid" komponentMootyhik="g" kogus="300">Makaronid</komponent>
<komponent komponentID="9" nimetus="sinihalitusjuust" komponentMootyhik="g" kogus="30">Sinihallitusjuust</komponent>
<komponent komponentID="4" nimetus="porgand" komponentMootyhik="g" kogus="70">Porgand</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Praadida kanafilee</valmistamisjuhend>
<valmistamisjuhend>2.Keeta makaronid</valmistamisjuhend>
<valmistamisjuhend>3.Segada k�ik kokku</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
<retsept retseptID="3" autorId="2" kategooria="taimetoidud" nimetus="lihata praekartulid">
<komponendid>
<komponent komponentID="3" nimetus="kartul" komponentMootyhik="g" kogus="100">Kartul</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent>
<komponent komponentID="11" nimetus="toidu�li" komponentMootyhik="g" kogus="5">Toidu�li</komponent>
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="1">Sool</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Kuumuta pannil �li</valmistamisjuhend>
<valmistamisjuhend>2.Lisa kartulid ja sibul,prae 15 minutit</valmistamisjuhend>
<valmistamisjuhend>3.Maitsesta soolaga</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
<retsept retseptID="4" autorId="2" kategooria="magustoidud" nimetus="hõrk kohuke">
<komponendid>
<komponent komponentID="1" nimetus="vesi" komponentMootyhik="dl" kogus="20">Vesi</komponent>
<komponent komponentID="13" nimetus="kohupiim" komponentMootyhik="g" kogus="100">Kohupiim</komponent>
<komponent komponentID="14" nimetus="suhkur" komponentMootyhik="g" kogus="50">Suhkur</komponent>
<komponent komponentID="15" nimetus="šokolaad" komponentMootyhik="g" kogus="75">Šokolaad</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Maitsestada kohupiim</valmistamisjuhend>
<valmistamisjuhend>2.Šokolaad tuleb panna sulama</valmistamisjuhend>
<valmistamisjuhend>3.Kata kohupiim õrna šokolaadi kihiga.</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
<retsept retseptID="5" autorId="1" kategooria="pirukad" nimetus="porgandipirukad">
<komponendid>
<komponent komponentID="4" nimetus="porgand" komponentMootyhik="g" kogus="100">Porgand</komponent>
<komponent komponentID="14" nimetus="suhkur" komponentMootyhik="g" kogus="20">Suhkur</komponent>
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent>
<komponent komponentID="11" nimetus="toidu�li" komponentMootyhik="g" kogus="30">Toidu�li</komponent>
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="10">Sool</komponent>
<komponent komponentID="16" nimetus="jahu" komponentMootyhik="g" kogus="100">Jahu</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Tee tainas valmis</valmistamisjuhend>
<valmistamisjuhend>2.Pane taigna sisse tükeldatud porgandid</valmistamisjuhend>
<valmistamisjuhend>3.Maitsesta soolaga</valmistamisjuhend>
<valmistamisjuhend>4.Prae pirukad kuumas õlis.</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
<retsept retseptID="6" autorId="1" kategooria="kastmed" nimetus="jahukaste kartulitele">
<komponendid>
<komponent komponentID="1" nimetus="vesi" komponentMootyhik="dl" kogus="100">Vesi</komponent>
<komponent komponentID="16" nimetus="jahu" komponentMootyhik="g" kogus="10">Jahu</komponent>
<komponent komponentID="10" nimetus="sibul" komponentMootyhik="g" kogus="50">Sibul</komponent>
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="10">Sool</komponent>
</komponendid>
<valmistamisjuhendid>
<valmistamisjuhend>1.Tükelda sibulad</valmistamisjuhend>
<valmistamisjuhend>2.Sega jahu läbi veega</valmistamisjuhend>
<valmistamisjuhend>3.Maitsesta soolaga</valmistamisjuhend>
<valmistamisjuhend>4.Lisa sibulad jahukastmesse</valmistamisjuhend>
</valmistamisjuhendid>
</retsept>
</retseptid>
</retseptiraamat>
XSD fail
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="retseptiraamat">
<xs:complexType>
<xs:sequence>
<xs:element name="retseptid">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="retsept">
<xs:complexType>
<xs:sequence>
<xs:element name="komponendid">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="komponent">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:string">
<xs:attribute name="komponentID" type="xs:unsignedByte" use="required" />
<xs:attribute name="nimetus" type="xs:string" use="required" />
<xs:attribute name="komponentMootyhik" type="xs:string" use="required" />
<xs:attribute name="kogus" type="xs:unsignedShort" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="valmistamisjuhendid">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="valmistamisjuhend" type="xs:string" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="retseptID" type="xs:unsignedByte" use="required" />
<xs:attribute name="autorId" type="xs:unsignedByte" use="required" />
<xs:attribute name="kategooria" type="xs:string" use="required" />
<xs:attribute name="nimetus" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT
XSLT => HTML: Kõikide retseptide kuvamine, koos komponentidega.
<?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>Toidud</title>
</head>
<body>
<h2>Toidud</h2>
<ul>
<xsl:for-each select="retseptiraamat/retseptid/retsept" >
<xsl:sort select="@nimetus" order="ascending"/>
<table border="1">
<tr>
<td>Nimetus</td>
<td>
<xsl:value-of select="@nimetus"/>
</td>
</tr>
<tr>
<td>retseptID</td>
<td>
<xsl:value-of select="@retseptID"/>
</td>
</tr>
<tr>
<td>autorID</td>
<td>
<xsl:value-of select="@autorId"/>
</td>
</tr>
<tr>
<td>kategooria</td>
<td>
<xsl:value-of select="@kategooria"/>
</td>
</tr>
<xsl:for-each select="komponendid">
<tr>
<td>Komponendid</td>
<td>
<xsl:for-each select="komponent">
<li>
<xsl:value-of select="." />
</li>
</xsl:for-each>
</td>
</tr>
</xsl:for-each>
</table>
<xsl:if test="not(position()=last())">
<br />
</xsl:if>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT_Teine
XSLT => HTML: Retseptide kuvamine, mille autoriks on autorid=2
<?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>
<h1>Minu Retseptid</h1>
<ul>
<xsl:for-each select="retseptiraamat/retseptid/retsept" >
<xsl:sort select="@nimetus" order="ascending"/>
<xsl:if test = "@autorId ='2'">
<li>
<xsl:value-of select="@nimetus"/>
</li>
<ul>
<xsl:for-each select="valmistamisjuhendid/valmistamisjuhend">
<li>
<xsl:value-of select="."/>
</li>
</xsl:for-each>
</ul>
</xsl:if>
</xsl:for-each>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT_kolmas_xml
XSLT => XML: Retsepti komponentide kuvamine retsepti ID järgi.
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" version="1.0">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="/">
<xsl:element name="retseptid">
<xsl:for-each select="retseptiraamat/retseptid/retsept">
<xsl:element name="retsept">
<xsl:attribute name="retseptID">
<xsl:value-of select="@retseptID"/>
</xsl:attribute>
<xsl:copy-of select="komponendid"/>
</xsl:element>
</xsl:for-each>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Tulemuseks on selline asi:
<retseptid>
<retsept retseptID="1">
<komponendid>
<komponent komponentID="1"
nimetus="vesi"
komponentMootyhik="dl"
kogus="200">Vesi</komponent>
<komponent komponentID="2"
nimetus="kala"
komponentMootyhik="g"
kogus="300">Kala</komponent>
<komponent komponentID="3"
nimetus="kartul"
komponentMootyhik="g"
kogus="100">Kartul</komponent>
<komponent komponentID="4"
nimetus="porgand"
komponentMootyhik="g"
kogus="100">Porgand</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="6"
nimetus="kaalikas"
komponentMootyhik="g"
kogus="50">Kaalikas</komponent>
</komponendid>
</retsept>
<retsept retseptID="2">
<komponendid>
<komponent komponentID="7"
nimetus="kanafilee"
komponentMootyhik="g"
kogus="300">Kanafilee</komponent>
<komponent komponentID="8"
nimetus="makaronid"
komponentMootyhik="g"
kogus="300">Makaronid</komponent>
<komponent komponentID="9"
nimetus="sinihalitusjuust"
komponentMootyhik="g"
kogus="30">Sinihallitusjuust</komponent>
<komponent komponentID="4"
nimetus="porgand"
komponentMootyhik="g"
kogus="70">Porgand</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="10"
nimetus="sibul"
komponentMootyhik="g"
kogus="50">Sibul</komponent>
</komponendid>
</retsept>
<retsept retseptID="3">
<komponendid>
<komponent komponentID="3"
nimetus="kartul"
komponentMootyhik="g"
kogus="100">Kartul</komponent>
<komponent komponentID="5" nimetus="till" komponentMootyhik="g" kogus="10">Till</komponent>
<komponent komponentID="10"
nimetus="sibul"
komponentMootyhik="g"
kogus="50">Sibul</komponent>
<komponent komponentID="11"
nimetus="toidu�li"
komponentMootyhik="g"
kogus="5">Toidu�li</komponent>
<komponent komponentID="12" nimetus="sool" komponentMootyhik="g" kogus="1">Sool</komponent>
</komponendid>
</retsept>
<retsept retseptID="4">
<komponendid>
<komponent komponentID="1"
nimetus="vesi"
komponentMootyhik="dl"
kogus="20">Vesi</komponent>
<komponent komponentID="13"
nimetus="kohupiim"
komponentMootyhik="g"
kogus="100">Kohupiim</komponent>
<komponent komponentID="14"
nimetus="suhkur"
komponentMootyhik="g"
kogus="50">Suhkur</komponent>
<komponent komponentID="15"
nimetus="šokolaad"
komponentMootyhik="g"
kogus="75">Šokolaad</komponent>
</komponendid>
</retsept>
<retsept retseptID="5">
<komponendid>
<komponent komponentID="4"
nimetus="porgand"
komponentMootyhik="g"
kogus="100">Porgand</komponent>
<komponent komponentID="14"
nimetus="suhkur"
komponentMootyhik="g"
kogus="20">Suhkur</komponent>
<komponent komponentID="10"
nimetus="sibul"
komponentMootyhik="g"
kogus="50">Sibul</komponent>
<komponent komponentID="11"
nimetus="toidu�li"
komponentMootyhik="g"
kogus="30">Toidu�li</komponent>
<komponent komponentID="12"
nimetus="sool"
komponentMootyhik="g"
kogus="10">Sool</komponent>
<komponent komponentID="16"
nimetus="jahu"
komponentMootyhik="g"
kogus="100">Jahu</komponent>
</komponendid>
</retsept>
<retsept retseptID="6">
<komponendid>
<komponent komponentID="1"
nimetus="vesi"
komponentMootyhik="dl"
kogus="100">Vesi</komponent>
<komponent komponentID="16"
nimetus="jahu"
komponentMootyhik="g"
kogus="10">Jahu</komponent>
<komponent komponentID="10"
nimetus="sibul"
komponentMootyhik="g"
kogus="50">Sibul</komponent>
<komponent komponentID="12"
nimetus="sool"
komponentMootyhik="g"
kogus="10">Sool</komponent>
</komponendid>
</retsept>
</retseptid>
Veebiteenuse analüüs
Rakenduse üldkirjeldus
VeebiGurmaanide idee on teha sarnane toidu retseptiraamat veebis, nagu on näiteks Toidutare ja Nami-Nami, aga lihtsama ja mugavama kasutajaliidesega. Rakendus peaks võimaldama retsepte lisada, vaadata, muuta, hinnata, valmistamisjuhendit kuvada, kommenteerida ja lemmikuks lisada. Retseptide lisamiseks, hindamiseks, kommenteerimiseks, muutmiseks ja kustutamiseks on vaja inimesel teha kasutajakonto meie keskkonda. Küll aga saab ilma kasutajat tegemata retsepte vaadata. Idee on selles, et kasutaja logib sisse, peale sisselogimist on võimalik lisada uus toiduretsept. Toiduretsepti lisades saab kindlasti panna toidukomponendite loetelu koos mõõtühikutega. Samuti saab kasutaja lisada ka valmistamisjuhendi. Ehk siis loetelu või etapid, mida teha selleks, et vastav toit valmiks. Kasutaja võiks saada lisada ka toidust pildi. Kui retsept on lisatud, siis saavad teised kasutajad seda hinnata 5 palli süsteemis. Kindlasti on vaja suurt rõhku panna ka veebirakenduse disainile, sest kes sooviks ikka retsepte vaadata kohast, mis on kole ja ajast maas disainiga.
Problemaatika
Võimalikud probleemid võivad olla: ajapuudus ja loogikavead.
Must have
kasutajate loomine, muutmine, kustutamine.
- retseptide sisestamine, muutmine.
- retseptide kuvamine.
- retseptide hindamine
- retseptide otsing
Nice to have
- retseptide kommenteerimine
- lemmikuks lisamine
- täiendatud otsingusüsteem (koostisosade järgi nt)
- pildi lisamise võimalus retseptile
- korralik disain, mis pakub kasutajale silmailu