Giter VIP home page Giter VIP logo

fribox's Introduction

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!

FriBox

Navodila za vaje

  1. 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.

  2. 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 ukazom node FriBox.js ter preverite osnovno delovanje.

  3. 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.

  4. 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.

  5. V Node.js aplikaciji FriBox.js popravite implementacijo tako, da se ob klicu spletne storitve /poglej odjemalcu posreduje datoteka z uporabo funkcije posredujeStaticnoVsebino(). Nato v JavaScript skripti skripta.js popravite implementacijo tako, da vsem datotekam dodate gumb Poglej, ki z uporabo spletne storitve /poglej izbrano datoteko prikaže v novem zavihku.

  6. Node.js aplikaciji FriBox.js dodajte implementaciji dveh funkcij za posredovanje HTTP napak 404 in 500. Funkciji uporabite na ustreznih mestih v aplikaciji, ki so označeni s komentarjem //Posreduj napako.

  7. V Node.js aplikaciji FriBox.js dodajte implemetacijo funkcije izbrisiDatoteko(), ki z uporabo funkcije fs.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.

  8. (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.

fribox's People

Contributors

lovre avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.