Timeify

From ICO wiki

Projekt

Ettevõtetele mõeldud tööde planeerimise rakendus, mis on loodud aine Programmeerimine C# keeles raames. Programmis on võimalik lisada töötajaid ning ülemusi. Saab lisada erinevaid töid/kohustusi ja määrata kes neid täitma peab. On võimalik saada ülevaade erinevate tööde seisudest.

Liikmed

  • Egert Loss - projektijuht
  • Priit Rätsep

Analüüs

Timeify eesmärgiks on pakkuda erinevate tööde ja ülesannete haldust ning tööde ülevaadet üksuse juhile eesmärgiga koondada kokku kogu tööde ja töötajatega seotud info tänu millele oleks firma juhatajal hea ülevaade töös olevatest objektidest ja töötajatest ning töötajatel oleks olemas ajakohane info temale määratud objektidest. Võimalik on lisada ning muuta firmasid, seal töötavaid isikuid ning nendega seotud ülesandeid. Administraatoril on õigus lisada firmasid ning nendega seotud töötajaid. Programmi käivitades tulebki kõigepealt lisada uus firma ning selle firmaga seotud juhataja. Juhataja ning administraator saavad lisada firma alla uusi töötajaid. Samuti saavad juhataja ning administraator lisada ülesandeid, neid muuta ning vajadusel ka kustuda. Iga ülesande juures on ka kommentaarid, mida saavad lisada kõik kasutajad kes on selle konkreetse ülesandega seotud, samuti juhataja saab lisada ning kustutada enda firma ülesannete kommentaare ning administraator saab lisada ning kustutada kõik kommentaare. Tegemist on WPF rakendusega, kus arendusfaasis asub andmebaas kasutaja arvutis ning lõppversioonis võiks olla andmebaas ühine ning interneti kaudu kättesaadav.


Vaated

  • Esimene vaade - sisselogimise leht.
  • Pealeht - vastavalt kasutajaõigustele on ka otsingud
    • Admin - otsingud
      • Otsi firmat
      • Otsi töötajat
      • Otsi ülesannet
    • Juhataja - otsingud
      • Otsi töötajat
      • Otsi ülesannet
    • Töötaja - otsing
      • Otsi ülesannet
    • Admin - võimalikud tegevused
      • Lisa/muuda/kustuta firma
      • Lisa/muuda/kustuta töötaja
      • Lisa/muuda/kustuta ülesanne
      • Lisa/muuda/kustuta kommentaare
    • Firma juhataja - võimalikud tegevused
      • Muuda firma andmeid
      • Lisa/muuda/kustuta töötajat
      • Lisa/muuda/kustuta ülesannet
      • Lisa/muuda/kustuta kommentaare
    • Tavatöötaja - võimalikud tegevused
      • Muuda enda andmeid
      • Ülesandele kommentaaride lisamine (näiteks olid mingid probleemid, et midagi ei saanud teha)
      • Ülesannete oleku muutmine (ülesannet ei saa lõpetada, kui iga objektil olnud töötaja pole oma töötunde kirja pannud?)
      • Töötundide sisestamine ülesande lõpetamisel (iga töötaja lisab eraldi oma töötunnid ülesande lõppedes?)
  • Firma detailvaade
    • Firma kontaktandmed
    • Töötajad
    • Firma aktiivsed objektid/ülesanded
    • Objektide/ülesannete lisamine
  • Töötaja detailvaade
    • Töötaja kontaktandmed (tööalane spetsialiseerumine)
    • Töötajale määratud objektid/ülesanded
    • Töötaja viimased tegevused
    • Töötaja töötunnid kuu algusest
  • Ülesande detailvaade
    • Ülesande olemus(nõuded/kohustused)
    • Ajahinnang(algus ja lõppaeg)
    • Hinnang vajaminevatele töövahenditele
    • Töötajad antud objektil + vastutav töötaja
    • Asukoht
    • Töö olek(töös, lõpetatud, ootel)
    • Töötaja poolne kommentaari lisamise võimalus + kommentaaride kuvamine
    • Töötundide lisamine lõpetamisel


Must have

  • Andmete säilimine - kohalik andmebaas
  • Peab saama lisada ning muuta firmasid, töötajaid ning hallatavaid töid.
  • Rakenduses peab olema ülevaade käimasolevatest töödest, ülevaade lõpetatud töödest ning ülevaade tulevastest töödest.
  • Rakenduses peavad muutmised ning kustutamised olema juhitud õigustega - tavatöötaja ei saa enda kohustusi kustutada.
    • Firmasid saab lisada Timeify superadmin
    • Firma juhataja - saab lisada ning muuta töötajaid ning töid (enda firma raames)
    • Tavatöötaja näeb ainult endaga seotuid töid ning saab muuta ainult enda andmeid
  • Super admin saab kustutada ning muuta kõike!

Nice to have

  • Andmebaas internetis
  • Graafikud, kalendrivaade ülesannetest
  • Tööriistade / töövahendite haldus ning laosüsteem
  • Meeldetuletused e-postiga - kui kasutajaga seotud ülesandel hakkab lõppkuuäev lähenema, staatus muutus
  • Desktop meeldetuletused - notificationid
  • Töö asukoha sidumine Google Maps API’ga

Tabelite ülevaade

  • Firma tabel
    • Kõik firmaga seotud info
  • Kasutaja tabel
    • Kõik kasutajaga seotud info, FK firma tabelile
  • Ülesande tabel
    • Kõik ülesandega seotud info, FK firma tabelile, FK kasutaja tabelile
  • Kasutaja logi tabel
    • Kasutaja tegevuste ajalugu(sisse logimised jne) - FK kasutaja tabelile
  • Ülesande logitabel
    • Kes, millal ning kuidas muutis konkreeset ülesannet, FK kasutaja tabelile, FK ülesande tabelile
  • Ülesande kommentaaride tabel
    • FK kasutaja tabelile, FK ülesande tabelile
  • Töötajad objektil/ülesandel
    • FK kasutaja tabelile, FK ülesande tabelile
  • Töötaja töötunnid ülesandel/objektil
    • FK kasutaja tabelile, FK ülesande tabelile

Võimalikud murekohad

Ilmselt kõige probleematilisemaks võivad osutuda osad Nice to have funktsionaalsustest. Näiteks Desktop notificationite lisamisest pole praegusel hetkel mingisugust ettekujutust nii et see võib osutuda väga keeruliseks. Samuti asukoha sidumine Google Mapsiga võib osutuda keeruliseks. Alguses võtame eesmärgiks kasutada kohalikku andmebaasi, aga selge on see, et päriselt peaks rakendus kasutama läbi interneti kätte saadavat andmebaasi, et rakendusest ka midagi kasu oleks. Hetkel aga tundub, et teise andmebaasi kasutusele võtmine võib tekitada probleeme.

Prototüüp

Timeify esitas oma prototüübi 17.12.2017, väikene esitlus selle kohta asub siin [1].

Lõpptoode

Timeify kaitses oma lõpptoote 20.01.2018. Lõpptoote saab kätte siit [2]. Esmase kasutamise juhendeid palume lugeda prototüübi esitlusest!

Tehnoloogiad

  • C# ning Windows Presentation Foundation
  • MSSQL Server / MySQL

Ajalogi

  • 30.09 - Meeskonna moodustamine
  • 21.10 - Projekti Wiki lehe loomine
  • 21.10 - Projekti lisamine TFSi
  • 05.11 - Projekti analüüs
  • 12.11 - Retsensioon projektile TrackPlace
  • 17.12 - Projekti prototüüp
  • 22.01 - Lõpptoote lisamine wikisse