Meeskond:Error405: Difference between revisions
Line 237: | Line 237: | ||
===Must Have=== | ===Must Have=== | ||
* Eelpool kirjeldatud funktsioonid | |||
* Võimalus kasutajaid luua | * Võimalus kasutajaid luua | ||
* Administraatori võimalus kasutajaid hallata, sealjuures määrata veebiteenuse kasutuslimiite | |||
* Administraatori võimalus kasutajaid hallata | |||
* Administraatoril võimalik retsepte lisada | * Administraatoril võimalik retsepte lisada | ||
* Retseptid on kategooriatesse jaotatud | * Retseptid on kategooriatesse jaotatud |
Revision as of 21:25, 4 April 2015
Liikmed
- Priidik Soon
- Mihkel Kivisild
- Andre Kaur
VR2 Projekt
Etapp 1(XML failid)
XML fail
<?xml version="1.0" encoding="UTF-8"?>
<raamatukogud>
<raamatukogu ID="1" nimi="TTÜ" linn="Tallinn" aadress="Akadeemia tee 1">
<sektsioon ID="1" nimi="Matemaatika">
<autor eesnimi="Peeter" perenimi="Puusemp">
<teos>
<pealkiri>Lineaaralgebra õpik</pealkiri>
<aasta>2008</aasta>
</teos>
<teos>
<pealkiri>Üldalgebra alused : õpik kõrgkoolidele</pealkiri>
<aasta>2012</aasta>
</teos>
</autor>
<autor eesnimi="Paolo" perenimi="Aluffi">
<teos>
<pealkiri>Algebra</pealkiri>
<aasta>2009</aasta>
</teos>
</autor>
</sektsioon>
<sektsioon ID="2" nimi="Informaatika">
<autor eesnimi="Peeter" perenimi="Lorents">
<teos>
<pealkiri>Informaatika teoreetilised alused: struktuurne aspekt</pealkiri>
<aasta>2001</aasta>
</teos>
<teos>
<pealkiri>Süsteemide maailm</pealkiri>
<aasta>2006</aasta>
</teos>
</autor>
<autor eesnimi="Jüri" perenimi="Kiho">
<teos>
<pealkiri>Algoritmid ja andmestruktuurid</pealkiri>
<aasta>1997</aasta>
</teos>
</autor>
</sektsioon>
</raamatukogu>
<raamatukogu ID="2" nimi="Keskraamatukogu" linn="Tallinn" aadress="Estonia pst 8">
<sektsioon ID="1" nimi="Filosoofia">
<autor eesnimi="Immanuel" perenimi="Kant">
<teos>
<pealkiri>Puhta mõistuse kriitika</pealkiri>
<aasta>1781</aasta>
</teos>
</autor>
<autor eesnimi="Werner" perenimi="Heisenberg">
<teos>
<pealkiri>Füüsika ja filosoofia</pealkiri>
<aasta>2013</aasta>
</teos>
</autor>
</sektsioon>
<sektsioon ID="2" nimi="Ilukirjandus">
<autor eesnimi="Friedebert" perenimi="Tuglas">
<teos>
<pealkiri>Väike Illimar</pealkiri>
<aasta>1937</aasta>
</teos>
<teos>
<pealkiri>Felix Ormusson</pealkiri>
<aasta>1915</aasta>
</teos>
</autor>
<autor eesnimi="Anton Hansen" perenimi="Tammsaare">
<teos>
<pealkiri>Kõrboja Peremees</pealkiri>
<aasta>1922</aasta>
</teos>
</autor>
</sektsioon>
</raamatukogu>
</raamatukogud>
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="raamatukogud">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="raamatukogu">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="sektsioon">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="autor">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="teos">
<xs:complexType>
<xs:sequence>
<xs:element name="pealkiri" type="xs:string" />
<xs:element name="aasta" type="xs:unsignedShort" />
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="eesnimi" type="xs:string" use="required" />
<xs:attribute name="perenimi" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ID" type="xs:unsignedInt" use="required" />
<xs:attribute name="nimi" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="ID" type="xs:unsignedInt" use="required" />
<xs:attribute name="nimi" type="xs:string" use="required" />
<xs:attribute name="linn" type="xs:string" use="required" />
<xs:attribute name="aadress" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:schema>
XSLT fail HTML-i transformeerimiseks
<?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>Raamatukogud</title>
</head>
<body>
<!--pealkiri millel on css stiili lisatud-->
<div id="Pealkiri" style="background-color:DarkGray; padding:10px;">
<h1>Raamatukogud</h1>
</div>
<!--xml failist loetud elemendid ja attribuudid koos css stiiliga-->
<div id="RaamatukoguElementLehel" style="background-color:whitesmoke; padding:10px;">
<xsl:for-each select="raamatukogud/raamatukogu">
<h1>
<!--väljastab raamatukogu nime väärtuse-->
<xsl:value-of select="@nimi"/>
</h1>
<ol>
<xsl:for-each select="sektsioon">
<li>
<!--väljastab sektsiooni nime-->
<xsl:value-of select="@nimi"/>
</li>
<ol>
<xsl:for-each select="autor">
<li>
<!--Väljastame autori eesnime ja perekonnanime-->
<xsl:value-of select="@eesnimi"/> <!--tühik-->
<xsl:value-of select="@perenimi"/>
</li>
<ul>
<xsl:for-each select="teos">
<li>
<!--Väljastab teose pealkirja ja väljalaske aasta-->
<xsl:value-of select="pealkiri"/> (<xsl:value-of select="aasta"/>)
</li>
</xsl:for-each>
</ul>
</xsl:for-each>
</ol>
</xsl:for-each>
</ol>
</xsl:for-each>
</div>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
XSLT fail XML-i formaadi muutmiseks
<?xml version="1.0" encoding="utf-8"?>
<xsl:stylesheet version="1.0" xmlns:xsl="http://www.w3.org/1999/XSL/Transform">
<xsl:output method="xml" indent="yes"/>
<xsl:template match="@* | node()">
<xsl:copy>
<xsl:apply-templates select="@* | node()"/>
</xsl:copy>
</xsl:template>
<xsl:template match="raamatukogud/raamatukogu/@*">
<xsl:element name="{name()}">
<xsl:value-of select="."/>
</xsl:element>
</xsl:template>
</xsl:stylesheet>
Veebiteenuse analüüs
Kirjeldus
Loodava teenuse eesmärgiks on anda nõutule inimesele hea söögiidee. Nimelt seisneb teenus selles, et kasutaja saab endale konto luua, kus ta saab ära määrata, millised on tema söögieelistused. Teenuses on eelnevalt olemas administraatorite poolt lisatud toidu retseptid (kusjuures oluline on, et eine peab olema võrdlemisi lihtsalt valmistatav). Teenus võimaldab ühe nupu vajutusega kuvada ette üks suvaline retsept, pakkudes teenuse kasutajale välja eine idee.
Kasutaja
Kasutaja on veebiteenuse kasutaja, kes saab endale registreerida konto. Kasutaja jaoks on veebiteenuses loodud funktsioonid, mida ta saab oma klientrakenduses välja kutsuda. Veebirakendus peab logi selle kohta kui palju mingi kasutaja on veebirakendust kasutanud. Et üks kasutaja ei saaks veebirakendust liialt koormata, piirame päringute arvu kasutaja kohta.
Funktsioonid
1) RandomRecipe - tagastatakse suvaline söögiretsept
2) RandomRecipeCat - tagastatakse suvaline söögiretsept etteantud kategooriast
3) LimitedRandomRecipe - tagastatakse suvaline söögiretsept, millele tuleb kaasa anda massiiv nendest toiduainetest, mida retsept sisaldada ei tohi
4) LimitedRandomRecipeCat - nagu eelmine, kuid ka kategooria tuleb ette anda
5) SpecificRecipe - tagastatakse retsept, milles kasutatakse etteantud toiduaineid
6) SpecificRecipeCat - nagu eelmine, kuid ka kategooria tuleb ette anda
7) Eelnevad funktsioonid mitmuses(tagastatakse etteantud arv retsepte)
Administraator
Administraator on veebiteenuse administraator. Tema saab lisada andmebaasi retsepte ja neid muuta ja ka kasutajaid kustutada vajadusel.
Must Have
- Eelpool kirjeldatud funktsioonid
- Võimalus kasutajaid luua
- Administraatori võimalus kasutajaid hallata, sealjuures määrata veebiteenuse kasutuslimiite
- Administraatoril võimalik retsepte lisada
- Retseptid on kategooriatesse jaotatud
Nice to Have
- Automaatse ostunimekirja loomine retsepti valimisel
- Ostukorvi nimekirja muutmine
- Teenuse seostamine nt Prisma Marketi e-poega (automaatne ostukorvi täitmine)
Veebiteenus
arendamisel
Etapp 3(Klientrakendused)
Work in Progress