Razvoj na strežniku z uporabo Node.js
3. vaje pri predmetu Osnove informacijskih sistemov (navodila)
Spletna storitev FriBox
Na GitHub je na voljo javni repozitorij https://github.com/lovre/fribox, ki vsebuje nedelujočo spletno storitev FriBox. FriBox predstavlja napredno storitev za oblačno shranjevanje in deljenje datotek. Kot izvrstna spletna aplikacija posega na izjemno konkurenčno področje obstoječih tovrstnih rešitev. V okviru vaj ustvarite kopijo repozitorija ter popravite in dopolnite obstoječo implementacijo tako, da bo končna aplikacija z vsemi delujočimi funkcionalnostimi izgledala kot na sliki spodaj. Med delom smiselno uveljavljajte spremembe v lokalnem in oddaljenem repozitoriju!
Navodila za vaje
-
Na GitHub z uporabo funkcije Fork ustvarite lastno kopijo javnega repozitorija https://github.com/lovre/fribox v okviru katere boste opravljali vaje. V razvojnem okolju Cloud9 uvozite pravkar ustvarjen GitHub repozitorij z uporabo funkcije Clone to edit ter privzetimi nastavitvami.
-
V JSON datoteki package.json aplikaciji dodelite odvisne knjižnice mime, formidable in fs-extra ter jih naložite z ukazom
npm install
. V Node.js aplikaciji FriBox.js popravite implementacijo tako, da le-ta zažene strežnik na privzetih vratih. Nato zaženite aplikacijo FriBox.js z ukazomnode FriBox.js
ter preverite osnovno delovanje. -
V JavaScript skripti skripta.js popravite implementacijo tako, da se pri nalaganju strani izvede funkcija
pridobiSeznamDatotek()
, ki pridobi seznam datotek iz strežnika. Popravite tudi samo implementacijo funkcije tako, da dejansko pošlje zahtevek za seznam datotek spletni storitvi/datoteke
. -
V JavaScript skripti skripta.js popravite implementacijo tako, da bo izpis seznama datotek prilagojen velikosti posamezne datoteke. Izpis velikosti datotek naj bo v B v kolikor je velikost datoteke manjša od KiB, v KiB v kolikor je velikost datoteke manjša od MiB, v MiB v kolikor je velikost datoteke manjša od GiB itd.
-
V Node.js aplikaciji FriBox.js popravite implementacijo tako, da se ob klicu spletne storitve
/poglej
odjemalcu posreduje datoteka z uporabo funkcijeposredujeStaticnoVsebino()
. Nato v JavaScript skripti skripta.js popravite implementacijo tako, da vsem datotekam dodate gumbPoglej
, ki z uporabo spletne storitve/poglej
izbrano datoteko prikaže v novem zavihku. -
Node.js aplikaciji FriBox.js dodajte implementaciji dveh funkcij za posredovanje HTTP napak
404
in500
. Funkciji uporabite na ustreznih mestih v aplikaciji, ki so označeni s komentarjem//Posreduj napako
. -
V Node.js aplikaciji FriBox.js dodajte implemetacijo funkcije
izbrisiDatoteko()
, ki z uporabo funkcijefs.unlink()
izbriše posredovano datoteko ter vrne ustrezen odgovor. Nato v JavaScript skripti skripta.js poiščite napako v implementaciji zaradi katere je moč izbrisati le prvo datoteko na strani. Popravite implementacijo tako, da bo moč izbrisati poljubno datoteko ter preverite delovanje. -
(za hrabre) V Node.js aplikaciji FriBox.js pri nalaganju datotek dodajte preverjanje ali datoteka z enakim imenom že obstaja. V tem primeru posredujte HTTP napako
409
.