|
|
||
|---|---|---|
| php | ||
| .gitignore | ||
| README.md | ||
| index.php | ||
README.md
Biblioteca
INTRODUZIONE Creazione di un’applicazione di gestione di una biblioteca on line. Gli utenti avranno la possibilità di vedere l’elenco dei libri (distinguere tra cartaceo e digitale), prenotarli per un certo periodo pagando il noleggio, restituirli entro il periodo impostato pena aumento del noleggio. La biblioteca contiene libri e documenti di ogni tipo, dall’informazione alla storia dallo sport alla geografia e via dicendo. La biblioteca gestisce anche i film e documentari in formato digitale.
LE PARTI JAVASCRIPT DOVRANNO ESSERE SVILUPPATE IN JQUERY!
UTENTI Gli utenti devono sempre essere assegnati ad una persona e devono avere dei ruoli/diritti sull’applicazione. Questi vengono assegnati dall’utente amministratore (ossia il creatore dell’applicazione). Vediamo i diversi utenti:
Utente Admin: gestisce l’intera applicazione. Inserisce l’utente bibliotecario.
Utente Bibliotecario: Inserisce, modifica e cancella i libri all’interno della biblioteca. Gestisce le consegne e le restituzioni dei libri. Gestisce le penali in caso di mancata consegna. Questo utente non può effettuare prenotazioni. Altre eventuali …
Utente generico: si registra all’applicazione con la propria mail. Inserisce, modifica e cancella le proprie prenotazioni. Effettua il pagamento on line del noleggio. Inserisce una recensione sul libro/film noleggiato che sarà visibile agli altri utenti quando lo consulteranno. L’utente potrà effettuare la prenotazione solo dopo l’avvenuta registrazione. L’utente non registrato può solo visualizzare le entità contenute all’interno dell’applicazione.
Altri eventuali …
PRENOTAZIONI Le prenotazioni hanno un loro codice e si gestiscono attraverso i seguenti stati: Prenotazione In attesa Prenotazione Pagata Prenotazione Consegnata Prenotazione Restituita Restituzione Verificata
Il Codice della prenotazione sarà una stringa composta da utente + il periodo di prenotazione(formato aaaammgg) + il codice del libro/film. Esempio:
UTENTE@MAIL.COM2025010120250131L001
si effettuano con i seguenti dati: Utente + Persona Selezione del libro/film Scelta del periodo di noleggio con data inizio e data fine (gli orari si intendono come 00.00 per la data di inizio e 23.59 per la data di fine). Una volta salvato il periodo il libro/film scelto non sarà disponibile agli altri utenti nel periodo selezionato (si deve pertanto gestire l’errore in caso di prenotazione “accavallata” da parte di un altro utente). L’utente può prenotare e noleggiare al massimo 5 libri. Raggiunto questo numero non può prenotarne altri se non effettua almeno una restituzione. L’utente bibliotecario effettuerà l’avvenuta consegna del libro/film noleggiato all’utente e di conseguenza la verifica dell’avvenuta restituzione L’utente bibliotecario gestisce il pagamento che deve essere effettuato prima della consegna all’utente (di conseguenza non è possibile fare la consegna se il noleggio non ha lo stato “pagato”). La cancellazione della prenotazione deve avvenire prima della consegna e annulla il pagamento. La consegna del noleggio da parte dell’utente obbliga questo ad inserire una recensione che sarà visibile agli altri utenti
altre eventuali …
LIBRI, FILM e DOCUMENTARI Si deve gestire l’ elenco delle entità noleggiabili con i seguenti dati:
Immagine della copertina o locandina Codice dell’entità Tipo (libro, film, documentario, .. ) Titolo Autore o Regista Breve descrizione Costo del noleggio (le entità inserite dal bibliotecario nell’anno corrente costeranno piu’ di quelle degli anni passati). Argomento di appartenenza (sport, storia, cultura generale, geografia, scienze …. ) Data di inserimento all’interno dell’applicazione
Questi dati saranno selezionati dall’utente bibliotecario quando inserirà il libro/film all’interno dell’applicazione.
L’utente avrà a disposizione questi dati quando effettuerà la ricerca dell’entità che interessa oltre alla possibilità di visualizzarne le recensioni.
LE RECENSIONI Può essere inserita una sola recensione per utente e libro/film. La recensione viene inserita nella funzionalità di restituzione ed è facoltativa (l’utente può decidere di non inserire nessuna recensione). L’utente che scrive la recensione può effettuarne la cancellazione FISICA dalla base dati. Gli altri utenti possono mettere sulla recensione un “OK” o “KO” a seconda se in accordo o meno su quanto c’è scritto sulla recensione. OK e KO devono essere rappresentati da un’icona/emoji a piacere. Il bibliotecario e solo lui può decidere di cancellare la recensione (cambiando lo stato da inserita a cancellata) se non la ritiene opportuna. In questo caso al posto della recensione comparirà un messaggio “Recensione Cancellata da Amministrazione”. L’entità recensione contiene i seguenti campi:
utente data descrizione stato (inserita, cancellata) id del libro/film a cui è riferita
MENU di NAVIGAZIONE Ogni tipologia di utente ha il suo menù di navigazione per accedere alle maschere che deve utilizzare.
ADMIN: vede tutta l’applicazione e può fare qualsiasi cosa.
BIBLIOTECARIO: ELENCO LIBRI con funzionalità di inserimento modifica e cancellazione ELENCO FILM (idem sopra) ELENCO DOCUMENTARI (idem sopra) ELENCO PRENOTAZIONI con relativa gestione descritta sopra ELENCO UTENTI REGISTRATI con possibilità di vedere le relative prenotazioni e pagamenti altre eventuali …
UTENTE SEMPLICE: ELENCO LIBRI con selezione per la prenotazione ELENCO PROPRIE PRENOTAZIONI con possibilità di modificare/cancellare altre eventuali …
PAGAMENTI L’utente può scegliere attraverso un’opzione dell’applicazione se pagare in contanti, con bonifico o con carta di credito. Serve quindi un'entità PAGAMENTI per la loro selezione con i seguenti campi:
ID_PAGAMENTO TIPO DESCRIZIONE
Quando l’utente conferma la prenotazione avrà la possibilità di selezionare il tipo di pagamento dall’entità impostata.
7.1 PAGAMENTO CON CARTA DI CREDITO Questo tipo di pagamento è alquanto diffuso per gli acquisti online. Creare quindi una maschera che contenga i seguenti campi (ovviamente da salvare su DB): Nome e Cognome dell’intestatario della carta Numero della carta Mese/Anno scadenza della carta Codice di sicurezza del retro della carta
I dati inseriti dall’utente vanno salvati nella tabella relativa al primo inserimento. I successivi salvataggi dovranno confrontare i dati inseriti negli appositi campi con il dato salvato nella base dati. Il dato salvato non deve essere duplicato ma rimane dato univoco di confronto con i successivi inserimenti. Esempio:
Al primo acquisto l’utente inserisce i dati di cui sopra che vengono salvati. Al secondo acquisto l’utente inserisce nuovamente i dati di cui sopra ma al salvataggio l’applicazione confronterà questi con quelli salvati al punto 1. In caso di corrispondenza fallita si deve restituire un messaggio di errore. Altrimenti si procede con la conclusione del noleggio.
Facoltativo: Quando l’utente salva i dati al punto 1. deve utilizzare un PIN di 4 cifre. Nei tentativi successivi prima di salvare il noleggio con carta di credito si deve proporre la maschera per il controllo del PIN. Ovviamente l’applicazione dovrà verificare che il PIN inserito le volte successive corrisponda con quello salvato al primo acquisto.
BREVE DESCRIZIONE DEL PROCESSO
L’utente semplice quando accede all’applicazione ha la possibilità di navigare all’interno di questa anche se non è registrato. In questo caso pero’ non potrà effettuare la prenotazione. Invece una volta registrato potrà visualizzare ed effettuare le sue prenotazioni con il controllo che non siano piu’ di 5 in totale. Se prova ad effettuare una prenotazione in un periodo in cui non c’è disponibilità l’applicazione deve restituire un messaggio di errore. L’utente per la prenotazione vedrà inizialmente l’elenco di tutti i libri/film presenti all’interno della base dati con possibilità di filtrare la ricerca per tipo, titolo, autore. l’elenco visualizzerà in ordine copertina, titolo, descrizione, costo del noleggio, link alla maschera della prenotazione e link alla maschera delle recensioni. La maschera della prenotazione deve permettere di inserire i dati di cui al paragrafo 3 e 7.
Bibliotecario ha accesso all’elenco delle entità dell’applicazione. può decidere di inserire nuove entità, modificarle o di cancellarle. Nel caso un’entità abbia dei noleggi abbinati non sarà cancellata fisicamente ma solo logicamente (cambio stato). L’entità cancellata non sarà visibile all’utente semplice ma solo al bibliotecario e amministratore. Avendo accesso alle prenotazioni può cambiarne lo stato come descritto al paragrafo 3. Inoltre può cancellare le recensioni che ritiene non adeguate. Non può inserire prenotazioni come bibliotecario.
Amministratore accede a tutto quanto, può modificare cancellare o inserire. Accede alla pagina degli utenti che può eventualmente cancellare se non hanno effettuato alcun noleggio. Gestisce inserimento, modifica e cancellazione dell’utente bibliotecario. Ovviamente l’utente bibliotecario può essere piu’ di uno.