Unnamed Team

From ICO wiki
Revision as of 20:27, 17 April 2017 by Akirotar (talk | contribs)
Jump to navigationJump to search

Meeskond

  • Andreas Kirotar
  • Jaan Kostõgov

Idee

XML ideeks on arvuti mängude kataloog.

Veebiteenuse analüüs

Nt: http://store.steampowered.com/ https://www.g2a.com/?d=276 Nimetupood on rakendus, millega on võimalik kasutajatel osta mängude võtmeid. Rakenduse eesmärk on lubada kasutajatel ennast registreerida ja sisselogida, kui kasutaja on sisse loginud, siis on tal võimalik vaadata ja otsida mänge. Mänge on võimalik ka filtreerida hinna ja kategooria kaudu. Mängu cd-key saab lisada kindla mängu alla. Mängu infot saab lisada ja muuta admin kasutaja. Cd-key saab lisada admin kasutaja, kuid (nice-to-have võiks olla müük-kasutaja). Reitingu süsteem müüjale on 5 palli süsteemis, mis tekib hinnangute jagamise tulemusena (nice-to-have). Põhilised(must-have) vajadused rakendusele on järgmised: kuulutuste olemasolu, kergesti kasutatav rakendus, maksevõimalus(nice-to-have). Selleks, et põhilisi vajadusi täita on vaja mängude kirjelduste olemasolu süsteemis, ehk admin lisab kirjeldused. Rakenduse tugevuseks on see eest mõistlik kasutajaliides ning mugav viis soovitud toote leidmiseks.

Must have features

Külastaja

Külastaja saab:

  • Registreerida kasutajaks
  • Logida registreeritud kasutajaga sisse

Kasutaja

Kasutaja saab:

  • Saab sisselogida
  • Saab vaadata olemasoleviad mänge ja neid ostukorvi lisada
  • Saab koostada favourite mängu liste
  • Saab muuta oma kasutaja andmeid
  • Otsida mänge
  • Otsida mänge kategooriate läbi

Admin

Admin saab:

  • Saab kustutada mänge
  • Saab lisada mänge
  • Saab muuta mängude kirjeldust
  • Saab kasutajaid moderaatoriks luua
  • Saab kustutada kasutajaid

Nice to have features

  • Külastav kasutaja saab ilma registreerimata veebi vaadata
  • Saab hinnata mänge
  • Saab tõmmata mänge
  • Saab sooritada ostu

ERD

Selline võiks olla veebirakenduse ERD

XML / XSD / XSLT

