SicilyPulse è una piattaforma digitale innovativa che cattura il "battito" culturale della Sicilia, offrendo un'esperienza utente personalizzata e coinvolgente. Grazie all'integrazione di funzionalità avanzate e tecnologie moderne, SicilyPulse mira a diventare il punto di riferimento per contenuti interattivi, informazioni locali e coinvolgimento della community. Un'applicazione web sviluppata con Next.js che offre una panoramica completa degli eventi, delle attività, delle attrazioni culturali e delle esperienze gastronomiche presenti in Sicilia. L'applicazione integra anche un sistema di gestione utenti e un pannello di controllo per gli amministratori, che permette di monitorare e approvare contenuti generati dagli utenti tramite intelligenza artificiale.
La home page accoglie l'utente con una panoramica delle principali categorie disponibili:
- Eventi: Una selezione degli eventi principali in programma.
- Attività: Esperienze e attività da vivere in Sicilia.
- Cultura: Luoghi di interesse culturale.
- Sapori: Esperienze culinarie, ristoranti tipici e piatti tradizionali siciliani.
Ogni categoria (Eventi, Attività, Cultura, Sapori) ha una pagina dedicata con informazioni dettagliate e contenuti visivi.
Una barra di ricerca permette agli utenti di trovare contenuti specifici all'interno delle varie categorie.
L'applicazione consente agli utenti di prenotare ticket per eventi e attività. Il sistema di prenotazione offre le seguenti funzionalità:
Gli utenti possono scegliere la data e l'orario preferito per partecipare all'evento direttamente dall'interfaccia dell'applicazione.
Possibilità di selezionare il numero di biglietti che si desidera acquistare.
Inserendo l'email, l'utente riceverà una conferma della prenotazione con tutti i dettagli relativi all'evento.
Dopo aver completato la prenotazione, il sistema invia automaticamente un'email di conferma all'indirizzo fornito. L'email include:
- Data dell'Evento: Data e ora selezionate per la partecipazione.
- Numero di Biglietti: Numero di biglietti prenotati.
- Informazioni sull'Evento: Dettagli aggiuntivi sull'evento e istruzioni su come completare il pagamento (se necessario).
Gli utenti registrati possono accedere alla propria pagina profilo per gestire le proprie informazioni personali:
- Visualizzazione delle informazioni personali: Nome, cognome ed email.
- Modifica dei dati personali: Possibilità di aggiornare le informazioni del proprio profilo.
- Eliminazione dell'account: Gli utenti possono eliminare il proprio account in modo permanente.
- Eventi Preferiti: Visualizzazione degli eventi preferiti dall'utente.
Gli amministratori hanno accesso a un pannello di controllo dedicato, che consente di:
- Gestione degli Articoli Generati dall'AI: Gli utenti possono proporre articoli utilizzando un sistema basato su intelligenza artificiale. Gli articoli vengono inviati agli amministratori per la revisione.
- Approvazione o Rifiuto degli Articoli: Gli amministratori possono valutare gli articoli generati dagli utenti e decidere se approvarli o rifiutarli.
- Pubblicazione degli Articoli: Gli articoli approvati vengono automaticamente pubblicati e visualizzati nelle rispettive sezioni dell'applicazione.
Gli utenti possono proporre nuovi eventi attraverso un modulo dedicato, specificando:
- Categoria: Selezione della categoria dell'evento (Concerto, Festival, Arte, Moda, ecc.).
- Titolo e Luogo: Inserimento del titolo e della location dell'evento.
- Descrizione: Descrizione dettagliata dell'evento.
- Tag: Assegnazione di tag per facilitare la categorizzazione.
L'applicazione prevede due livelli di accesso:
- Utente Standard: Può esplorare le sezioni dell'applicazione, aggiungere eventi preferiti, modificare il proprio profilo e proporre nuovi eventi.
- Amministratore: Ha accesso al pannello di controllo per la gestione dei contenuti, l'approvazione degli articoli generati dall'AI e la gestione degli utenti.
- Next.js 13: Framework React per applicazioni server-side rendering e static site generation.
- Tailwind CSS: Framework CSS per uno sviluppo rapido e modulare dello stile.
- Firebase: Utilizzato per l'autenticazione e la gestione del database.
- GeminiAI API: Per la generazione automatica degli articoli proposti dagli utenti.
- Typescript: Superinsieme di JavaScript che migliora la sicurezza e la manutenibilità del codice grazie alla tipizzazione statica.
- Vercel: Piattaforma di hosting per applicazioni Next.js, utilizzata per il deploy dell'applicazione.
-
Clona il repository: git clone https://github.com/simoneedge/final-project-cb10-team-d.git
-
Naviga nella cartella del progetto:: cd final-project-cb10-team-d
-
Installa le dipendenze:: npm install
-
Avvia l'applicazione:: npm run dev
Visita la demo del progetto: SicilyPulse
Adriana Piccione
LinkedIn | GitHub
Luca Ferraresso
LinkedIn | GitHub
Mariadomenica Scibilia
LinkedIn | GitHub | Behance