• Rezultati Niso Bili Najdeni

funkcionalnosti in arhitektura aplikacije

4.2 Opis ER-diagrama

ER-diagram, prikazan na sliki 4.1, prikazuje entitete, atribute entitet in re-lacije med entitetami v podatkovni bazi naˇse aplikacije. Kot je razvidno, smo ustvarili pet entitet: Stranka(Customers),Projekt(Project),Naloga (Task) (ki je ˇsibka entiteta — to pomeni, da je ne moremo identificirati brez primarnega kljuˇca projekta),Uporabnik(User) inKomentar(Comment), ki je sicer vmesna entiteta, ki povezuje entiteti Naloga in Uporabnik.

Entitete so med seboj povezane s ˇstirimi relacijami:

• Ustvari (create) – povezuje entiteti Stranka s kardinalnostjo 1..1 in Projekt s kardinalnostjo 0..*, saj ena stranka lahko ustvari niˇc ali veˇc projektov.

• Je razdeljen (is divided) – povezuje entiteti Projekt s kardinalnostjo 1..1 in Naloga s ˇsibko kardinalnostjo (je odvisna od primarnega kljuˇca projekta) 1..*, saj se en projekt lahko razdeli na eno ali veˇc nalog.

• Vsebuje(contains) – povezuje entiteti Naloga s kardinalnostjo 1..1 in Komentar s kardinalnostjo 0..*, saj ima lahko ena naloga niˇc ali veˇc komentarjev.

• Lahko doda(can add) – povezuje entiteti Uporabnik s kardinalnostjo 1..1 in Komentar s kardinalnostjo 0..*, saj lahko en uporabnik doda niˇc ali veˇc komentarjev k nalogi, doloˇceni komentar je lahko napisan s strani toˇcno enega uporabnika.

Vsaka entiteta vsebuje atribute, spodaj bomo naˇsteli vse atribute pri posamezni entiteti in jih na kratko predstavili.

• Strankaima naslednje atribute:

– stranka id (customer id), predstavlja identifikator za iskanje zapi-sov v tabeli Stranka, ter je hkrati primarni kljuˇc in celo ˇstevilo (Integer).

– stranka ime (customer name), je besedilni zapis, ki hrani stran-kino ime.

– stranka priimek (customer surname), je besedilni zapis, ki hrani strankin priimek.

– stranka podjetje (customer company), je besedilni zapis, ki hrani ime strankinega podjetja.

– stranka geslo(customer password), je besedilni zapis, ki hrani ˇsifrirano vrednost strankinega gesla.

– stranka epoˇsta (customer email), je besedilni zapis, ki hrani stran-kin elektronski naslov.

• Projekt ima naslednje atribute:

– projekt id (project id), predstavlja identifikator za iskanje zapisov v tabeli Projekt ter je hkrati primarni kljuˇc in celo ˇstevilo (Inte-ger).

– datoteka ime (file name), je besedilni zapis, ki hrani ime datoteke (.zip), ki je shranjena na streˇzniku za doloˇcen projekt, ˇce jo stranka doda – ni obvezen zapis.

– datum prevzema (date of pickup), je datumski zapis, ki hrani da-tum oddaje projekta s strani stranke.

– skrajni rok (date deadline), je datumski zapis, ki hrani datum, do kdaj mora biti projekt konˇcan.

– projekt napredek (project progress), je celo ˇstevilo, ki hrani odsto-tek [0, 100] napredka projekta.

– projekt ime (project name), je besedilni zapis, ki hrani ime pro-jekta, ki ga izbere stranka.

– projekt tip (project type), je besedilni zapis, ki hrani vrsto pro-jekta, ki ga poljubno dodeli stranka, lahko ostane tudi prazen - ni obvezen zapis.

– projekt opis (project description), je besedilni zapis, ki hrani opis projekta, ki ga poda stranka.

– projekt selektor (project selector), je besedilni zapis, dolg natanko 16 znakov, ki preveri del URL-naslova, ki ga pridobimo pri HTTP metodi GET.

