La app "Miei Libri" è molto semplice e serve per tener traccia dei libri che possiedi e dei prestiti effettuati agli amici. Allo scopo potrebbe bastare in realtà un foglio elettronico, ma è un buon esercizio per iniziare a capire come funziona Drupal. Da questo semplice esempio costruiremo poi un esempio decisamente più complesso. Per la sua descrizione e realizzazione seguiamo il metodo che abbiamo visto .
Scopo
Gestire la mia biblioteca personale e i prestiti dei miei libri agli amici
Dati
I Libri. Gli Autori e le Categorie dei Libri. Gli Scaffali dove sono collocati i Libri. Gli Amici cui presti i Libri. I Prestiti dei Libri agli Amici.
LIBRO Ogni libro è rappresentato da un Contenuto di tipo "Libro", formato dai Campi:
| Campo | Tipo | Descrizione |
| Titolo | testo | titolo del libro |
| ISBN | testo | codice ISBN del libro |
| Autore | riferimento ad Autori | Autori del libro |
| Categoria | riferimento a Categorie | Categorie del libro |
| Scaffale | riferimento a Scaffali | Scaffale in cui è collocato il libro |
| Nota | testo | Nota sul libro, es. sul suo stato di conservazione |
AUTORE Ogni autore è rappresentato da un Contenuto di tipo "Autore" con questi Campi:
| Campo | Tipo | Descrizione |
| Cognome | testo | cognome dell'autore |
| Nome | testo | nome dell'autore |
| Nota | testo | Nota sull'Autore, es. per facilitarne l'identificazione |
CATEGORIA Ogni categoria è rappresentata da un Contenuto di tipo "Categoria" con questi Campi:
| Campo | Tipo | Descrizione |
| Titolo | testo | titolo della categoria |
| Nota | testo | Nota sulla Categoria, es. sinonimi |
SCAFFALE Ogni Scaffale è rappresentato da un Contenuto di tipo "Scaffale" con questi Campi:
| Campo | Tipo | Descrizione |
| Titolo | testo | descrizione breve dello scaffale |
| Nota | testo | Nota sullo Scaffale |
In una versione leggermente più complessa della app, potremmo organizzare gli Scaffali gerarchicamente in "Scaffale - Libreria", aggiungendo il tipo "Libreria" e aggiungendo allo Scaffale il Campo "Libreria" con riferimento alla Libreria.
AMICO Ogni amico è rappresentata da un Contenuto di tipo "Amico" con questi Campi:
| Campo | Tipo | Descrizione |
| Nome | testo | nome dell'Amico |
| Nota | testo | nota relativa all'Amico, es. sul suo comportamento rispetto ai prestiti |
In una versione più complessa della app, potremmo rappresentare gli Amici come Utenti e non come Contenuti, consentendo loro di usare la app per chiedere i Libri in prestito. Questa è una delle evoluzioni previste nell'altra app di esempio.
PRESTITO Ogni prestito effettuato è rappresentato da un Contenuto di tipo "Prestito" con questi Campi:
| Campo | Tipo | Descrizione |
| Titolo | testo | Breve descrizione del prestito |
| Libro | riferimento a Libri | Libro in prestito |
| Amico | riferimento a Amici | Amico cui viene prestato il Libro |
| Periodo | data | periodo temporale del Prestito |
Il periodo temporale del prestito serve anche per distinguere tra i prestiti in corso (privi di data di conclusione del periodo) e conclusi (con data di conclusione).
Persone
La app è usata solo dall'Amministratore, cioè da te. Gli Amici non sono quindi Utenti della app, ma dati gestiti.
Autorizzazioni
Essendo l'Amministratore l'unico utente della app e potendo l'Amministratore fare tutto, non c'è necessità di definire le Autorizzazioni.
Percorsi
Anche se come Amministratore puoi muovermi liberamente nella app, per facilitartene l'uso ti conviene definire comunque un percorso fatto di queste pagine e comandi, dedicate alla gestione della biblioteca (libri, autori, categorie e scaffali) e dei prestiti (amici e prestiti). Per semplicità, raccogliamo i comandi che portano alle pagine "Biblioteca", "Autori", "Categorie", "Scaffali", "Amici" e "Prestiti" nel Menù della app.
| Pagina | Cosa mostra | Comandi | Come costruirla |
| Inizio | Elenco dei Prestiti in corso | Vista | |
| Biblioteca | Elenco dei Libri filtrabile per Scaffale e Categoria | Crea Libro | Vista |
| Crea Libro | Modulo di creazione Libro | Invio (crea il Libro e va alla sua pagina) | nativa |
| Libro | Dati del Libro, incluso Autori, Categorie e Scaffale Elenco dei Prestiti in corso | Archivio Prestiti (filtrato per Libro) Crea Prestito Modifica Elimina (1) | nativa + vista allegata |
| Autori | Elenco degli Autori | Crea Autore | Vista |
| Crea Autore | Modulo di creazione Autore | Invio (crea l'Autore e va alla sua pagina) | nativa |
| Autore | Dati dell'Autore Elenco dei Libri di questo Autore | Modifica Elimina | nativa + vista allegata |
| Categorie | Elenco delle Categorie | Crea Categoria | vista |
| Crea Categoria | Modulo di creazione Categoria | Invio (crea la Categoria e va alla sua pagina) | nativa |
| Categoria | Dati della Categoria Elenco dei Libri che sono in questa Categoria Elenco degli Scaffali che hanno Libri in questa Categoria | Modifica Elimina | nativa + vista allegata |
| Scaffali | Elenco delle Scaffali | Crea Scaffale | vista |
| Crea Scaffale | Modulo di creazione Scaffale | Invio (crea lo Scaffale e va alla sua pagina) | nativa |
| Scaffale | Dati dello Scaffale Elenco dei Libri che sono in questo Scaffale Elenco delle Categorie dei Libri in questo Scaffale | Modifica Elimina | nativa + vista allegata |
| Archivio Prestiti | Elenco dei Prestiti conclusi (filtrabile per Libro e Amico) | vista | |
| Crea Prestito | Modulo di creazione Prestito | Invio (crea il Prestito e va alla sua pagina) | nativa |
| Prestito | Dati del Prestito, incluso Libro e Amico | nativa | |
| Amico | Dati dell'Amico Elenco dei Prestiti in corso | Archivio Prestiti (filtrato per Amico) Modifica Elimina (1) | nativa + vista allegata |
| Amici | Elenco degli Amici | Crea Amico | vista |
| Crea Amico | Modulo di creazione Amico | Invio (crea l'Amico e va alla sua pagina) | nativa |
(1) Un Libro o un Amico sono eliminabili se non ci sono Prestiti che lo riguardano
Automazioni
Non servono automazioni.