title: Real-Time Chat tags: [react, socket-io, node, realtime]
Real-Time Chat
App di chat in tempo reale con autenticazione, presenza e invio immagini. Full-stack, dal login al deploy.
L'idea
Costruire da zero una chat realtime per mettere mano alle parti che contano davvero in un'app di questo tipo: messaggi istantanei, stato degli utenti, e una sicurezza dell'autenticazione fatta come si deve.
Cosa ho costruito
- Messaggistica istantanea via Socket.io, con presenza online e notifiche.
- Autenticazione sicura: JWT in cookie httpOnly, hash bcrypt, CORS configurato a dovere.
- Invio immagini con upload su Cloudinary.
- Tema chiaro/scuro, sidebar contatti, routing protetto lato client.
Perché conta
Il realtime e l'auth sono due aree dove è facile fare danni: qui ho affrontato rooms, eventi e presenza con Socket.io, e ho gestito i token nel modo corretto invece che alla buona. Per lo stato client ho scelto Zustand — leggero e adatto ad app medio-piccole.
Stack: React, TypeScript, Vite, Zustand, Socket.io; Node + Express; MongoDB; Cloudinary.