<?xml version="1.0" encoding="utf-8" ?>
<GameShop>
  <Genres>
    <Genre>Action</Genre>
    <Genre>RPG</Genre>
    <Genre>Action</Genre>
    <Genre>Fantasy</Genre>
    <Genre>Sci-fi</Genre>
    <Genre>Horror</Genre>
  </Genres>
  <Games>
    <Game Title="Fallout4" Year="2016" >
      <Genres>
        <Genre>FPS</Genre>
        <Genre>Action</Genre>
        <Genre>Sci-fi</Genre>
      </Genres>
      <Images>
        <Image>http://cdn.akamai.steamstatic.com/steam/apps/377160/header.jpg?t=1486403180</Image>
        <Image>http://cdn.akamai.steamstatic.com/steam/apps/377160/header.jpg?t=1486403180</Image>
      </Images>
      <SystemRequiments RequimentType="Minimum">
        <Oses>
          <Os Architecture="64bit">Windows 7</Os>
          <Os Architecture ="64bit">Windows 10</Os>
        </Oses>
        <Processor>Intel Core i5-2400/AMD FX-8320 or better</Processor>
        <Memory>4 GB RAM</Memory>
        <Graphics>NVIDIA GTX 670 2GB/AMD Radeon HD 7870 2GB or better</Graphics>
        <Storage>25 GB available space</Storage>
        <AdditionalNotes>Requires broadband internet connection for Multiplayer</AdditionalNotes>
      </SystemRequiments>
      <SystemRequiments RequimentType="Reccomended" >
        <Oses>
          <Os Architecture="64bit">Windows 7</Os>
          <Os Architecture ="64bit">Windows 10</Os>
          <Os Architecture="64bit">Windows 8</Os>
        </Oses>
        <Processor> Intel Core i7-3770/AMD FX-8350 or better</Processor>
        <Memory>8 GB RAM</Memory>
        <Graphics>NVIDIA GTX 970 4GB/AMD Radeon R9 290 4GB or better</Graphics>
        <Storage>25 GB available space</Storage>
        <AdditionalNotes>Requires broadband internet connection for Multiplayer</AdditionalNotes>
      </SystemRequiments>
    </Game>
    <Game Title="Fallout 3 NewVegas" Year="2016" >
      <Genres>
        <Genre>FPS</Genre>
        <Genre>Action</Genre>
        <Genre>Sci-fi</Genre>
      </Genres>
      <Images>
        <Image>https://i.kinja-img.com/gawker-media/image/upload/s--dWfA2BXt--/ilz6yicwfquqoyalkwjd.jpg</Image>
      </Images>
      <SystemRequiments RequimentType="Minimum">
        <Oses>
          <Os Architecture="32bit">Windows xp</Os>
          <Os Architecture ="32bit">Windows Vista</Os>
        </Oses>
        <Processor>2.4 Ghz Intel Pentium 4 or equivalent processor</Processor>
        <Memory>1 GB (XP)/ 2 GB (Vista) </Memory>
        <Graphics>Direct X 9.0c compliant video card with 256MB RAM (NVIDIA 6800 or better/ATI X850 or better)  </Graphics>
        <Storage>25 GB available space</Storage>
        <AdditionalNotes> Online play requires log-in to Games For Windows - Live</AdditionalNotes>
      </SystemRequiments>
    </Game>
    <Game Title="Dark Souls 3" Year="2016">
      <Genres>
        <Genre>RPG</Genre>
      </Genres>
      <Images>
        <Image>
          https://d1r7xvmnymv7kg.cloudfront.net/sites_products/darksouls3/assets/img/DARKSOUL_facebook_mini.jpg
        </Image>
        <Image>
          https://cdn2.vox-cdn.com/uploads/chorus_asset/file/6323691/Dark_Souls_3_concept_art.0.jpg
        </Image>
        <Image>
          https://i.ytimg.com/vi/Ha8eRiP0DmI/maxresdefault.jpg
        </Image>
      </Images>
      <SystemRequiments RequimentType="Minimum">
        <Oses>
          <Os Architecture="32bit">Windows xp</Os>
          <Os Architecture ="32bit">Windows Vista</Os>
        </Oses>
        <Processor>Intel Core i3-2100 / AMD® FX-6300</Processor>
        <Memory>4 GB RAM</Memory>
        <Graphics>NVIDIA® GeForce GTX 750 Ti / ATI Radeon HD 7950</Graphics>
        <DirectX>Version 11</DirectX>
        <Network>Broadband Internet connection</Network>
        <Storage>25 GB available space</Storage>
        <SoundCard>DirectX 11 sound device</SoundCard>
      </SystemRequiments>
      <SystemRequiments RequimentType="Recommended">
        <Oses>
          <Os Architecture="64bit">Windows 7</Os>
          <Os Architecture ="64bit">Windows 8.1</Os>
          <Os Architecture ="64bit">Windows 10</Os>
        </Oses>
        <Processor>Intel Core i7-3770 / AMD® FX-8350</Processor>
        <Memory>8 GB RAM </Memory>
        <Graphics>NVIDIA® GeForce GTX 970 / ATI Radeon R9 series</Graphics>
        <DirectX>Version 11</DirectX>
        <Network>Broadband Internet connection</Network>
        <Storage>25 GB</Storage>
        <SoundCard>DirectX 11 sound device</SoundCard>
      </SystemRequiments>
    </Game>
  </Games>
</GameShop>

XSD

