Difference between revisions of "Meeskond:ArturJaSobrad"

From ICO wiki
(Analüüs)
(Analüüs)
 
(2 intermediate revisions by the same user not shown)
Line 212: Line 212:
 
*kasutaja saab kontakte nime/telefoninumbri jne abil otsida
 
*kasutaja saab kontakte nime/telefoninumbri jne abil otsida
 
*kasutajal on võimalik lisada vajalike kontaktandmete liike
 
*kasutajal on võimalik lisada vajalike kontaktandmete liike
 +
*kasutajal on võimalik oma kontakte jaotada gruppidesse
 
*kasutajaid on võimalik lisada gruppidesse
 
*kasutajaid on võimalik lisada gruppidesse
*kasutajatel on võimalik jagada omavahel kontakte ja kontaktide gruppe
 
 
*võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks
 
*võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks
 
*...
 
*...
  
 
'''NICE TO HAVE funktsionaalsus'''
 
'''NICE TO HAVE funktsionaalsus'''
 +
*kasutajatel on võimalik jagada omavahel kontakte ja kontaktide gruppe
 
*keyword suggestion
 
*keyword suggestion
 +
*sünnipäevakalender
 
*...
 
*...
 +
 +
'''Andmebaasimudel'''
 +
 +
[[File:PhonebookDb.png]]
  
 
===Veebiteenus===
 
===Veebiteenus===
  
 
==Klientrakendused==
 
==Klientrakendused==

Latest revision as of 18:43, 25 May 2015

Meeskond

Liikmed:

  • Anni Klammer
  • Artur Tomba - projektijuht
  • Oliver Vahenõmm

XML

XML

Telefoniraamat XML kujul.

<?xml version="1.0" encoding="utf-8"?>
<Phonebook>
  <Groups>
    <Group name="Family">
      <Person id="1">
        <Firstname><![CDATA[Anna]]></Firstname>
        <Lastname><![CDATA[Nuga]]></Lastname>
        <Contacts>
          <Contact type="Phone">55555555</Contact>
          <Contact type="Skype">anna.nuga@skype.com</Contact>
        </Contacts>
      </Person>
      <Person id="2">
        <Firstname><![CDATA[Anti]]></Firstname>
        <Lastname><![CDATA[Nuga]]></Lastname>
        <Contacts>
          <Contact type="Phone">09876543</Contact>
          <Contact type="Skype">anti.nuga@skype.com</Contact>
        </Contacts>
      </Person>
    </Group>
    <Group name="Work">
      <Person id="4">
        <Firstname><![CDATA[Peeter]]></Firstname>
        <Lastname><![CDATA[Termomeeter]]></Lastname>
        <Contacts>
          <Contact type="Phone">56666666</Contact>
          <Contact type="Skype">peetrike@skype.com</Contact>
        </Contacts>
      </Person>
    </Group>
    <Group name="Friends">
      <Person id="3">
        <Firstname><![CDATA[Minu]]></Firstname>
        <Lastname><![CDATA[Sõber]]></Lastname>
        <Contacts>
          <Contact type="Phone">123456789</Contact>
          <Contact type="Skype">minu.sober@skype.com</Contact>
        </Contacts>
      </Person>
      <Person id="5">
        <Firstname><![CDATA[Kati]]></Firstname>
        <Lastname><![CDATA[Karu]]></Lastname>
        <Contacts>
          <Contact type="Phone">545423154</Contact>
          <Contact type="Skype">olenkati@skype.com</Contact>
        </Contacts>
      </Person>
    </Group>
  </Groups>
</Phonebook>

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="Phonebook">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Groups">
          <xs:complexType>
            <xs:sequence>
              <xs:element maxOccurs="unbounded" name="Group">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element maxOccurs="unbounded" name="Person">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element name="Firstname" type="xs:string" />
                          <xs:element name="Lastname" type="xs:string" />
                          <xs:element name="Contacts">
                            <xs:complexType>
                              <xs:sequence>
                                <xs:element maxOccurs="unbounded" name="Contact">
                                  <xs:complexType>
                                    <xs:simpleContent>
                                      <xs:extension base="xs:string">
                                        <xs:attribute name="type" type="xs:string" use="required" />
                                      </xs:extension>
                                    </xs:simpleContent>
                                  </xs:complexType>
                                </xs:element>
                              </xs:sequence>
                            </xs:complexType>
                          </xs:element>
                        </xs:sequence>
                        <xs:attribute name="id" type="xs:unsignedInt" use="required" />
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute name="name" type="xs:string" use="required" />
                </xs:complexType>
              </xs:element>
            </xs:sequence>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT

HTML nimede ja igaühe kontaktide kuvamiseks gruppide kaupa.

<?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>Phonebook</title>
        </head>
        <body>
          <xsl:for-each select="Phonebook/Groups/Group">
            <h3>
              <xsl:value-of select="@name"/>
            </h3>
            <table border="1" style="border:1px solid black;">
              <tr>
                <td>Firstname</td>
                <td>Lastname</td>
                <td>Phone</td>
                <td>Skype</td>
              </tr>
              <xsl:for-each select="Person">
                <tr>
                  <td>
                    <xsl:value-of select="Firstname"/>
                  </td>
                  <td>
                    <xsl:value-of select="Lastname"/>
                  </td>
                  <xsl:for-each select="Contacts/Contact">
                    <td>
                      <xsl:value-of select="."/>
                    </td>
                  </xsl:for-each>
                </tr>
              </xsl:for-each>
            </table>
            <br/>
          </xsl:for-each>
        </body>
      </html>
    </xsl:template>
</xsl:stylesheet>


HTML nimede kuvamiseks tähestiku järjekorras (perekonnanime alusel).

<?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>Phonebook</title>
        </head>
        <body>
        <h3>People</h3>
        <table border="1" style="border:1px solid black;">
          <th>Firstname</th>
          <th>Lastname</th>
          <xsl:for-each select="Phonebook/Groups/Group/Person">
            <xsl:sort select="Lastname"/>
            <tr>
              <td>
                <xsl:value-of select="Firstname"/>
              </td>
              <td>
                <xsl:value-of select="Lastname"/>
              </td>
            </tr>
          </xsl:for-each>
        </table>
      </body>
      </html>
    </xsl:template>
</xsl:stylesheet>

Veebiteenus

Analüüs

Projekti kirjeldus

Meie eesmärgiks on luua telefoniraamatu teenus, mille abiga saab kasutaja salvestada kontakte ja otsida nende seast. Rakendus on üles ehitatud lihtsalt ja põhirõhk on pandud efektiivsusele.

MUST HAVE funktsionaalsus

  • kasutaja saab teenuses kontakte lisada ja kustutada
  • kasutaja saab kontakte nime/telefoninumbri jne abil otsida
  • kasutajal on võimalik lisada vajalike kontaktandmete liike
  • kasutajal on võimalik oma kontakte jaotada gruppidesse
  • kasutajaid on võimalik lisada gruppidesse
  • võimalus ühele kasutajale (või erinevatele kasutajagruppidele) maksimumpäringute hulga määramiseks
  • ...

NICE TO HAVE funktsionaalsus

  • kasutajatel on võimalik jagada omavahel kontakte ja kontaktide gruppe
  • keyword suggestion
  • sünnipäevakalender
  • ...

Andmebaasimudel

PhonebookDb.png

Veebiteenus

Klientrakendused