Skip to content

Project realized for the Web Application course

License

Notifications You must be signed in to change notification settings

AndreaYpmY/EventBoard

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 

Repository files navigation

Readme

ITA

Il team

Il team di sviluppo è così composto:

Descrizione del progetto

GoodVibes” è una Web Application che si pone come obiettivo quello di aiutare le persone a trovare l’evento ideale a cui partecipare. La pagina principale permette di esplorare gli eventi disponibili. Essa si aggiorna dinamicamente: può mostrare gli eventi in base alle categorie preferite, se impostate dall’utente nel proprio profilo, o mostrarli in ordine cronologico, indipendentemente dalla categoria degli stessi.

Ogni evento ha a disposizione una pagina contenente tutte le informazioni necessarie (Titolo, data e ora, luogo, descrizione ecc…). Il dato sul luogo viene dettagliato tramite l'implementazione delle API di Mapbox, che permettono di visualizzarne la posizione sulla mappa. Al fine di rendere più coinvolgente l’applicazione, oltre alle funzioni dell’utente registrato, è possibile condividere la pagina di un evento sui principali canali social. Le interazioni sono lo strumento attraverso il quale è possibile farsi un’idea dell’indice di gradimento di un evento: questo dato torna utile sia agli organizzatori che agli altri utenti.


Istruzioni per l’utilizzo

Operazioni preliminari

Back-end: Path repo → “/WebApplication/BackEnd”

Prima di avviare normalmente il progetto, sarà necessario effettuare il ripristino del database, tramite il dump presente all’interno di questo repository in

/WebApplication/BackEnd/DatabaseDUMP/*.tar

Una volta effettuato il ripristino del database, sarà inoltre necessario recarsi nel file

/WebApplication/BackEnd/src/main/java/persistenza/DBManager.java

E, alla riga 36, inserire i propri dati per la connessione al DB


Front-end: Path repo → “/WebApplication/FrontEnd/EventBoard/”

Per una sola volta, al primo avvio, sarà necessario usare precedentemente il seguente comando, per installare tutti i moduli richiesti dall’app front-end

npm install

Per avviare il progetto Angular sarà necessario usare il seguente comando

ng serve --proxy-config proxy.conf.json

Ciò è dovuto alla presenza di un proxy (proxy.conf.json, appunto), necessario per bypassare il CORS nelle richieste rivolte verso l’API di imgBB (utilizzato per l’upload delle locandine degli eventi)


Note (Bug e Precisazioni)

  • A volte può succedere che la mappa mapbox nel dialog di selezione della posizione di un nuovo evento sia inizializzata in un punto che non corrisponde esattamente a quanto richiesto nei campi Regione e Città;
  • A volte può succedere (per cause che non dipendono da noi) che il servizio esterno per regioni e comuni italiani impieghi diverso tempo prima di rispondere, causando disagi alla UX. Ciò accade soprattutto nei form che attendono la compilazione dei suddetti dati per essere validati;
  • Il sistema di notifiche dell’applicazione, come descritto nei casi d’uso (i quali sono dettagliati all’interno della relazione di Ingegneria del Software, anch’essa disponibile in questo repository) si basa sull’invio di email attraverso SMTP Gmail, servizio solitamente molto affidabile e rapido ma che non è scevro da rallentamenti, i quali potrebbero minare la qualità dell’UX.

Tecnologie utilizzate

Front-end:

  • Angular 15;
  • Angular Material;
  • Typescript 4.8.3;
  • Animate.css (Per ALCUNE delle animazioni presenti nell’applicazione);
  • API Mapbox (Per posizionamento e mappe);
  • API ComuniITA (Per raccolta dati su regioni e comuni italiani);
  • API Imgbb (Per upload immagini in rete);
  • API Imgur (Come sopra, non utilizzata, ma implementata, testata e pronta per sostituire eventualmente Imgbb/Thumbsnap in caso di guasti/manutenzioni);
  • API Thumbsnap (Come sopra, non utilizzata, ma implementata, testata e pronta per sostituire eventualmente Imgbb/Imgur in caso di guasti/manutenzioni).

Back-end:

ENG (To be written)

Releases

No releases published

Packages

No packages published

Languages

  • Java 35.0%
  • TypeScript 30.8%
  • CSS 18.2%
  • HTML 15.6%
  • JavaScript 0.4%