Il progetto ha come scopo la creazione di un’applicazione web che offra un servizio a:
- Musicisti indipendenti che vogliono far conoscere la propria musica ed allo stesso tempo di avere un supporto diretto dagli utenti.
- Amanti della musica che vogliono espandere i propri orizzonti musicali verso alternative non convenzionali ai supporti attualmente disponibili (youtube, spotify, …..).
L’applicazione web propone un sistema di finanziamento di tipo “Reward – CrowdFunding (keep-it-all)”, da ascoltatore a musicista. Vuole influenzare l’attuale comunità musicale proponendo un'alternativa non convenzionale agli attuali canali di distribuzione del media.
- Visitatori non registrati
- Ascoltatori
- Musicisti
Di seguito è presente un elenco delle funzionalità fin'ora implementate, a cui a fianco è presente tra parentesi il nome di chi vi ha contribuito.
Tutte le tipologie di utenti
Funzionalità che definisce come:
- caricare un brano(upload del file e inserimento di informazioni aggiuntive)
- rimuovere un brano
- modificare informazioni e impostazioni del brano
- gestire i permessi di visualizzazione di un brano
- visualizzare un brano
- Ascoltatore
- Musicista
Funzionalità che definisce come :
- registrare un utente
- autenticare un utente
- visualizzare il proprio profilo
Musicista
Funzionalità che permette ad un musicista di:
- stabilire il periodo e contributo con cui un utente può supportarlo.
- controllare l’elenco degli utenti che lo supportano.
- Ascoltatore
- Musicista
- Moderatore
Funzionalità che permette di gestire:
- nome e cognome (se non musicista)
- descrizione
- foto profilo
- data e luogo di nascita
- genere musicale (se musicista)
Tutti
Funzionalità che definisce come trovare brani e artisti attraverso vari parametri di ricerca.
- Ascoltatore
- Musicista
Funzionalità che permette ad un ascoltatore/musicista di:
- supportare un musicista.
- controllare l’elenco degli utenti supportati ed eventualmente rimuovere delle associazioni.
- Ascoltatore
- Musicista
Funzionalità che permette all’utente di seguire un ascoltatore/musicista per permettere all’utente di raggiungere subito la sua pagina.
- Ascoltatore
- Musicista
Funzionalità che permette di segnalare utenti e brani ai moderatori.
Moderatore
Funzionalità che permette ai moderatori di ricevere segnalazioni e vederne lo stato.
Le funzionalità del precedente paragrafo sono state implementate seguendo uno sviluppo dell'applicazione basato su quattro strati:
- View (Marco, Giovanni)
- Controller (Tutti)
- Entity (Tutti)
- Foundation (Tutti)
L'applicazione è stata svilupatta in PHP e provata su XAMPP, una piattaforma software che contiene strumenti quali:
- Server Apache
- Il DBMS MySQL
- PHP (Versione 7.2.1)
Pertanto l'applicazione dovrà richiedere un'installazione di XAMPP, in particolare la cartella contenente l'applicativo dovrà essere posizionata nella cartella htdocs . Raggiungendo l'applicazione attraverso l'URL
localhost/deepmusic/
verrà richiesta inizialmente una configurazione per creare e popolare il database. Al primo avvio infatti verrà sottoposta una form, in cui verranno richiesti:
- nome utente del DBMS
- password del DBMS
- nome che si vuole dare al database
Tali file verranno salvati in un file di configurazione, config.inc.php, che sarà utilizzato dallo strato Foundation per comunicare con il dbms. Tale procedimento, così come i meccanismi di sessione adoperati dall'applicativo, richiedono l'attivazione nel browser dei cookie.