Giter VIP home page Giter VIP logo

ruby-on-rails-opp-projekt's Introduction

Ruby-on-Rails

01.2016.

Projekt iz predmeta Oblikovanje programske podrške

Web sjedište radio postaje.

Opis projektnog zadataka

Internetska radio postaja „Mi samo sviramo“ ima arhivu tonskih zapisa u nekomprimiranom digitalnom formatu. Standardno je korištena frekvencija uzorkovanja 48 kHz uz 24 bitovnu kvantizaciju, no postoji i manji broj zapisa gdje su korištene frekvencije uzorkovanja 44,1 kHz i 16 bitovna kvantizacija ili frekvencija uzorkovanja 96 kHz i 24 bitovna kvantizacija. Svi su zapisi u stereo tehnici. Internetska radio postaja traži učinkovit informacijski sustav koji će glazbenim urednicima omogućiti kreiranje liste za reprodukciju glazbe u vremenskim odsječcima od jednog sata, do 24 sata unaprijed. Glazbeni urednik mora moći pretraživati cjelokupnu bazu po svim bitnim informacijama vezanim uz taj zapis. Dodatno, sustav mora omogućiti registriranim korisnicima kreiranje vlastitih lista želja s postojećim zapisima. Svaki registrirani korisnik može sam kreirati listu s do 10 željenih zapisa. Glazbeni urednik dobiva informaciju o zapisima koji su traženi, i prema rang listi broja zahtjeva može napraviti stvarnu listu koja će biti emitirana. Neregistrirani korisnici vide samo informaciju o tome koji glazbeni zapis se trenutno reproducira.Pretpostavlja se da radijska postaja ima uređena prava korištenja i reprodukcije svih tonskih zapisa.

Zahtjevi na informacijski sustav

Podaci o tonskom zapisu

Svaki tonski zapis ima svoje ime, kao i ostale meta podatke, koji uključuju ime izvođača ili grupe, trajanje zapisa, format u kojem je spremljen, frekvenciju uzorkovanja, broj bitova kvantizacije, vrstu glazbe kamo pripada, nakladnika, vrstu nosača i godinu izdanja. Korisnici informacijskog sustava

Informacijski sustav ima pet vrsta korisnika: vlasnik sustava, administrator, glazbeni urednik, registrirani korisnik i neregistrirani korisnik. Vlasnik sustava nakon puštanja sustava u produkciju, upisuje podatke o internetskoj radio postaji i kontakt podatke. Podatke o vlasniku sustava upisuje informatička kuća koja je radila sustav. Vlasnik sustava definira i administratore sustava. Podatke o administratorima sustava može upisivati i mijenjati samo vlasnik sustava. Administrator sustava može uređivati informacije o sebi, glazbenim urednicima i svim registriranim korisnicima. Administratori sustava unosi zvučne zapise, i uređuje podatke o njima. Glazbene urednike određuje administrator sustava. Svaki glazbeni urednik ima svoje određeno vrijeme u danu za koje slaže svoju listu za reprodukciju. To vrijeme određuje se dogovorno između svih glazbenih urednika, a upisuje ga u sustav administrator sustava. Registrirani korisnik može upisivati podatke o sebi, pri čemu obavezni podaci koje upisuje su njegovo ime, prezime, zanimanje i adresa elektroničke pošte. Neregistrirani korisnik može vidjeti samo osnovne podatke o internetskoj radio postaji i o glazbenom zapisu koji se trenutno reproducira.

Posebne funkcionalnosti sustava

Registracija korisnika

Procedura registracije korisnika predviđa unos podataka korisnika. Nakon registracije, korisniku se na njegovu adresu elektroničke pošte šalje pozdravna poruka i traži se potvrda „klikom na link“. Nakon što korisnik potvrdi registraciju, na adresu elektroničke pošte šalju mu se pristupni podaci za pristup korisničkom dijelu stranice.

Izrada liste za reprodukciju (glazbeni urednik)

Svaki glazbeni urednik ima na raspolaganju tražilicu koja pretražuje sve tonske zapise po svim kriterijima. Nakon što tonski urednik odabere neki tonski zapis, on se prebacuje u prijedlog liste, i tako sve dok se ne napravi cijela lista za 1 sat. Sustav upozorava glazbenog urednika kad se trajanje reprodukcije liste približi trajanju od 1 sata. U cilju optimizacije kvalitete slušanja, sustav ne dozvoljava početak reprodukcije zadnjeg tonskog zapisa ukoliko bi njegova reprodukcija trajala manje od 15 s. Nakon izrade liste zapisa za reprodukciju, potrebno je listu potvrditi. Nakon potvrde ona se preslikava u cjelodnevnu listu po kojoj se radi reprodukcija. Sustav mora kontrolirati zahtjev da u svakom trenutku mora postojati lista za reprodukciju za sljedeća 24 sata.

Izrada liste želja

Registrirani korisnici imaju mogućnost izrade liste želja. Registrirani korisnik može pristupiti postojećem popisu glazbenih zapisa, i od njih odabrati 10 naslova koje bi htio čuti u sljedeća 24 sata. Nakon izrade takve liste želja, registrirani korisnik je mora potvrditi. Nakon potvrde, sustav automatski pregledava listu, i generira listu želja sa svim zapisima koje su registrirani korisnici unijeli, i odgovarajućim brojem zahtjeva za reprodukcijom upravo tog zapisa. Tako generirana automatska lista želja registriranih korisnika dostupna je i vidljiva svim glazbenim urednicima.

Izvještaji i pregledi

Administratori sustava mogu vidjeti izvještaje o tome koji su glazbeni zapisi koliko puta reproducirani, koji glazbeni urednik preferira koje zapise, koji su zapisi najviše traženi preko liste želja registriranih korisnika, i kolika je frekvencija pojavljivanja najtraženijeg zapisa sa liste želja unutar određenog vremenskog intervala.

Ostali zahtjevi i ograničenja sustava

Sustav mora omogućiti istovremeni rad vlasnika sustava, administratora, glazbenih urednika i neograničenog broja registriranih korisnika. Prilikom rada vlasnik i administratori sustava moraju moći vidjeti broj i imena trenutno aktivnih drugih administratora i broj trenutno aktivnih registriranih korisnika. Sustav ima jednog vlasnika i do najviše 10 administratora. Broj registriranih korisnika je neograničen.

ruby-on-rails-opp-projekt's People

Contributors

marin-marsic 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.