KTMdev: Difference between revisions

From ICO wiki
Jump to navigationJump to search
Totti (talk | contribs)
No edit summary
Totti (talk | contribs)
No edit summary
Line 131: Line 131:
    
    
</practices>
</practices>
</pre>
===XSD===
<pre>
<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>
</pre>
</pre>

Revision as of 15:09, 1 April 2016

Meeskond ja rollid

  • Tauno Otti - Projektijuht
  • Mart Abel
  • Kristian Laupa

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

Veebirakendus on mõeldud nii praktikakoha otsijale kui ka tööandjale, kes soovib oma firmas praktikat pakkuda. Meie idee on luua rakendus, kus saaks kokku tudeng/õpilane ning firma, ning seda kõike ühes kohas kategooriatesse jaotatult. Seega muutub see mugavamaks mõlema osapoole poolt.

Peale praktika lõppu on firmal võimalik praktikandile hinnang anda ja ka vastupidi, et tulevikus praktika pakkujad kui ka otsijad saaksid parema ülevaate teiselt osapoolelt. Hinnata on võimalik 3me aspekti viie tärni süsteemis ning lisada sinna alla veel kommentaar.

Kolmeks aspektiks (Praktikandi poolt vaadatuna) on:

1) "Praktika kasulikus"

2) "Firma suhtumine praktikanti"

3) "Kas soovitaksid teistele?"

Kolmeks aspektiks (Tööandja poolt vaadatuna) on:

1) "Kas praktikant sai oma töökohustusega hakkama?"

2) "Praktikandi suhtumine"

3) "Kas soovitaksid teistele?"


Analüüs praktikaotsija seisukohast

Praktikaotsijal on võimalus vaadata pakkumisi ilma sisselogimata, aga nendele kandideerimiseks peab ta olema sisselogitud. Registreerimisel küsitakse ainult üldist infot ning täpsustava info saab oma profiilile lisada peale registreerimist ja sisselogimist. Oma kasutajale saab ta lisada oma info (kus koolis käib, mis kursus, mis praktikakohta otsib.....) ning ka on võimalus laadida ülesse oma CV. Kui tal on profiil täidetud on tal võimalus kandideerida kuulutustele ning ka ise lisada oma kuulutusi (tööotsija seisukohalt). Kui praktikaotsija leiab endale praktikakoha märgitakse see ka meie veebirakenduses ära (praktika algus, lõpp, tingimused, kokkulepped) ning praktika lõppedes on võimalik lisada mõlemale poolele hinnanguid. Profiili vaadates näeb ka kasutajale antuid hinnanguid ja tema poolt pandud hinnaguind.

Analüüs firma seisukohast

Firmal on tavalise kasutajaõigused, aga temal on võimalik lisada oma isikliku info asemele firma info. Kuulutuste lisamisel valib firma lahtri "Pakun praktikat(või midagi taolist, mida me otsustame". Firmal on võimalik lisada praktikatingimused, keda otsib jne.. Firmal on võimalik saata teade kandideerijale "Kutsu vestlusele" jne.. Kui firma otsustab praktikandi praktikale võtta märgitakse see "leping" ka meie rakenduses ära koos üldiste tingimustega ning selle lõppedes on võimalik lisada hinnaguid teisele poolele. Profiili vaadates näeb ka kasutajale antuid hinnanguid ja tema poolt pandud hinnaguind.

Tehnoloogiad

Rakenduse sisu

MUST HAVE Funktsionaalsused:

  • Kasutaja registreerimine
  • Kuulutuste lisamine (Töökuulutus või tööotsija kuulutus)
  • Kuulutuste deaktiveerimine/muutmine
  • Info lisamine kuulutusele
  • Profiili loomine ja sellele info ja/või failide lisamine (CV pdf formaadis)
  • 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)

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>