- Tema
- Cilj
- Licencija
- Autor
- Verzija skupa podataka
- Jezik skupa podataka
- Naslov
- Datum izrade podataka
- Datum objave podataka
- Opis skupa podataka
- Funkcionalni zahtjevi
- O implementaciji
- Tehnologije koristene za implementaciju
- Upute za lokalno testiranje
- Pregled funkcionalnosti
- Ostalo
Tema laboratorijske vježbe izrada je otvorenog skupa podataka. Otvoreni podaci podaci su kojima bilo tko može slobodno pristupiti, koristiti ih i dijeliti.
Cilj prve laboratorijske vježbe je upoznavanje s procesom kreiranja otvorenog skupa podataka te njegovog dijeljenja u obliku javnog git-repozitorija. Za potrebe prve laboratorijske vježbe potrebno je napraviti skup podataka i spremiti taj skup podataka u bazu po izboru. Postupak izdvajanja podataka u CSV i JSON formatu mora biti automatiziran skriptom ili shell naredbom. U drugoj laboratorijskoj vježbi potrebno je napraviti prikaz podataka u strojnom i ljudski čitljivom obliku. Za prikaz podataka u ljudima čitljivom formatu potrebno je podatke prikazati u obliku HTML tablice koja se zajedno s obrascem za filtriranje i asinkronim pozivom (AJAX) za dohvaćanje podataka. Dodatno je potrebno ostvariti filtriranje podataka po svim vrijednostima. Za potrebe druge laboratorijske vježbe skup podataka obogaćuje se metapodacima u formatu JSON Schema. Treća laboratorijska vježba treba skup otvorenih podataka iz prijašnjih laboratorijskih vježbi izložiti kroz RESTful API. API mora imati GET, POST, PUT i DELETE kranje točke. Dodatno je potrebno olakšati čitljivost mogućnosti API-ja koristeći standard OpenAPI. U četvtoj laboratorijskoj vježbi potrebno je integrirati vlastitu web-aplikaciju s uslugom Auth0 za Single sign-on. Također, potrebno je napraviti zaštićeni dio aplikacije za dohvaćanje profila prijavljenog korisnika. Konačno, potrebno je semantički opisati barem dva atributa pojedinačnog resursa iz skupa podataka.
Ova laboratorijska vježba licencirana je pod CC0 1.0 Universal (CC0 1.0).
-
Odricanje prava: Autor se odriče svih svojih prava na ovo djelo širom svijeta. Možete kopirati, modificirati, distribuirati i izvoditi djelo, čak i u komercijalne svrhe, bez potrebe za traženjem dozvole.
-
Nema obveze navođenja autora: Nema potrebe za davanjem zasluga autoru.
-
Bez jamstva: Ovo djelo se pruža "kako jest", bez ikakvih jamstava. Creative Commons nije odvjetnička tvrtka i ne pruža pravne usluge; distribucija ovog dokumenta ne stvara odnos odvjetnik-klijent.
Više informacija na Creative Commons.
Ivan Smiljanić
4.0
Engleski
Francuska prva nogometna liga
- listopada 2024.
- listopada 2024.
- siječnja 2025.
Skup podataka je razvijen u PostgreSQL bazi podataka i obuhvaća informacije o nogometnim klubovima iz prve francuske lige (Ligue 1). U ovom skupu podataka pohranjeno je ukupno 18 klubova koji sudjeluju u sezoni 2024./2025. Podaci uključuju ključne atribute koji se odnose na klubove, igrače te specifične informacije vezane uz odabranu sezonu.
Skup podataka sadrži tri glavne tablice: Club, Player, i Season, koje su međusobno povezane putem identifikatora kluba i sezone.
Prva tablica u skupu podataka označava klub i sastoji se od sljedećih stupaca:
Naziv Stupca | Opis |
---|---|
clubid | Identifikator kluba |
clubname | Ime kluba |
stadium | Stadion kluba |
location | Lokacija kluba |
establishedyear | Godina nastanka kluba |
manager | Trenutni trener |
leagueposition | Pozicija u ligi |
wins | Pobjede |
losses | Porazi |
totalplayers | Ukupan broj registriranih igrača |
seasonid | Identifikator sezone |
Druga tablica u skupu podataka označava igrača te se sastoji od sljedećih stupaca:
Naziv Stupca | Opis |
---|---|
playerid | Identifikator igrača |
playername | Ime igrača |
position | Pozicija igrača |
age | Dob igrača |
nationality | Nacionalnost |
goalsscored | Broj golova |
assists | Broj asistencija |
matchesplayed | Odigrane utakmice |
clubid | Identifikator kluba |
salary | Plaća igrača |
Treća tablica u skupu podataka označava sezonu te se sastoji od sljedećih stupaca:
Naziv Stupca | Opis |
---|---|
seasonid | Identifikator sezone |
seasonyear | Godina sezone |
- asinkroni način dohvaćanja sadržaja
- osigurati dostupnost podataka u strojno čitljivom obliku
- prikazane podatke treba dohvatiti iz baze podataka
- mogućnost jednostavnog filtriranja po vrijednostima podataka
- filtrirane podatke potrebno je moći preuzeti u .csv i .json formatu
- korištenje GET metode za dohvat cjelokupnog skupa podataka
- korištenje barem tri dodatne GET metode
- korištenje POST metode
- korištenje PUT metode
- korištenje DELETE metode
- odgovori moraju biti omotani u Response omotač
- aplikacija mora biti otporna na greške i na odgovarajući način vraćati poruke o eventualnim iznimkama ili pogreškama
- aplikacija ne smije prestati s radom u slučaju pogreške ili prikazati zadane poruke o pogreškama odabranih radnih okvira
- dokumentiranje uporabom specifikacije OpenAPI
- integrirati vlastitu web-aplikaciju s uslugom Auth0 za Single sign-on
- zaštićeni dio aplikacije za dohvaćanje profila prijavljenog korisnika
- semantički opisati barem dva atributa pojedinačnog resursa iz skupa podataka
Laboratorijska vježba implementirana je pomoću Node.js-a u razvojnom okruženju VSCode. Dodatno, korišten je React
framework za jednostavni prikaz i generiranje HTML-a koji je uređen pomoću CSS-a.
Projekt zahtjeva korištenje i instaliranje potrebnih biblioteka putem naredbe npm install
. Nakon instaliranja
potrebnih modula, projekt se pokreće putem naredbi npm start
i node server.js
.
Za radno okruženje koristi se VSCode.
- Kloniranje ili preuzimanje projekta
- Otvaranje projekta unutar VSCode odabirom odgovarajućeg direktorija
- pozicionirati se unutar /frontend direktorija
- upisati naredbu
ls
koja će ispisati sve datoteke i mape koje se nalaze u trenutnom direktoriju - u slučaju da prethodna naredba nije ispisala
node_modules
, upisati naredbunpm install
- pokrenuti aplikaciju pomoću naredbe
npm start
- pozicionirati se unutar /backend direktorija
- upisati naredbu
ls
koja će ispisati sve datoteke i mape koje se nalaze u trenutnom direktoriju - u slučaju da prethodna naredba nije ispisala
node_modules
, upisati naredbunpm install
- pokrenuti server pomoću naredbe
node server.js
Podaci su pohranjeni u .csv i .json formatu putem shell skripte.
Skripta je napravljena kako bi povukla podatke u odabranim formatima iz baze podataka te se može pokrenuti
naredbom ./script.sh
.