KTMdev

From EIK wiki

Meeskond ja rollid

  • Tauno Otti
  • Mart Abel
  • Kristian Laupa

KOODI LEIAB SIIT

http://enos.itcollege.ee/~totti/VR2/

Idee

Üldine kirjeldus

Ideeks on teha portaal kus saavad kokku praktika soovijad ning praktikat pakkuvad ettevõtted. Hetkel on kõik praktikapakkumised laiali igalpool, hea oleks kui saaks kõik ära teha ühes kohas, et tekiks hea ülevaade nii ettevõtetele ja ka praktikat otsivatele tublidele õpilaste.

Analüüs

Tegemist on töölaua rakendusega. Rakenduse nimi on PraxY, mille nimi tuleneb selle rakenduse sisust. Nimelt me teeme rakenduse, mis vahendab praktikapakkumisi õpilaste ja firmade vahel, kes soovivad endale praktikante. Rakendust avades satub kasutaja logimise lehele, kust on võimalik navigeerida edasi registreerimise lehele ning samuti on võimalik muuta rakenduse värve ja teemat (dark ja lighti) vahel. Seda kõike on võimalik muuta settingsite alt, mille leiab paremal nurgast.

Kasutaja registreerimine on väga lihtne. Sisse logides näeb kasutaja uut vaadet, mis on nähtav ainult sisselogitud kasutajatele. Sisse logides on defaultscreen tööpakkumiste juures. Seal on võimalik sortreerida neid kategooriate järgi. Vajutades kategooriale, kuvatakse selle kategooriaga seotud tööpakkumised paremale poole rakenduse aknale. Kui vajutada nüüd ühe konkreetse tööpakkumise peale, siis kuvatakse selle tööpakkumise sisu ( seal on kõik tööpakkumise andmed) ning seal on nupud: [BACK] -> tagasi kategooria vaatesse; [APPLY] -> seda nuppu vajutades saab tollele praktikakohale kandideerida.

Peale selle on ülevalt järgmine "tab" kuulutuste lisamiseks. Seal on vaja täita kõik need samad andmed, mida oli näha ka tööpakkumise vaates. Tuleb lisada algus ja lõputähtaeg(millal soovitakse praktikanti tööle ja millal töö lõpeb). Kuulutus aegub 30 päeva pärast selle postitamist.

Kolmandas "tabis" on võimalik näha oma kasutaja andmeid ja neid ka soovi korral muuta. Seal all on ka näha kõik kasutajatega seotud tööpakkumised ja kandideerimised, millele klikates jõuab just selle tööpakkumise juurde.

Neljandas tabis on lühidalt välja toodud selle rakenduse eesmärk. See on niiöelda about page.

Rakendus kasutab enda loodud veebiteenust.

Andmebaas

PraxyDB.png

Tehnoloogiad

Rakenduse sisu

MUST HAVE Funktsionaalsused:

  • Kasutaja registreerimine
  • Kuulutuste lisamine
  • Kuulutuste deaktiveerimine/muutmine
  • Info lisamine kuulutusele
  • Profiili loomine ja sellele info lisamine
  • Kuulutuste kategooria kaupa


NICE TO HAVE Fuktsionaalsused:

  • Mujalt portaalidest praktika kuulutuste automaatne kuvamine, kui tekib märksõnaga "Praktika"
  • Facebook registreerimine/logimine
  • Mobile Responsive
  • Pärast praktikalõppu hinnangu andmine firmalt praktikandile ja vastupidi
  • Alertid kui tekib uus praktikapakkumine(vastavalt seadistusele kategoorias, palgas, asukohas)
  • PDF -> XML

XML/XSD/XSLT

XML

<?xml version="1.0" encoding="utf-8" ?>

