wiki:voterage

Version 3 (modified by joutapik, 6 years ago) (diff)

--

Harjoitustyöehdotus Web-sovellukset kurssia varten.

HVSC on kokoelma C64 SID-piirille luotuja ohjelmallisesti toistettavia musiikkikappaleita. Kokoelmaan on tarjolla erilaisia natiiveja selaus- ja toistinsovelluksia, mutta nyt olis ideana tehdä uudenlainen.

Käyttöliittymässä on tarkoitus käsitellä HVSC kappaleita joukkoina, jotka käyttäjä voi lajitella omiin soittolistoihinsa tai joihin käyttäjä voi määrittää musiikkityylimäärityksiä yms. relevanttia tietoa.

Tämä sovellus olis tarkoitus tehdä suurinpiirtein seuraavia palikoita käyttäen:

Palvelin Redhat Linux, Fedora Virtuaalipalvelin Apache Python Django

Tietokanta Postgres/Sqlite3 HVSC-kokoelma jossain muodossa tai linkin takaa. Sidinfo(Cadaver/CovertBitops?)

WebGui? HTML CSS Javascript Bootstrap.js, mahdollisesti muita. Tiny'R'sid(Juergen Wothke) tai itsetehty resid-fp(emscripten käännettynä, eli c-kielisestä koodista javascriptiksi käännetty toistin.)(web-audio-api) Tuki web-audiolle on Firefox/Chrome? selaimilla.(Toimii ainakin Windows/Android? alustoilla)

Toimintalogiikka: Tietokantaan koostetaan aluksi HVSC kokoelman kutakin .sid tiedostoa koskevat metatiedot. Tämän jälkeen luodaan joukko-tietoja sisällään pitävä nested-sets tyyppinen puu-malli. Kukin uniikki tiedosto/metatieto on puun noodi. Noodi voi kuulua jonkin toisen noodin lapseksi. Näin esimerkiksi voidaan lajitella .sid kappaleet tekijän, ryhmän, tekijänoikeuksien omistajan, tyypin jne. mukaisesti ilman, että metatietotaulua laajennetaan. Jos halutaan luoda esimerkiksi uusi musiikkilaji Tango, riittää luoda yksi Tango noodi, jolle sitten luodaan viitteet sellaisiin ilmentymiin, jotka joukkoon kuuluvat. Tällä tavalla käyttäjät voivat teoriassa luoda omia joukkojaan.

Käyttöliittymän logiikka: Käyttäjä voi selata tietoja, mutta vain kirjautunut käyttäjä voi niitä muuttaa.

Käyttäjälle esitetään aluksi pääjoukkoa kuvaava nappula, sitä klikkaamalla käyttäjälle palautetaan sellaiset joukot, jotka ovat pääjoukon välittömiä lapsijoukkoja. Käyttäjä voi valita jonkin lapsijoukosta, jolloin siihen välittömästi kuuluvat joukokt palautetaan. Näin navigoidaan, kunnes päädytään valitsemaan itse kappale.

Edellä kuvatulla tavalla navigoiden käyttäjä voi joko valita kappaleita toistettavaksi, lisättäväksi soittolistaan, arvostella kappaleen tai määritellä genren kappaleelle.

Seuraavan kerran loggautuessaan sisään näkee käyttäjä kokoelman pääjoukon lisäksi omat kokoelmansa/soittolistansa.