<?xml version="1.0" encoding="UTF-8"?>
<xs:schema xmlns:xs="http://www.w3.org/2001/XMLSchema" attributeFormDefault="unqualified" elementFormDefault="qualified">
   <xs:element name="GameShop">
      <xs:complexType>
         <xs:sequence>
            <xs:element name="Genres">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element maxOccurs="unbounded" name="Genre" type="xs:string" />
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
            <xs:element name="Games">
               <xs:complexType>
                  <xs:sequence>
                     <xs:element maxOccurs="unbounded" name="Game">
                        <xs:complexType>
                           <xs:sequence>
                              <xs:element name="Genres">
                                 <xs:complexType>
                                    <xs:sequence>
                                       <xs:element maxOccurs="unbounded" name="Genre" type="xs:string" />
                                    </xs:sequence>
                                 </xs:complexType>
                              </xs:element>
                              <xs:element name="Images">
                                 <xs:complexType>
                                    <xs:sequence>
                                       <xs:element maxOccurs="unbounded" name="Image" type="xs:string" />
                                    </xs:sequence>
                                 </xs:complexType>
                              </xs:element>
                              <xs:element maxOccurs="unbounded" name="SystemRequiments">
                                 <xs:complexType>
                                    <xs:sequence>
                                       <xs:choice maxOccurs="unbounded">
                                          <xs:element name="Oses">
                                             <xs:complexType>
                                                <xs:sequence>
                                                   <xs:element maxOccurs="unbounded" name="Os">
                                                      <xs:complexType>
                                                         <xs:simpleContent>
                                                            <xs:extension base="xs:string">
                                                               <xs:attribute name="Architecture" type="xs:string" use="required" />
                                                            </xs:extension>
                                                         </xs:simpleContent>
                                                      </xs:complexType>
                                                   </xs:element>
                                                </xs:sequence>
                                             </xs:complexType>
                                          </xs:element>
                                          <xs:element name="Processor" type="xs:string" />
                                          <xs:element name="Memory" type="xs:string" />
                                          <xs:element name="Graphics" type="xs:string" />
                                          <xs:element name="Storage" type="xs:string" />
                                          <xs:element name="AdditionalNotes" type="xs:string" />
                                          <xs:element name="DirectX" type="xs:string" />
                                          <xs:element name="Network" type="xs:string" />
                                          <xs:element name="SoundCard" type="xs:string" />
                                       </xs:choice>
                                    </xs:sequence>
                                    <xs:attribute name="RequimentType" type="xs:string" use="required" />
                                 </xs:complexType>
                              </xs:element>
                           </xs:sequence>
                           <xs:attribute name="Title" type="xs:string" use="required" />
                           <xs:attribute name="Year" type="xs:unsignedShort" use="required" />
                        </xs:complexType>
                     </xs:element>
                  </xs:sequence>
               </xs:complexType>
            </xs:element>
         </xs:sequence>
      </xs:complexType>
   </xs:element>
</xs:schema>

XSLT

XSLT (HTML)

<?xml version="1.0" encoding="UTF-8"?>
<xsl:stylesheet xmlns:xsl="http://www.w3.org/1999/XSL/Transform" xmlns:msxsl="urn:schemas-microsoft-com:xslt" version="1.0" exclude-result-prefixes="msxsl">
   <xsl:output method="html" indent="yes" />
   <xsl:template match="/">
      <html>
         <head>
            <title>Games by genre(windows 7)</title>
         </head>
         <body>
            <xsl:for-each select="/GameShop/Genres/Genre">
               <xsl:variable name="MainGenre" select="." />
               <h2>
                  <xsl:value-of select="$MainGenre" />
               </h2>
               <ul style="list-style-type:none">
                  <xsl:for-each select="/GameShop/Games/Game">
                     <xsl:if test="(Genres/Genre = $MainGenre) and (SystemRequiments/Oses/Os ='Windows 7')">
                        <xsl:variable name="Game" select="." />
                        <li>
                           Name:
                           <xsl:value-of select="./@Title" />
                        </li>
                        <li>
                           Release year:
                           <xsl:value-of select="./@Year" />
                        </li>
                        <li>
                           <xsl:for-each select="./Images/Image">
                              <xsl:variable name="ImageUrl" select="." />
                              <img src="{$ImageUrl}" width="400" height="200" />
                           </xsl:for-each>
                        </li>
                        <li>Requirements:</li>
                        <li>
                           Operating systems:
                           <xsl:value-of select="$Game/SystemRequiments/Oses" />
                        </li>
                        <li>
                           Processor:
                           <xsl:value-of select="$Game/SystemRequiments/Processor" />
                        </li>
                        <li>
                           Memory:
                           <xsl:value-of select="$Game/SystemRequiments/Memory" />
                        </li>
                        <li>
                           Graphics card:
                           <xsl:value-of select="$Game/SystemRequiments/Graphics" />
                        </li>
                        <li>
                           Storage:
                           <xsl:value-of select="$Game/SystemRequiments/Storage" />
                        </li>
                        <li>
                           Notes:
                           <xsl:value-of select="$Game/SystemRequiments/AdditionalNotes" />
                        </li>
                        <li>
                           Sound:
                           <xsl:value-of select="$Game/SystemRequiments/SoundCard" />
                        </li>
                        <li>
                           DirectX:
                           <xsl:value-of select="$Game/SystemRequiments/DirectX" />
                        </li>
                     </xsl:if>
                  </xsl:for-each>
               </ul>
            </xsl:for-each>
         </body>
      </html>
   </xsl:template>
</xsl:stylesheet>