– projekt potrditev (project verificator), je besedilni zapis, dolg na-tanko 16 znakov, ki preveri preostali del URL-naslova, ki ga pri-dobimo pri HTTP metodi GET.

• Naloga ima naslednje atribute:

– naloga id (task id), predstavlja identifikator za iskanje zapisov v tabeli Naloga, ter je hkrati primarni kljuˇc in celo ˇstevilo (Integer).

– naloga ime (task name), je besedilni zapis, ki hrani ime naloge, ki ga poda tisti, ki kreira nalogo. Ponavadi je to vodja projekta.

– naloga dodeljenec (task assigned to), je celoˇstevilski zapis, ki vse-buje identifikator uporabnika, kateremu je ta naloga dodeljena.

– naloga dodelitelj (task assigned from), je celoˇstevilski zapis, ki vse-buje identifikator uporabnika, kateri je to nalogo dodelil drugemu uporabniku.

– naloga narejena (task done), je celoˇstevilski zapis, ki predstavlja, ali je naloga konˇcana (0 - ni konˇcana, 1 - konˇcana).

– naloga pomembnost (task importance), je celoˇstevilski zapis, ki predstavlja pomembnost naloge (0 urgentno, 1 pomembno, 2 -normalno).

– naloga status (task status), je celoˇstevilski zapis, ki predstavlja trenutni status naloge (0 - v ˇcakanju, 1 - v delu, 2 - narejena).

– naloga ure (task hours), je ˇcasovni zapis, ki hrani ˇcas, ki ga upo-rabnik porabi, da dokonˇca nalogo.

– naloga opis (task description), je besedilni zapis, ki hrani opis na-loge, ki ga poda tisti, ki ustvari nalogo, po navadi je to vodja projekta.

– naloga zaˇcetni datum (task start date), je datumski zapis, ki hrani datum, stvaritve naloge s strani projektnega vodje.

– naloga skrajni rok (task deadline), je datumski zapis, ki hrani da-tum, do kdaj mora biti projekt konˇcan.

– naloga datoteka (task file), je besedilni zapis, ki hrani ime dato-teke (.zip), ki je shranjena na streˇzniku za doloˇceno nalogo, ˇce jo projektni vodja doda – ni obvezen zapis.

– naloga selektor (task selector), je besedilni zapis dolg natanko 16 znakov, ki preveri del URL-naslova, ki ga pridobimo pri HTTP metodi GET.

– naloga potrditev (task verificator), je besedilni zapis dolg natanko 16 znakov, ki preveri preostali del URL-naslova, ki ga pridobimo pri HTTP metodi GET.

• Uporabnik ima naslednje atribute:

– uporabnik id (user id), predstavlja identifikator za iskanje zapisov v tabeli Uporabnik, ter je hkrati primarni kljuˇc in celo ˇstevilo (Integer).

– uporabnik ime (user name), je besedilni zapis, ki hrani uporabni-kovo ime.

– uporabnik priimek (user surname), je besedilni zapis, ki hrani upo-rabnikov priimek.

– uporabnik funkcija (user function), je celoˇstevilski zapis, ki pove vlogo uporabnika v podjetju (0 - grafiˇcni oblikovalec, 1 - progra-mer, 2 - vodja projektov, 3 - administrator).

– uporabnik geslo(user password), je besedilni zapis, ki hrani ˇsifrirano vrednost uporabnikovega gesla.

– uporabnik epoˇsta (user email), je besedilni zapis, ki hrani uporab-nikov elektronski naslov.

• Komentar ima naslednja atributa:

– komentar id (comment id), predstavlja identifikator za iskanje za-pisov v tabeli Komentar, ter je hkrati primarni kljuˇc in celo ˇstevilo (Integer).

– komentar besedilo (comment text), je besedilni zapis, ki hrani upo-rabnikov komentar pri nalogi.

Slika 4.1: ER-diagram aplikacije