Univerzitet u Beogradu Fakultet organizacionih nauka Laboratorija za elektronsko poslovanje
VEB APLIKACIJA ZA BIOGRAFIJE Seminarski rad iz Internet tehnologija
Nastavnik: Dušan Barać Saradnik: Katarina Ružić Student: Sara Hadžić 116/13 Milan Stojevski 787/13
Beograd, 2017.
Seminarski rad iz predmeta Internet tehnologije
Sadržaj 1
Korisnički zahtev ............................................................................................................................. 3
2
Slučajevi korišćenja ......................................................................................................................... 4 2.1
Komentarisanje biografija ....................................................................................................... 5
2.2
Pretraga biografija .................................................................................................................. 7
2.3
Prijava na sistem ..................................................................................................................... 9
2.4
Dodavanje biografija ............................................................................................................. 11
2.5
Izmena biografija................................................................................................................... 13
2.6
Brisanje biografija ................................................................................................................. 15
2.7
Dodavanje tipova .................................................................................................................. 17
2.8
Pretraga tipova u bazi ........................................................................................................... 19
2.9
Uvid u statistiku baze ............................................................................................................ 21
3
Model podataka ............................................................................................................................ 23
4
REST API ........................................................................................................................................ 23
5
Tehnologije korišćene u aplikaciji ................................................................................................. 27
6
Korisničko uputstvo....................................................................................................................... 27 6.1
Zajednički slučajevi korišćenja .............................................................................................. 27
6.1.1
Pretraga biografija ........................................................................................................ 27
6.1.2
Komentarisanje biografija ............................................................................................. 28
6.1.3
Slanje mejla/kontakt ..................................................................................................... 28
6.2
Editor ..................................................................................................................................... 30
6.2.1
Prijava na sistem ........................................................................................................... 30
6.2.2
Dodavanje biografije ..................................................................................................... 31
6.2.3
Izmena biografije........................................................................................................... 32
6.3
Administrator ........................................................................................................................ 33
6.3.1
Brisanje biografija ......................................................................................................... 33
6.3.2
Dodavanje tipova .......................................................................................................... 33
6.3.3
Pretraga tipova u bazi ................................................................................................... 34
6.3.4
Uvid u statistiku baze .................................................................................................... 34
2
Seminarski rad iz predmeta Internet tehnologije
1 Korisnički zahtev Potrebno je projektovati i implementirati veb aplikaciju koja sadrži različite biografije u vidu bloga. Aplikacija treba da radi sa tri vrste korisnika: sa posetiocima, editorima i sa administratorima aplikacije. Posetioci mogu da pretražuju i komentarišu biografije, oni se ne loguju na sistem. Editori mogu da menjaju i dodaju biografije i za to im treba omogućiti logovanje u aplikaciju. Administrator aplikacije ima pristup istim funkcionalnostima kao i editori, a osim tih funkcionalnosti omogućeno mu je brisanje biografija, kao i dodavanje tipova u koju ličnost spada(muzičar, pisac…). Slučajevi korišćenja: 1.Komentarisanje biografija 2.Pretraga biografija 3.Prijava na sistem 4.Izmena biografija 5.Dodavanje biografija 6.Brisanje biografija 7.Dodavanje tipova 8.Pretraga tipova u bazi 9.Uvid u statistiku baze
3
Seminarski rad iz predmeta Internet tehnologije
2 Slučajevi korišćenja
Slika 1 Dijagram slučajeva korišćenja za posetioce
Slika 2 Dijagram slučajeva korišćenja za editore
4
Seminarski rad iz predmeta Internet tehnologije
Slika 3 Dijagram slučajeva korišćenja za administratore
2.1 Komentarisanje biografija
Slika 4 Slučaj korišćenja - Komentarisanje biografija
Slučaj korišćenja – Komentarisanje biografija Naziv SK: Komentarisanje biografija Aktori SK: Administrator, editor, posetilac Učesnici SK: Administrator, editor, posetilac i aplikacija Preduslov: Sistem je pokrenut. Osnovni scenario:
5
Seminarski rad iz predmeta Internet tehnologije 1 Administrator/editor/posetilac saopštava sistemu da želi da pokrene komentarisanje biografije. (APSO) 2 Sistem prikazuje formu za komentarisanje. (IA) 3 Administrator/editor/posetilac unosi komentar. (APSO) 4 Administrator/editor/posetilac pritiska dugme za potvrdu komentara. (APSO) 5 Sistem obaveštava administratora/editora/posetioca o uspešno unetom komentaru. (IA)
Slika 5 Dijagram sekvenci - Komentarisanje biografija
Slika 6 Dijagram klasa - Komentarisanje biografija
6
Seminarski rad iz predmeta Internet tehnologije
2.2 Pretraga biografija
Slika 7 Slučaj korišćenja - Pretraga biografija
Slučaj korišćenja – Pretraga biografija Naziv SK: Pretraga biografija Aktori SK: Administrator, editor, posetilac Učesnici SK: Administrator, editor, posetilac i aplikacija Preduslov: Sistem je pokrenut. Osnovni scenario: 6 7 8 9 10
Administrator/editor/posetilac saopštava sistemu da želi da pokrene pretragu biografija. (APSO) Sistem prikazuje formu za pretragu. (IA) Administrator/editor/posetilac unosi ključne reči. (APSO) Administrator/editor/posetilac pritiska dugme za pretragu biografija. (APSO) Sistem obaveštava administratora/editora/posetioca o rezultima pretrage. (IA)
Alternativni scenario: 5.1 Sistem saopštava administratoru/editoru/posetiocu da nema rezultata pretrage. (IA)
7
Seminarski rad iz predmeta Internet tehnologije
Slika 8 Dijagram sekvenci – Pretraga biografija
Slika 9 Dijagram klasa - Pretraga biografija
8
Seminarski rad iz predmeta Internet tehnologije
2.3 Prijava na sistem
Slika 10 Slučaj korišćenja - Prijava na sistem
Slučaj korišćenja – Prijava na sistem Naziv SK: Prijava na sistem Aktori SK: Administrator, editor Učesnici SK: Administrator, editor i aplikacija Preduslov: Sistem je pokrenut. Osnovni scenario: 11 12 13 14 15 16
Administrator/editor saopštava sistemu da želi da pokrene logovanje na sistem. (APSO) Sistem prikazuje formu za logovanje. (IA) Administrator/editor unosi e-mail adresu. (APSO) Administrator/editor unosi password. (APSO) Administrator/editor klikće na dugme za logovanje . (APSO) Sistem obaveštava administratora/editora da je uspešno ulogovan. (IA)
Alternativni scenario: 3.1 Sistem saopštava administratoru/editoru da nije unet odgovarajući e-mail. (IA) 4.1 Sistem saopštava administratoru/editoru da nije unet odgovarajući password. (IA) 9
Seminarski rad iz predmeta Internet tehnologije
Slika 11 Dijagram sekvenci - Prijava na sistem
Slika 12 Dijagram klasa - Prijava na sistem
10
Seminarski rad iz predmeta Internet tehnologije
2.4 Dodavanje biografija
Slika 13 Slučaj korišćenja - Dodavanje biografija
Slučaj korišćenja – Dodavanje biografija Naziv SK: Dodavanje biografija Aktori SK: Administrator, editor Učesnici SK: Administrator, editor i aplikacija Preduslov: Sistem je pokrenut. Osnovni scenario: 17 18 19 20 21 22 23 24
Administrator/editor se prijavljuje na sistem - slučaj korišćenja Prijava na sistem Administrator/editor saopštava sistemu da želi da pokrene unos biografije. (APSO) Sistem prikazuje formu za unos biografije. (IA) Administrator/editor unosi naslov biografije – ime I prezime ličnosti. (APSO) Administrator/editor unosi identifikator biografije. (APSO) Administrator/editor unosi sadržaj biografije . (APSO) Administrator/editor pritiska dugme za unos biografije. (APSO) Sistem obaveštava administratora/editora da je unos biografije uspešan. (IA)
Alternativni scenario: 11
Seminarski rad iz predmeta Internet tehnologije
4.1 Sistem saopštava administratoru/editoru da nije unet odgovarajući naslov biografije. (IA) 5.1 Sistem saopštava administratoru/editoru da nije unet odgovarajući identifikator biografije. (IA) 6.1 Sistem saopštava administratoru/editoru da nije unet odgovarajući sadržaj biografije. (IA)
Slika 14 Dijagram klasa - Dodavanje biografija
Slika 15 Dijagram sekvenci - Dodavanje biografija
12
Seminarski rad iz predmeta Internet tehnologije
2.5 Izmena biografija
Slika 16 Slučaj korišćenja - Izmena biografija
Slučaj korišćenja – Izmena biografija Naziv SK: Izmena biografija Aktori SK: Administrator, editor Učesnici SK: Administrator, editor i aplikacija Preduslov: Sistem je pokrenut. Osnovni scenario: 1 2 3 4 5 6 7 8
Administrator/editor se prijavljuje na sistem - slučaj korišćenja Prijava na sistem Administrator/editor saopštava sistemu da želi da pokrene izmenu biografije. (APSO) Sistem prikazuje formu za izmenu biografije. (IA) Administrator/editor menja naslov biografije – ime i prezime ličnosti. (APSO) Administrator/editor menja identifikator biografije. (APSO) Administrator/editor menja sadržaj biografije . (APSO) Administrator/editor pritiska dugme za potvrdu izmene biografije. (APSO) Sistem obaveštava administratora/editora da je izmena biografije uspešna. (IA)
Alternativni scenario: 4.1 Sistem saopštava administratoru/editoru da nije unet odgovarajući naslov biografije. (IA) 13
Seminarski rad iz predmeta Internet tehnologije 5.1 Sistem saopštava administratoru/editoru da nije unet odgovarajući identifikator biografije. (IA) 6.1 Sistem saopštava administratoru/editoru da nije unet odgovarajući sadržaj biografije. (IA)
Slika 17 Dijagram klasa - Izmena biografija
Slika 18 Dijagram sekvenci - Izmena biografija
14
Seminarski rad iz predmeta Internet tehnologije
2.6 Brisanje biografija
Slika 19 Slučaj korišćenja - Brisanje biografija
Slučaj korišćenja – Brisanje biografija Naziv SK: Brisanje biografija Aktori SK: Administrator Učesnici SK: Administrator i aplikacija Preduslov: Sistem je pokrenut. Osnovni scenario: 1 2 3 4 5
Administrator se prijavljuje na sistem - slučaj korišćenja Prijava na sistem Administrator saopštava sistemu da želi da obriše biografiju. (APSO) Sistem prikazuje dugme za brisanje biografije. (IA) Administrator pritiska dugme za brisanje biografije. (APSO) Sistem obaveštava administratora da je biografija uspešno obrisana. (IA)
15
Seminarski rad iz predmeta Internet tehnologije
Slika 20 Dijagram klasa – Brisanje biografija
Slika 21 Dijagram sekvenci - Brisanje biografija
16
Seminarski rad iz predmeta Internet tehnologije
2.7 Dodavanje tipova
Slika 22 Slučaj korišćenja - Dodavanje tipova
Slučaj korišćenja – Dodavanje tipova Naziv SK: Dodavanje tipova Aktori SK: Administrator Učesnici SK: Administrator i aplikacija Preduslov: Sistem je pokrenut. Osnovni scenario: 1 2 3 4 5 6
Administrator se prijavljuje na sistem - slučaj korišćenja Prijava na sistem Administrator saopštava sistemu da želi da pokrene unos tipa. (APSO) Sistem prikazuje formu za unos tipa. (IA) Administrator unosi naziv tipa. (APSO) Administrator pritiska dugme za unos tipa. (APSO) Sistem obaveštava administratora da je unos tipa uspešan. (IA)
Alternativni scenario: 4.1 Sistem saopštava administratoru/editoru da nije unet odgovarajući naziv tipa. (IA)
17
Seminarski rad iz predmeta Internet tehnologije
Slika 23 Dijagram sekvenci - Dodavanje tipova
Slika 24 Dijagram klasa - Dodavanje tipova
18
Seminarski rad iz predmeta Internet tehnologije
2.8 Pretraga tipova u bazi
Slika 25 Slučaj korišćenja - Pretraga tipova u bazi
Slučaj korišćenja – Pretraga tipova u bazi Naziv SK: Pretraga tipova u bazi Aktori SK: Administrator Učesnici SK: Administrator i aplikacija Preduslov: Sistem je pokrenut. Osnovni scenario: 1 2 3 4 5 6
Administrator se prijavljuje na sistem - slučaj korišćenja Prijava na sistem Administrator saopštava sistemu da želi da pokrene pretragu tipa. (APSO) Sistem prikazuje formu za pretragu tipa. (IA) Administrator unosi naziv tipa. (APSO) Administrator pritiska dugme za pretragu tipa. (APSO) Sistem vraća administratoru rezultat pretrage tipa. (IA)
Alternativni scenario: 6.1. Sistem obaveštava administratora da ne postoji rezultat pretrage tipa. (IA)
19
Seminarski rad iz predmeta Internet tehnologije
Slika 26 Dijagram sekvenci - Pretraga tipova u bazi
Slika 27 Dijagram klasa - Pretraga tipova u bazi
20
Seminarski rad iz predmeta Internet tehnologije
2.9 Uvid u statistiku baze
Slika 28 Slučaj korišćenja - Uvid u statistiku baze
Slučaj korišćenja – Uvid u statistiku baze Naziv SK: Uvid u statistiku baze Aktori SK: Administrator Učesnici SK: Administrator i aplikacija Preduslov: Sistem je pokrenut. Osnovni scenario: 1 2 3
Administrator se prijavljuje na sistem - slučaj korišćenja Prijava na sistem Administrator saopštava sistemu da želi da pokrene pregled statistike. (APSO) Sistem prikazuje stranicu za pregled statistike baze. (IA)
21
Seminarski rad iz predmeta Internet tehnologije
Slika 29 Dijagram sekvenci - Uvid u statistiku baze
Slika 30 Dijagram klasa - Uvid u statistiku baze
22
Seminarski rad iz predmeta Internet tehnologije
3 Model podataka
Slika 31 Model podataka (PMOV)
4 REST API Prva funkcija veb servisa vraća sve tipove. Prikazuju se kolone spectypeid i spectypename iz tabele specific_types. Omogućena je pretraga baze na osnovu ključnih reči. Druga funkcija veb servisa ubacuje novi tip u bazu na osnovu unetog naziva tipa.
23
Seminarski rad iz predmeta Internet tehnologije Opis funkcije
Pregled svih tipova sa postovima
HTTP metoda
GET
URL
service/spectypes.json
URL parametri
(nema)
HTTP body parametri
(nema)
Format HTTP body parametara
(nema)
Izlazni parametri
Niz JSON objekata. Svaki element niza ima atribute spectypeid[integer], spectypename [string], niz posts koji ima atribute id[integer], title[string] i body[text] Primer: [{"spectypeid":1,"spectypename":"fizicar","po sts":[{"id":1,"title":"Mihajlo Pupin","body":"Mihajlo Pupin ili punim imenom Mihajlo Idvorski Pupin (9. oktobar 1854[1][2] \u2014 12. mart 1935) bio je nau\u010dnik, pronalaza\u010d, profesor na Univerzitetu Kolumbija, nosilac jugoslovenskog odlikovanja Beli orao Prvog reda i po\... Po njemu je pored ostalog dobio ime i beogradski institut koji se od 1946. godine zove Mihajlo Pupin.","slug":"mihajlopupin","spectypeid":1,"created_at":"2017-0212 08:32:29","updated_at":"2017-02-12 08:32:29"}
Format izlaznih parametara
Opis funkcije HTTP metoda URL URL parametri HTTP body parametri
Format HTTP body parametara Izlazni parametri
Format izlaznih parametara
application/json
Dodavanje tipa POST /service/setT (nema) JSON objekat sa atributom spectypename[string], Primer: { "spectypename": "muzicar" } application/json Kratak JSON objekat sa jednim atributom, poruka[string]. Primer: { "poruka":"Novost je uspešno ubačena" } application/json
24
Seminarski rad iz predmeta Internet tehnologije Opis funkcije
Pregled svih tipova
HTTP metoda
GET
URL
service/spect.json
URL parametri
(nema)
HTTP body parametri
(nema)
Format HTTP body parametara
(nema)
Izlazni parametri
Niz JSON objekata. Svaki element niza ima atribute spectypeid[integer], spectypename[string] Primer: [{"spectypeid":1,"spectypename":"fizicar"},{"spe ctypeid":2,"spectypename":"teniser"},{"spectypei d":3,"spectypename":"pesnik"},{"spectypeid":4,"s pectypename":"pisac"},{"spectypeid":9,"spectypen ame":"muzicar"}]
Format izlaznih parametara
application/json
25
Seminarski rad iz predmeta Internet tehnologije Opis funkcije
Pregled svih postova
HTTP metoda
GET
URL
service/posts.json
URL parametri
(nema)
HTTP body parametri
(nema)
Format HTTP body parametara
(nema)
Izlazni parametri
Niz JSON objekata. Svaki element niza ima atribute id[integer], title[string] i body[text] Primer: [{"id":1,"title":"Mihajlo Pupin","body":"Mihajlo Pupin ili punim imenom Mihajlo Idvorski Pupin (9. oktobar 1854[1][2] \u2014 12. mart 1935) bio je...}]
Format izlaznih parametara
application/json
26
Seminarski rad iz predmeta Internet tehnologije
5 Tehnologije korišćene u aplikaciji Neke od tehnologija koje su korišćene u aplikaciji: JavaScript- a zajedno sa njim i jquery (jqueryui), ajax i slične biblioteke za uvođenje dinamike u aplikaciju PHP – primarno njegov framework Laravel 5.4.12, za programiranje rada aplikacije, komuniciranje sa korisnikom i bazom podataka HTML- za kreiranje strukture izgleda aplikacije CSS – za prilagodjavanje izgleda strukture aplikacije
6 Korisničko uputstvo 6.1 Zajednički slučajevi korišćenja 6.1.1
Pretraga biografija
Slika 32 Ukucavanje ključnih reči u polje za pretragu
Slika 33 Preusmeravanje na odgovarajuću stranicu
27
Seminarski rad iz predmeta Internet tehnologije 6.1.2 Komentarisanje biografija Nakon preusmeravanja na odgovarajuću stranicu, postoji mogućnost komentarisanja.
Slika 34 Logovanje
Slika 35 Izgled forme za komentarisanje nakon logovanja
6.1.3 Slanje mejla/kontakt Ulaskom na “Kontakt” stranicu, posetilac može da kontaktira administratore putem mejla.
28
Seminarski rad iz predmeta Internet tehnologije
Slika 36 Forma za slanje mejla administratorima
Slika 37 Popunjena forma za slanje mejla
Slika 38 Izgled stranice nakon pritiska na dugme Pošalji
29
Seminarski rad iz predmeta Internet tehnologije
6.2 Editor 6.2.1
Prijava na sistem
Slika 39 Logovanje počinje klikom na dugme Uloguj se
Slika 40 Forma za logovanje
Nakon popunjavanja forme, editor ima pristup panelu, kojem nemaju posetioci.
30
Seminarski rad iz predmeta Internet tehnologije 6.2.2
Dodavanje biografije
Slika 41 Izgled administratorskog dela za editore
Slika 42 Ubacivanje biografije nakon klika na "Dodaj biografiju"
31
Seminarski rad iz predmeta Internet tehnologije
6.2.3
Izmena biografije
Slika 43 Klikom na izmeni odlazi se do forme za izmenu biografije
Slika 44 Izgled forme za izmenu biografije
32
Seminarski rad iz predmeta Internet tehnologije
6.3 Administrator 6.3.1
Brisanje biografija
Slika 45 Izgled administratorskog dela
Klikom na dugme “Obriši” kod željene biografije, ta biografija se briše iz baze podataka. 6.3.2 Dodavanje tipova Iz administratorskog dela, klikom na dugme “Tipovi”, dolazi se do dela gde je implementiran servis. Dodavanje tipova se vrši jednostavnim upisivanjem naziva tipa pristiskom na dugme “Ubaci”.
Slika 46 Ubacivanje tipa ličnosti
33
Seminarski rad iz predmeta Internet tehnologije 6.3.3 Pretraga tipova u bazi Iz administratorskog dela, klikom na dugme “Tipovi”, dolazi se do dela gde je implementiran servis. Pretraga tipova se vrši jednostavnim upisivanjem ključnih reči u polje za pretragu.
Slika 47 Pretraga tipova
6.3.4 Uvid u statistiku baze Iz administratorskog dela, klikom na dugme “Statistika”, dolazi se do dela gde je prikazana statistika baze.
Slika 48 Prikaz statistike baze
34