Uploaded by Iryna Savchuk

Copia di IMPRONTA

advertisement
Food Bank Italia
In Italia si stima che 2,6 milioni di persone vivano in povertà assoluta.
Food Bank Italia è un'organizzazione no-profit dedicata a combattere
la fame e la povertà nella nostra comunità, raccogliendo e
distribuendo cibo a coloro che ne hanno bisogno.
Il nostro sito permette:
Agli utenti registrati, che vivono in situazione di difficoltà economica,
di visualizzare i prodotti disponibili nei nostri punti di ritiro;
Effettuare donazioni per vari progetti di sostegno della comunità.
Diventare volontario della nostra associazione.
Database
Per registrare le informazioni degli utenti abbiamo utilizzato 2
tabelle: User e User_Profile, in modo che i dati opzionali degli
utenti vengano gestiti in una tabella a parte, limitando la
conservazione di dati inutili.
Abbiamo deciso di fare una tabella separata per la newsletter in
modo da separare le logiche applicative.
Allo stesso modo abbiamo diviso crowdfunding e donation dal
resto in quanto accettiamo donazioni anche da persone non
registrate.
Utilizziamo la tabella message per tenere traccia di tutte le email
inviate e da chi sono state inviate(possono essere state inviate
solo da admin).
(non ancora implementato nel sito)
L'associazione tra product e pick_up_point ci permette di tenere
traccia dei prodotti disponibili in un determinato punto di ritiro.
Crowdfunding
La parte relativa al crowdfunding si focalizza nell'aiutare persone
in condizioni di povertà attraverso il finanziamento di progetti che
hanno un impatto positivo sulla comunità.
Ogni processo di donazione è identificato univocamente da
$_SESSION['thisdonation'] in combinazione con
$_POST["uniqueDonation"], la donazione può proseguire solo se
questi due valori coincidono, cosi da rendere univoco il processo di
donazione e allo stesso tempo rendere impossibile ritornare
indietro a donazione avvenuta.
Ogni progetto presente sulla pagina di crowdfunding ha un
obiettivo di raccolta fondi e una data di scadenza. Anche se
l'obiettivo viene raggiunto, la raccolta fondi continua fino alla data
di scadenza specificata, un conto alla rovescia mostra quanto
tempo rimane per partecipare al finanziamento, lo stesso conto
alla rovescia viene utilizzato anche per mostrare il tempo
rimanente all'inizio dei progetti non ancora avviati.
Newsletter
Abbiamo implementato nel sito una newsletter a cui ogni
utente può decidere di aderire tramite apposito form così
da poter ricevere tutte le novità sui vari prodotti o progetti.
L'implementazione avviene in due fasi:
PHPMailer: è una libreria open-source che consente
agli sviluppatori di inviare email utilizzando il Simple Mail
Transfer Protocol (SMTP).
HTML: tramite HTML avviene la gestione del template
della newsletter che l'utente riceverà via email.
La gestione dell'invio delle email viene affidata
esclusivamente agli admin.
Admin area
Admin_area è un area riservata solo ad user abilitati (campo
'admin' della tabella 'user' == 1 ) e sfruttando $_SESSION['admin']
evitiamo di ripetere la stessa query più volte.
Per gli utenti abilitati abbiamo creato una area di lavoro con una
navbar personalizzata.
Ogni utente abilitato può utilizzare le seguenti funzionalità:
Gestione newsletter(invio e visualizzazione delle news).
Gestione utenti (cancellazione, ban e admin).
Gestione prodotti (inserimento, modifica e cancellazione).
Gestione crowdfunding (inserimento e visualizzazione
statistiche nella tabella).
Le tabelle vengono implementate con JQuery DataTable
Related documents
Download