Registracija vozila
Seminarski rad iz predmeta Internet tehnologije

Registracija vozila
Seminarski rad iz predmeta Internet tehnologije
Student: Miloradović Darko
Beograd, jun 2020.
Korisnički zahtev
Potrebno je projektovati i implementirati web aplikaciju za registraciju vozila. Sistem treba da bude u mogućnosti da prepozna dve vrste korisnika: kontrolora i vlasnike vozila(običan korisnik). Vlasnik vozila ima obične privilegije.
Vlasnik vozila treba da bude u mogućnosti, pre svega, da se registruje i uloguje na sajt. Vlasnik je u mogućnosti da pretražuje vozila koja se nalaze u sistemu, zatim vidi listu svojih vozila koja su registrovana i datum važenja istih i da vrši izmenu svoje email adrese. Međutim, samo nakon registracije on je u mogućnosti da registruje automobil.
Kontrolor ima pristup panelu za registraciju automobila i pregled izveštaja do sada urađenih registracija, kao i slanje dnevnog izveštaja prilikom zatvaranja kase. Panel za registraciju automobila mu omogućava da registruje automobil sa željenom tablicom, da vrši izmenu registracione tablice, ima uvid u sve dosadašnje registracije sa mogućnošću za njihovom pretragom, kao i mogućnost brisanja nevažećih tablica. Takođe, na panelu za izveštaje može da ima uvid o broju registrovanih automobila, kao i da šalje dnevni izveštaj prilikom zatvaranja kase.
Opis sistema
2.1. Opis slučajeva korišćenja
Karakteristični slučajevi korišćenja su:
Registracija vlasnika vozila
Prijava (login) vlasnika/kontrolora
Unos registracionih tablica
Izmena registracionih tablica
Pregled i pretraga registracionih tablica
Pregled i pretraga svih vozila
Izmena email adrese
Brisanje nevažećih tablica
Odjavljivanje vlasnika/kontrolora sa sajta


2.1.1. Unos registracionih tablica

Slučaj korišćenja – Unos registracionih tablica
Naziv SK: Unos tablica
Aktori SK: Kontrolor
Učesnici SK: Kontrolor, sistem
Preduslov: Sistem je pokrenut i kontrolor je ulogovan.
Osnovni scenario:
Kontrolor unosi podatke za registracionu tablicu.
Sistem čuva registracionu tablicu.

Alternativni scenario:
4.1. Ukoliko sistem nije uspeo da sačuva destinaciju, šalje poruku: “Registraciona tablica nije sacuvana”.

2.1.2. Pregled registrovanih vozila

Slučaj korišćenja – Pregled registracionih tablica
Naziv SK: Pregled tablica
Aktori SK: Vlasnik vozila
Učesnici SK: Vlasnik vozila, sistem
Preduslov: Sistem je pokrenut i vlasnik je registrovan.
Osnovni scenario:
Vlasnik unosi podatke za prijavu na sistem.
Sistem izvršava prijavu.
Sistem šalje poruku vlasniku: “Uspešno ste se ulogovali”.
Vlasnik vrši pregled svojih registrovanih vozila.
Sistem vraća sva registrovana vozila koja pripadaju ulogovanom vlasniku.

Alternativni scenario:
5.1. Sistem nije uspeo da pronađe registrovana vozila, šalje poruku: “Nisu pronađena vozila po zadatom kriterijumu”.

2.1.3. Izmena email adrese

Slučaj korišćenja – Izmena email adrese
Naziv SK: Izmena emaila
Aktori SK: Vlasnik vozila
Učesnici SK: Vlasnik vozila, sistem
Preduslov: Sistem je pokrenut i vlasnik je registrovan.
Osnovni scenario:
Vlasnik unosi podatke za prijavu na sistem.
Sistem izvršava prijavu.
Sistem šalje poruku vlasniku: Uspešno ste se ulogovali.
Vlasnik vrši unos nove email adrese.
Sistem čuva novu email adresu.
Sistem šalje poruku: “Email je promenjen”.

Alternativni scenario:
5.1. Sistem nije uspeo da promeni email adresu, šalje poruku: “Greška prilikom promene email adrese”.

2.2. Opis arhitekture sistema
2.2.1. Dijagram klasa

