Meeskond:ArturJaSobrad: Difference between revisions

From ICO wiki
Jump to navigationJump to search
 
(5 intermediate revisions by 2 users not shown)
Line 211: Line 211:
*kasutaja saab teenuses kontakte lisada ja kustutada
*kasutaja saab teenuses kontakte lisada ja kustutada
*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 oma kontakte jaotada gruppidesse
*kasutajaid on võimalik lisada gruppidesse
*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
*kasutajaid on võimalik lisada gruppidesse
*kasutajal on võimalik lisada vajalike kontaktandmete liike
*kasutajatel on võimalik jagada omavahel kontakte ja kontaktide gruppe
*...
*...


'''NICE TO HAVE funktsionaalsus'''
'''NICE TO HAVE funktsionaalsus'''
*kasutajatel on võimalik jagada omavahel kontakte ja kontaktide gruppe
*keyword suggestion
*sünnipäevakalender
*...
*...
*...


'''Võimalikud probleemkohad'''
'''Andmebaasimudel'''
 
[[File:PhonebookDb.png]]


===Veebiteenus===
===Veebiteenus===


==Klientrakendused==
==Klientrakendused==

Latest revision as of 19: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

Veebiteenus

Klientrakendused