<practices>
  <Category category="Infotehnoloogia">
    <Practise id="1" endtime ="01.05.2016">
      <Company><![CDATA[Skype]]></Company>
      <Title><![CDATA[Java praktikant]]></Title>
      <Description><![CDATA[Otsime oma meeskonda tublit praktikanti]]></Description>
      <Beginning><![CDATA[01.06.2016]]></Beginning>
      <End><![CDATA[18.08.2016]]></End>
      <Salary><![CDATA[Kokkuleppel]]></Salary>
      <Location county="Harjumaa" country="Estonia"><![CDATA[Tallinn]]></Location>
      <ImageUrl>https://www.swimmingworldmagazine.com/news/wp-content/uploads/2015/01/job.jpg</ImageUrl>
        <Contacts>
          <ContactPerson><![CDATA[Ester Tester]]></ContactPerson>
          <ContactAddress><![CDATA[A.H Tammsaare 167 66251 Tallinn]]></ContactAddress>
          <ContactPhone><![CDATA[+372 667493]]></ContactPhone>
          <ContantWebpage><![CDATA[www.skype.ee]]></ContantWebpage>
        </Contacts>
    </Practise>
   </Category>

  <Category category="Teenindus">
    <Practise id="2" endtime ="01.05.2016">
      <Company><![CDATA[Tallink]]></Company>
      <Title><![CDATA[Klienditeenindaja]]></Title>
      <Description><![CDATA[Otsime oma meeskonda tublit praktikanti]]></Description>
      <Beginning><![CDATA[05.06.2016]]></Beginning>
      <End><![CDATA[29.08.2016]]></End>
      <Salary><![CDATA[Kokkuleppel]]></Salary>
      <Location county="Harjumaa" country="Estonia"><![CDATA[Tallinn]]></Location>
      <ImageUrl>http://www.merima.fi/sites/merima.fi/files/Ferry_Tallink_Baltic-Queen_Dance-Bar_9.png</ImageUrl>
      <Contacts>
        <ContactPerson><![CDATA[Arturo Laev]]></ContactPerson>
        <ContactAddress><![CDATA[Sadama 167 66251 Tallinn]]></ContactAddress>
        <ContactPhone><![CDATA[+372 555555]]></ContactPhone>
        <ContantWebpage><![CDATA[www.tallink.ee]]></ContantWebpage>
      </Contacts>
    </Practise>
  </Category>
  
  <Category category="Ehitus">
    <Practise id="2" endtime ="01.12.2015">
      <Company><![CDATA[Kose ehitus OÜ]]></Company>
      <Title><![CDATA[Pottsepp]]></Title>
      <Description><![CDATA[Otsime oma meeskonda tublit pottseppa praktikale]]></Description>
      <Beginning><![CDATA[01.06.2016]]></Beginning>
      <End><![CDATA[18.08.2016]]></End>
      <Salary><![CDATA[2 EUR/h]]></Salary>
      <Location county="Harjumaa"><![CDATA[Tallinn]]></Location>
      <ImageUrl>http://www.urmasehitus.ee/sisu/98_247_s_s_zi29e.jpg</ImageUrl>
       <Contacts>
         <ContactPerson><![CDATA[Mart Abel]]></ContactPerson>
          <ContactAddress><![CDATA[Pärnu mnt 69 66251 Kose]]></ContactAddress>
          <ContactPhone><![CDATA[+372 123456]]></ContactPhone>
          <ContantWebpage><![CDATA[www.koseinvest.ee]]></ContantWebpage>
       </Contacts>
    </Practise>
  </Category>
  
</practices>

XSD

<xs:schema attributeFormDefault="unqualified" elementFormDefault="qualified" xmlns:xs="http://www.w3.org/2001/XMLSchema">
  <xs:element name="practices">
    <xs:complexType>
      <xs:sequence>
        <xs:element name="Category" maxOccurs="unbounded" minOccurs="0">
          <xs:complexType>
            <xs:sequence>
              <xs:element name="Practise">
                <xs:complexType>
                  <xs:sequence>
                    <xs:element type="xs:string" name="Company"/>
                    <xs:element type="xs:string" name="Title"/>
                    <xs:element type="xs:string" name="Description"/>
                    <xs:element type="xs:string" name="Beginning"/>
                    <xs:element type="xs:string" name="End"/>
                    <xs:element type="xs:string" name="Salary"/>
                    <xs:element name="Location">
                      <xs:complexType>
                        <xs:simpleContent>
                          <xs:extension base="xs:string">
                            <xs:attribute type="xs:string" name="county" use="optional"/>
                            <xs:attribute type="xs:string" name="country" use="optional"/>
                          </xs:extension>
                        </xs:simpleContent>
                      </xs:complexType>
                    </xs:element>
                    <xs:element type="xs:string" name="ImageUrl"/>
                    <xs:element name="Contacts">
                      <xs:complexType>
                        <xs:sequence>
                          <xs:element type="xs:string" name="ContactPerson"/>
                          <xs:element type="xs:string" name="ContactAddress"/>
                          <xs:element type="xs:string" name="ContactPhone"/>
                          <xs:element type="xs:anyURI" name="ContantWebpage"/>
                        </xs:sequence>
                      </xs:complexType>
                    </xs:element>
                  </xs:sequence>
                  <xs:attribute type="xs:byte" name="id" use="optional"/>
                  <xs:attribute type="xs:string" name="endtime" use="optional"/>
                </xs:complexType>
              </xs:element>
            </xs:sequence>
            <xs:attribute type="xs:string" name="category" use="optional"/>
          </xs:complexType>
        </xs:element>
      </xs:sequence>
    </xs:complexType>
  </xs:element>
</xs:schema>

XSLT

Kuvab praktikapakkumised, iga kategooria kohta.

<?xml version="1.0" encoding="UTF-8"?>

<xsl:stylesheet version="1.0"
xmlns:xsl="http://www.w3.org/1999/XSL/Transform">

<xsl:template match="/">
  <html>
  <body>
  <h2>Praktikapakkumised</h2>
  <table border="1">
    <tr bgcolor="#9acd32">
      <th>Company name:</th>
      <th>Job title:</th>
      <th>Job location:</th>
      <th>Job start time:</th>
    </tr>
    <xsl:for-each select="practices/Category">
    <tr>
      <td><xsl:value-of select="Company"/></td>
      <td><xsl:value-of select="Title"/></td>
      <td><xsl:value-of select="Location"/></td>
      <td><xsl:value-of select="Beginning"/></td>
    </tr>
    </xsl:for-each>
  </table>
  </body>
  </html>
</xsl:template>

</xsl:stylesheet>