2.2.2. Struktura baze
U ovom radu korišćena je baza podataka koja se zove seminarski.
Naša baza podataka sastoji se od 4 tabela:
Tablice
Korisnik
Uloga
Vozilo
Tabela “vozilo” se sastoji iz 3 kolone: id, model i marka.
Tabela “korisnik” se sastoji iz 5 kolona: id, ime_prezime, email, sifra i id_uloga.
Tabela “uloga” se sastoji iz 2 kolone: id i naziv.
Tabela “tablice” se sastoji iz 7 kolona: id, id_vlasnik, id_kontrolor, id_vozilo, tablica, datum i cena.
Kod tabele “korisnik”, kolona email je uslovljena UNIQUE ograničenjem. Naravno, preko prikazanih veza možemo uočiti postojanje spoljnih ključeva. Spoljni ključevi za tebelu “tablice” je id_vlasnik, id_kontrolor, id_vozilo. Spoljni ključ za tabelu “korisnik” je: id_uloga. Svi primarni ključevi imaju AUTO_INCREMENT postavljenu opciju.
2.2.3. Specifikacija REST API-ja
Postoje sledeće rute na restfull api-ju:
2.2.3.1. Pregled svih tablica
Opis funkcije
Pregled svih registrivanih vozila
HTTP metoda
GET
URL
/rest/tablice
URL parametri
(nema)
HTTP body parametri
(nema)
Format HTTP body parametara
(nema)
Izlazni parametri
Primer:
[
{
"id": "1",
"tablica": "NS-351-SA",
"datum": "2020-06-09",
"cena": "2631",
"vlasnik": "Boban Pajic",
"kontrolor": "Darko Miloradovic",
"marka": "Skoda",
"model": "Rapid"
},
{
"id": "2",
"tablica": "BG-001-SA",
"datum": "2020-06-18",
"cena": "2193",
"vlasnik": "Biljana Peric",
"kontrolor": "Darko Miloradovic",
"marka": "Ford",
"model": "Ka"
},
{
"id": "3",
"tablica": "BG-001-DF",
"datum": "2020-06-18",
"cena": "2193",
"vlasnik": "Dragana Vincic",
"kontrolor": "Darko Miloradovic",
"marka": "Audi",
"model": "A4"
},
{
"id": "4",
"tablica": "BG-003-JK",
"datum": "2020-04-18",
"cena": "2193",
"vlasnik": "Dalibor Mitic",
"kontrolor": "Drago Milic",
"marka": "Skoda",
"model": "Karoq"
},
{
"id": "5",
"tablica": "BG-003-JM",
"datum": "2020-06-18",
"cena": "2193",
"vlasnik": "Dragan Jaksic",
"kontrolor": "Drago Milic",
"marka": "Honda",
"model": "HRV"
},
{
"id": "6",
"tablica": "BG-003-JM",
"datum": "2020-06-18",
"cena": "2193",
"vlasnik": "Dragan Jaksic",
"kontrolor": "Drago Milic",
"marka": "Honda",
"model": "HRV"
},
]
Format izlaznih parametara
application/json
2.2.3.2. Pregled jedne tablice
Opis funkcije
Pregled jednog registrovanog vozila
HTTP metoda
GET
URL
/rest/tablice/@id
URL parametri
id
HTTP body parametri
(nema)
Format HTTP body parametara
(nema)
Izlazni parametri
Primer:
[{
"id": "75",
"tablica": "JA-023-TX",
"datum": "2020-06-19",
"cena": "2193",
"vlasnik": "Jovan Bubonja",
"kontrolor": "Darko Miloradovic",
"marka": "Audi",
"model": "Q7"
}]
Format izlaznih parametara
application/json
2.2.3.3. Unos tablice
Opis funkcije
Unos registracione tablice
HTTP metoda
POST
URL
/rest/tablice
URL parametri
(nema)
HTTP body parametri
idVlasnik, idKontroler, idVozilo, tablica, cena
Format HTTP body parametara
[{ "idVlasnik":" "32",
"idKontrolor":" "1",
"idVozilo":" "17",
"tablica":" "BG-002-FG",
"cena":" "2163"
}]
Izlazni parametri
Primer:
[{"poruka": "Reg tablica je uspešno ubačena"}]
Format izlaznih parametara
application/json
2.2.3.4. Izmena tablice
Opis funkcije
Izmena registracione tablice
HTTP metoda
PUT
URL
/rest/tablice/@id
URL parametri
id
HTTP body parametri
tablica
Format HTTP body parametara
[{"tablica": "BG-015-GG"}]
Izlazni parametri
Primer:
[{"poruka": "Reg tablica je uspešno promenjena"}]
Format izlaznih parametara
application/json
2.2.3.5. Brisanje tablice
Opis funkcije
Brisanje registracione tablice
HTTP metoda
DELETE
URL
/rest/tablice/@id
URL parametri
id
HTTP body parametri
(nema)
Format HTTP body parametara
(nema)
Izlazni parametri
Primer:
[{"poruka": "Reg tablica je uspešno obrisana"}]
Format izlaznih parametara
application/json
Last updated
Was this helpful?