XSLT (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="xml" indent="yes"/>

  <xsl:template match="@* | node()">
    <GameShop>
        <Games>
          <xsl:for-each select="/GameShop/Games/Game">
            <xsl:if test="Genres/Genre = 'Action'">
              <xsl:variable name="Game" select="."/>
              <Game>
              <Name>
                <xsl:value-of select="./@Title"/>
              </Name>
              <Realease>
                <xsl:value-of select="./@Year"/>
              </Realease>
              <Images>
                <xsl:for-each select="./Images/Image">
                  <xsl:variable name="ImageUrl" select="."/>
                  <img src="{$ImageUrl}" width="400" height="200"/>
                </xsl:for-each>
              </Images>
              <xsl:if test="SystemRequiments/@RequimentType = 'Minimum'">
              <MinimumSystemRequiments>
                <OperatingSystems>
                  <xsl:for-each select="./SystemRequiments/Oses/Os">
                    <OperatingSystem>
                      <xsl:value-of select="."/>
                    </OperatingSystem>
                  </xsl:for-each>
                </OperatingSystems>
                <Processor>
                  <xsl:value-of select="$Game/SystemRequiments/Processor"/>
                </Processor>
                  <Memory>
                <xsl:value-of select="$Game/SystemRequiments/Memory"/>
                </Memory>
                <GraphicsCard>
                  <xsl:value-of select="$Game/SystemRequiments/Graphics"/>
                </GraphicsCard>
                <Storage>
                  <xsl:value-of select="$Game/SystemRequiments/Storage"/>
                </Storage>
                <Notes>
                  <xsl:value-of select="$Game/SystemRequiments/AdditionalNotes"/>
                </Notes>
                <Sound>
                  <xsl:value-of select="$Game/SystemRequiments/SoundCard"/>
                </Sound>
                <DirectX>
                  <xsl:value-of select="$Game/SystemRequiments/DirectX"/>
                </DirectX>
              </MinimumSystemRequiments>
              </xsl:if>
              </Game>
              </xsl:if>
          </xsl:for-each>
        </Games>
    </GameShop>
  </xsl:template>
</xsl:stylesheet>
XSLT(XML) Tulem
<?xml version="1.0" encoding="utf-8"?>
<GameShop>
  <Games>
    <Game>
      <Name>Fallout4</Name>
      <Realease>2016</Realease>
      <Images>
        <img src="http://cdn.akamai.steamstatic.com/steam/apps/377160/header.jpg?t=1486403180" width="400" height="200" />
        <img src="http://cdn.akamai.steamstatic.com/steam/apps/377160/header.jpg?t=1486403180" width="400" height="200" />
      </Images>
      <MinimumSystemRequiments>
        <OperatingSystems>
          <OperatingSystem>Windows 7</OperatingSystem>
          <OperatingSystem>Windows 10</OperatingSystem>
        </OperatingSystems>
        <Processor>Intel Core i5-2400/AMD FX-8320 or better</Processor>
        <Memory>4 GB RAM</Memory>
        <GraphicsCard>NVIDIA GTX 670 2GB/AMD Radeon HD 7870 2GB or better</GraphicsCard>
        <Storage>25 GB available space</Storage>
        <Notes>Requires broadband internet connection for Multiplayer</Notes>
        <Sound></Sound>
        <DirectX></DirectX>
      </MinimumSystemRequiments>
    </Game>
    <Game>
      <Name>Fallout 3 NewVegas</Name>
      <Realease>2016</Realease>
      <Images>
        <img src="https://i.kinja-img.com/gawker-media/image/upload/s--dWfA2BXt--/ilz6yicwfquqoyalkwjd.jpg" width="400" height="200" />
      </Images>
      <MinimumSystemRequiments>
        <OperatingSystems>
          <OperatingSystem>Windows xp</OperatingSystem>
          <OperatingSystem>Windows Vista</OperatingSystem>
        </OperatingSystems>
        <Processor>2.4 Ghz Intel Pentium 4 or equivalent processor</Processor>
        <Memory>1 GB (XP)/ 2 GB (Vista) </Memory>
        <GraphicsCard>Direct X 9.0c compliant video card with 256MB RAM (NVIDIA 6800 or better/ATI X850 or better)  </GraphicsCard>
        <Storage>25 GB available space</Storage>
        <Notes> Online play requires log-in to Games For Windows - Live</Notes>
        <Sound></Sound>
        <DirectX></DirectX>
      </MinimumSystemRequiments>
    </Game>
  </Games>
</GameShop>

Log

  • 17.03 Esimene kokkusaamine, XML, XSD, XSLT(HTML) kujul loomine.
  • 20.03 Kaugtööna XSLT(HTML) ja XSLT(XML) lõpetamine, Wiki lehe loomine.