Laboratorio di Sistemi Informativi

Progetto Finale: MyDiary

A.A. 2010/2011

docente: Gianluca Amato


Vai all'home page del corso

Descrizione del problema

L'applicazione vuole essere il prototipo di un nuovo social network. L'idea centrale è quella di simulare un diario, del tipo in uso nelle scuole medie e superiori. Sul diario è possibile lasciare messaggi. Attualmente si vogliono trattare solo messaggi testuali, ma in prospettiva l'idea è quella di estendere l'applicazione a messaggi multimediali.

I concetti fondamentali dell'applicazione sono gli utenti e i diari. Gli utenti sono caratterizzati da username, password, nome, cognome e nickname (il nome che compare vicino ai messaggi da loro creati). Ogni utente ha un solo diario, e ad ogni diario corrisponde un solo proprietario. Ogni diario ha, almeno virtualmente, una pagina per ogni data (ci sarà quindi la pagina del 12 Maggio 2011, quella del 3 Settembre 2025, etc...). Su ogni pagina si possono scrivere dei messaggi. Inoltre, ogni utente avrà un certo numero di amici, che sono altri utenti come lui, dei quali è autorizzato a guardare i diari. La relazione di amicizia è riflessiva: se A è amico di B, allora anche B è amico di A.

Per poter accedere ai diari, gli utenti devono inserire la propria username e password. Appena effettuato il login, all'utente viene presentata la pagina del proprio diario corrispondente al giorno odierno. Da qui, egli può svolgere le seguenti azioni:

L'aggiunta di un amico deve essere confermata dall'altra persona: solo una volta confermata sarà possibile scriversi a vicenda nei propri diari.

Infine, ecco ulteriori specifiche:

Modalità di svolgimento del progetto

Alla fine del lavoro, bisognerà consegnare:

La relazione

La relazione deve essere concisa e deve riguardare esclusivamente il progetto dell'applicazione. Non trasformate la relazione nel manuale utente del programma, perché è inutile. In linea di massima, dovrebbe essere sufficiente includere:

Se durante lo svolgimento del progetto sono state compiute delle scelte progettuali particolari, delle quali ritenete io debba essere a conoscenza, includetene una piccola descrizione nella relazione.

La relazione va consegnata in forma elettronica, in un formato non proprietario e leggibile da software libero. Ad esempio

Il database

Il database deve contenere tutte le tabelle individuate nella fase di progetto. Per poter controllare il buon funzionamento dell'applicazione, è necessario che siano già inseriti i dati relativi ad almeno 3 utenti: pippo, pluto e paperino, ognuno con password uguale al nome.

Il database va consegnato sotto forma di un unico file di testo contenente tutti i comandi SQL necessari per creare le tabelle e inserire i dati in queste ultime. Lo script SQL non deve contenere comandi per creare database o utenti MySQL. Per generare il file richiesto si può usare il comando mysqldump nella forma:

mysqldump [-H <server>] [-U <username>] [-p] <nomedb> > <nomefile>

Nomi di tabelle, campi, etc.. possono essere scelti a piacere, ma per favore non utilizzate caratteri accentati, che potrebbero creare problemi dovuti alla loro differente codifica in sistemi diversi.

L'applicazione

L'applicazione consiste in una serie di script PHP e pagine HTML. Alla fine, bisognerà consegnare tutti i file relativi all'applicazione in un unico file compresso, nel formato che preferite: ZIP, TGZ, etc..

A parte le specifiche del progetto, questi sono ulteriori requisiti che deve soddisfare l'applicazione:

Valutazione

Ai fini della valutazione, saranno tenuti in conto i seguenti aspetti:

Invece, non concorre alla valutazione l'aspetto grafico dell'applicazione, a meno che questo non danneggi l'usabilità.

Vai all'home page del corso

Valid XHTML 1.0 Strict Valid CSS!