Skip to content

Latest commit

 

History

1 Commit

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GoTogether

GoTogether è un'applicazione web pensata per facilitare incontri ed esperienze sociali basate su eventi reali (concerti, festival, mostre, serate) e non sulla singola persona.

Invece dello swipe tradizionale sui profili individuali, gli utenti scoprono eventi di loro interesse, confermano la propria partecipazione ed entrano istantaneamente in una chat di gruppo dedicata con tutte le altre persone che hanno scelto lo stesso evento.

Caratteristiche Principali

  • Esplorazione Eventi: Consulta l'elenco degli eventi con dettagli completi su data, luogo e programma.
  • Partecipazione con un Click: Registra il tuo interesse o presenza per sbloccare la community dell'evento.
  • Chat di Gruppo in Tempo Reale: Stanze chat dedicate per ciascun evento grazie alla tecnologia WebSocket.
  • Autenticazione Sicura: Flusso di registrazione e login con password cifrate (bcrypt) e gestione sessioni tramite token (JWT).
  • Interfaccia Moderna: Layout responsive e performante realizzato con Tailwind CSS v4.

Stack Tecnologico

  • Ambiente di Runtime: Node.js (moduli ES)
  • Backend: Express.js v5
  • Comunicazione Real-Time: Socket.io
  • Database & ORM: MySQL con Prisma ORM
  • Sicurezza: JSON Web Token (jsonwebtoken), Hashing password (bcrypt)
  • Frontend: HTML5, JavaScript (Vanilla client-side) e Tailwind CSS v4

Prerequisiti

Prima di eseguire il progetto, assicurati di avere installato:

  • Node.js (versione 18.x o successiva consigliata)
  • npm
  • MySQL Server attivo in locale o da remoto

Installazione e Configurazione

  1. Clonare il repository
    git clone https://github.com/cicciocastellino/gotogether.git
    cd gotogether

  2. Installare le dipendenze
    npm install

  3. Configurare le variabili d'ambiente
    Crea un file denominato .env nella root del progetto:
    DATABASE_URL="mysql://UTENTE:PASSWORD@localhost:3306/gotogether_db"
    SECRET_KEY="la_tua_chiave_segreta_jwt"

  4. Configurare il Database con Prisma
    Sincronizza lo schema creando le tabelle nel database MySQL locale e genera il client:
    Crea le tabelle nel database direttamente dallo schema
    npx prisma db push
    Genera il Prisma Client locale
    npx prisma generate
    (Opzionale) Per visualizzare e gestire i dati del database tramite interfaccia grafica nel browser:
    npx prisma studio

  5. Compilare Tailwind CSS (se necessario)
    Se apporti modifiche ai file di stile in src/css/:
    npx @tailwindcss/cli -i ./src/css/style.css -o ./public/css/style.css --watch

Avvio dell'Applicazione

Avvia il server specificando la porta (es. 8080): node server.js 8080

Una volta avviato il server, apri il browser all'indirizzo: http://localhost:8080

Licenza

Questo progetto è distribuito sotto licenza ISC.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages