Screaming Magic Gnomes: Difference between revisions
Created page with " == Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" == Aastal 2016. == Meeskond == Märt Häkkinen<br> Siim Osa<br> Taavi Kivimaa == Idee == Meie idee on..." |
|||
(27 intermediate revisions by 2 users not shown) | |||
Line 1: | Line 1: | ||
== Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" | == Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" Aastal 2016. == | ||
Aastal 2016. | |||
== Meeskond == | == Meeskond == | ||
Line 16: | Line 14: | ||
== XML== | == XML== | ||
<source lang="xml"> | |||
< | |||
<?xml version="1.0" encoding="UTF-8"?> | <?xml version="1.0" encoding="UTF-8"?> | ||
<Salong nimi="Kristiine"> | <Salong nimi="Kristiine"> | ||
Line 147: | Line 143: | ||
</Reserveeringud> | </Reserveeringud> | ||
</Salong> | </Salong> | ||
</ | </source> | ||
== XSD == | == XSD == | ||
<source lang="xml"> | |||
< | |||
<?xml version="1.0" encoding="utf-8"?> | <?xml version="1.0" encoding="utf-8"?> | ||
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | <xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema"> | ||
Line 221: | Line 216: | ||
</xs:element> | </xs:element> | ||
</xs:schema> | </xs:schema> | ||
</ | </source> | ||
== XSLT == | == XSLT == | ||
<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>Kristiine Salong</title> | |||
</head> | |||
<body> | |||
<h1>Teenused</h1> | |||
<h2>Meestele</h2> | |||
<!--Kirjutame välja meeste ja naiste teenused, hinnad ja ajalise kestvuse eraldi tabelitesse!--> | |||
<ul> | |||
<Table> | |||
<tr> | |||
<th>Nimi</th> | |||
<th>Kestvus</th> | |||
<th>Hind</th> | |||
</tr> | |||
<xsl:for-each select="Salong/Teenused/Teenus"> | |||
<xsl:if test="@Tyyp='Mees'"> | |||
<tr> | |||
<td> | |||
<xsl:value-of select="./Nimi"/> | |||
</td> | |||
<td> | |||
<xsl:value-of select="./Hind"/> | |||
</td> | |||
<td> | |||
<xsl:value-of select="./Kestvus"/> | |||
</td> | |||
</tr> | |||
</xsl:if> | |||
</xsl:for-each> | |||
</Table> | |||
</ul> | |||
<h2>Naistele</h2> | |||
<ul> | |||
<Table> | |||
<tr> | |||
<th>Nimi</th> | |||
<th>Kestvus</th> | |||
<th>Hind</th> | |||
</tr> | |||
<xsl:for-each select="Salong/Teenused/Teenus"> | |||
<xsl:if test="@Tyyp='Naine'"> | |||
<tr> | |||
<td> | |||
<xsl:value-of select="./Nimi"/> | |||
</td> | |||
<td> | |||
<xsl:value-of select="./Hind"/> | |||
</td> | |||
<td> | |||
<xsl:value-of select="./Kestvus"/> | |||
</td> | |||
</tr> | |||
</xsl:if> | |||
</xsl:for-each> | |||
</Table> | |||
</ul> | |||
</body> | |||
</html> | |||
</xsl:template> | |||
</xsl:stylesheet> | |||
</?xml> | |||
</source> | |||
==Veebiteenuse analüüs== | |||
Meie veebiteenuse eesmärk klientide broneeringuid ja nende kasutajate kontaktandmeid/logineid. Teenus peab võimaldama kasutajal veebirakenduses sisselogida, kasutades emaili aadressi ja parooli. Andmebaasis hoiame me broneeringuid(telefoninr, nimi, kellaaeg, teenus, kas makstud), pakutavaid teenuseid ja kasutajate paroole/emaile (adminid) . Veebiteenus võimaldab meil suhelda veebirakenduse ja andmebaasi vahel,tagastada ja muuta informatsiooni teenuste/broneeringute ja kasutajaandmete kohta. Veebiteenus aitab meil kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes. Samuti peab olema võimalik veebiteenuse poole pöördumiste arvu piiramist ja piirangute haldamist teostada. | |||
== Andmebaasiskeem == | |||
[[File:SMG.png]] | |||
== Rakenduse sisu == | |||
'''Rakenduse funktsionaalsus kliendina:''' <br> | |||
on võimalik näha olemasolevaid broneeringuid.<br> | |||
on võimalik broneeringuid kustutada.<br> | |||
on võimalik lisada uusi teenuseid (koos hinna, kirjelduse ja kestvusega)<br> | |||
<br>'''Rakenduse funktsionaalsus tavakasutajana (ilusalongi kliendina):''' <br> | |||
on võimalik teha broneeringuid ja neid kuni 24h enne broneeringu algust kustutada.<br> | |||
on võimalik näha vabasid aegu.<br> | |||
on võimalik näha pakutavaid teenuseid (hinda, kestvust, kirjeldust).<br> | |||
on võimalik saada 24h enne broneeringu algust meeldetuletus<br><br> | |||
'''Rakenduses peaksid olema järgmised võimalused (Must have): '''<br> | |||
1. Meil on olemas kasutajad, kellega saab sisse logida<br> | |||
2. Broneeringuid on võimalik eemaldada.<br> | |||
3. On võimalik näha pakutavaid teenuseid (hinnakirja, maksuvust, kestvust)<br> | |||
4. On võimalik lisada, eemaldada ja muuta pakutavaid teenuseid<br> | |||
5. Kliendil on võimalik näha vabasid aegu oma soovitud teenusele.<br> | |||
<br> | |||
'''Rakenduses võiksid olla lisavõimalused (Nice to have):''' <br> | |||
1. Kasutajale saadetakse päev enne broneeringut meeldetuletus<br> | |||
2. Kasutajale saab panna meeldetuletuse, kuna broneerida järgmine juukselõikus (või mõni muu teenus)<br> | |||
3. On võimalik registreerida kasutades sotsiaalmeediat <br> | |||
4. Võimalus registreerida uusi kasutajaid (adminid) <br> | |||
5. Võimalus tellida uus parool oma kasutajale, kui see ununeb (adminid).<br> | |||
6. Võimalus saata kliendile arveid pakutud teenuste eest <br> | |||
7. Kasutaja saab broneerida mitu teenust ühe broneeringuga <br> | |||
== Rakendus ja veebiteenus == | |||
On võimalik alla tirida siit. | |||
[http://enos.itcollege.ee/~mhakkine/VR2/TheBooking%20(1).zip] |
Latest revision as of 00:33, 30 May 2016
Kodutöö aines "Võrgurakendused II: hajussüsteemide ehitamine" Aastal 2016.
Meeskond
Märt Häkkinen
Siim Osa
Taavi Kivimaa
Idee
Meie idee on luua juuksuri- ja kosmeetikasalongi broneerimissüsteem, kasutades C# keelt. Klientidel on võimalik valida välja protseduur, ning aeg ja teenindaja. Salongil on võimalik näha ja hallata broneeringuid.
XML
<?xml version="1.0" encoding="UTF-8"?>
<Salong nimi="Kristiine">
<Teenused Tyyp="Juuksehooldus">
<Teenus Tyyp="Mees" Id="1">
<Nimi>
<![CDATA[Peosoeng]]>
</Nimi>
<Hind Valuuta="Euro">
22
</Hind>
<Kestvus aeg="Minut">
60
</Kestvus>
</Teenus>
<Teenus Tyyp="Mees" Id="2">
<Nimi>
<![CDATA[Masinlõikus]]>
</Nimi>
<Hind Valuuta="Euro">
8
</Hind>
<Kestvus aeg="Minut">
45
</Kestvus>
</Teenus>
<Teenus Tyyp="Mees" Id="3">
<Nimi>
<![CDATA[Värvimine]]>
</Nimi>
<Hind Valuuta="Euro">
36
</Hind>
<Kestvus aeg="Minut">
90
</Kestvus>
</Teenus>
<Teenus Tyyp="Naine" Id="4">
<Nimi>
<![CDATA[Peosoeng]]>
</Nimi>
<Hind Valuuta="Euro">
25
</Hind>
<Kestvus aeg="Minut">
90
</Kestvus>
</Teenus>
<Teenus Tyyp="Naine" Id="5">
<Nimi>
<![CDATA[Värvimine]]>
</Nimi>
<Hind Valuuta="Euro">
36
</Hind>
<Kestvus aeg="Minut">
90
</Kestvus>
</Teenus>
</Teenused>
<Teenused Tyyp="Kosmeetik">
<Teenus Tyyp="Naine" Id="6">
<Nimi>
<![CDATA[Kollageen leht-mask]]>
</Nimi>
<Hind Valuuta="Euro">
35
</Hind>
<Kestvus aeg="Minut">
90
</Kestvus>
</Teenus>
</Teenused>
<Teenused Tyyp="Maniküür">
<Teenus Tyyp="Mees" Id="6">
<Nimi>
<![CDATA[Maniküür]]>
</Nimi>
<Hind Valuuta="Euro">
12
</Hind>
<Kestvus aeg="Minut">
30
</Kestvus>
</Teenus>
</Teenused>
<Reserveeringud>
<Reserveering Id="1" TeenuseId="2">
<KliendiId>
37
</KliendiId>
<TöötajaId>
1440
</TöötajaId>
<Aeg>
<Algus>
2016-04-17T14:00:00
</Algus>
<Lõpp>
2016-04-17T14:45:00
</Lõpp>
</Aeg>
<Makstud>
true
</Makstud>
</Reserveering>
<Reserveering Id="1" TeenuseId="6">
<KliendiId>
24
</KliendiId>
<TöötajaId>
200
</TöötajaId>
<Aeg>
<Algus>
2016-04-17T14:00:00
</Algus>
<Lõpp>
2002-04-17T15:00:00
</Lõpp>
</Aeg>
<Makstud>
false
</Makstud>
</Reserveering>
</Reserveeringud>
</Salong>
XSD
<?xml version="1.0" encoding="utf-8"?>
<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
<xs:element name="Salong">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Teenused">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Teenus">
<xs:complexType>
<xs:sequence>
<xs:element name="Nimi" type="xs:string" minOccurs="1" maxOccurs="1"/>
<xs:element name="Hind" type="xs:string" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="Valuuta" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
<xs:element name="Kestvus" minOccurs="1" maxOccurs="1">
<xs:complexType>
<xs:simpleContent>
<xs:extension base="xs:unsignedByte">
<xs:attribute name="aeg" type="xs:string" use="required" />
</xs:extension>
</xs:simpleContent>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Tyyp" type="xs:string" use="required" />
<xs:attribute name="Id" type="xs:unsignedByte" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="Tyyp" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
<xs:element name="Reserveeringud">
<xs:complexType>
<xs:sequence>
<xs:element maxOccurs="unbounded" name="Reserveering">
<xs:complexType>
<xs:sequence>
<xs:element name="KliendiId" type="xs:unsignedByte" />
<xs:element name="TöötajaId" type="xs:unsignedShort" />
<xs:element name="Aeg">
<xs:complexType>
<xs:sequence>
<xs:element name="Algus" type="xs:dateTime" />
<xs:element name="Lõpp" type="xs:dateTime" />
</xs:sequence>
</xs:complexType>
</xs:element>
<xs:element name="Makstud" type="xs:boolean" />
</xs:sequence>
<xs:attribute name="Id" type="xs:unsignedInt" use="required" />
<xs:attribute name="TeenuseId" type="xs:unsignedInt" use="required" />
</xs:complexType>
</xs:element>
</xs:sequence>
</xs:complexType>
</xs:element>
</xs:sequence>
<xs:attribute name="nimi" type="xs:string" use="required" />
</xs:complexType>
</xs:element>
</xs:schema>
XSLT
<?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>Kristiine Salong</title>
</head>
<body>
<h1>Teenused</h1>
<h2>Meestele</h2>
<!--Kirjutame välja meeste ja naiste teenused, hinnad ja ajalise kestvuse eraldi tabelitesse!-->
<ul>
<Table>
<tr>
<th>Nimi</th>
<th>Kestvus</th>
<th>Hind</th>
</tr>
<xsl:for-each select="Salong/Teenused/Teenus">
<xsl:if test="@Tyyp='Mees'">
<tr>
<td>
<xsl:value-of select="./Nimi"/>
</td>
<td>
<xsl:value-of select="./Hind"/>
</td>
<td>
<xsl:value-of select="./Kestvus"/>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</Table>
</ul>
<h2>Naistele</h2>
<ul>
<Table>
<tr>
<th>Nimi</th>
<th>Kestvus</th>
<th>Hind</th>
</tr>
<xsl:for-each select="Salong/Teenused/Teenus">
<xsl:if test="@Tyyp='Naine'">
<tr>
<td>
<xsl:value-of select="./Nimi"/>
</td>
<td>
<xsl:value-of select="./Hind"/>
</td>
<td>
<xsl:value-of select="./Kestvus"/>
</td>
</tr>
</xsl:if>
</xsl:for-each>
</Table>
</ul>
</body>
</html>
</xsl:template>
</xsl:stylesheet>
</?xml>
Veebiteenuse analüüs
Meie veebiteenuse eesmärk klientide broneeringuid ja nende kasutajate kontaktandmeid/logineid. Teenus peab võimaldama kasutajal veebirakenduses sisselogida, kasutades emaili aadressi ja parooli. Andmebaasis hoiame me broneeringuid(telefoninr, nimi, kellaaeg, teenus, kas makstud), pakutavaid teenuseid ja kasutajate paroole/emaile (adminid) . Veebiteenus võimaldab meil suhelda veebirakenduse ja andmebaasi vahel,tagastada ja muuta informatsiooni teenuste/broneeringute ja kasutajaandmete kohta. Veebiteenus aitab meil kasutajate ja kasutusstatistika üle arve pidamist kasutajate lõikes. Samuti peab olema võimalik veebiteenuse poole pöördumiste arvu piiramist ja piirangute haldamist teostada.
Andmebaasiskeem
Rakenduse sisu
Rakenduse funktsionaalsus kliendina:
on võimalik näha olemasolevaid broneeringuid.
on võimalik broneeringuid kustutada.
on võimalik lisada uusi teenuseid (koos hinna, kirjelduse ja kestvusega)
Rakenduse funktsionaalsus tavakasutajana (ilusalongi kliendina):
on võimalik teha broneeringuid ja neid kuni 24h enne broneeringu algust kustutada.
on võimalik näha vabasid aegu.
on võimalik näha pakutavaid teenuseid (hinda, kestvust, kirjeldust).
on võimalik saada 24h enne broneeringu algust meeldetuletus
Rakenduses peaksid olema järgmised võimalused (Must have):
1. Meil on olemas kasutajad, kellega saab sisse logida
2. Broneeringuid on võimalik eemaldada.
3. On võimalik näha pakutavaid teenuseid (hinnakirja, maksuvust, kestvust)
4. On võimalik lisada, eemaldada ja muuta pakutavaid teenuseid
5. Kliendil on võimalik näha vabasid aegu oma soovitud teenusele.
Rakenduses võiksid olla lisavõimalused (Nice to have):
1. Kasutajale saadetakse päev enne broneeringut meeldetuletus
2. Kasutajale saab panna meeldetuletuse, kuna broneerida järgmine juukselõikus (või mõni muu teenus)
3. On võimalik registreerida kasutades sotsiaalmeediat
4. Võimalus registreerida uusi kasutajaid (adminid)
5. Võimalus tellida uus parool oma kasutajale, kui see ununeb (adminid).
6. Võimalus saata kliendile arveid pakutud teenuste eest
7. Kasutaja saab broneerida mitu teenust ühe broneeringuga
Rakendus ja veebiteenus
On võimalik alla tirida siit. [1]