Este é um projeto de exemplo prático que demonstra como criar um sistema de chat simples em tempo real utilizando:
- 🧠 Node.js + Express + Socket.IO no backend
- ⚛️ React + TypeScript no frontend
- 🔄 Comunicação bidirecional em tempo real via WebSocket
Este projeto simula uma aplicação de chat onde usuários entram em uma "sala" e trocam mensagens instantaneamente. É um ótimo ponto de partida para aplicações como:
- Sistemas de entrega com atualizações de status
- Chats privados ou em grupo
- Notificações em tempo real
- Games multiplayer e dashboards colaborativos
📁 projeto/
├── backend/ # Servidor Node.js com WebSocket (Socket.IO)
│ └── server.js
├── frontend/ # Aplicação React + TypeScript
│ ├── src/
│ │ ├── App.tsx
│ │ ├── index.tsx
├── package.json
└── README.md
- Node.js (v18+)
- npm ou yarn
git clone https://github.com/Thigovenc/websocketchat.git
cd websocketchatcd backend
npm install
node index.jsO backend ficará disponível em: http://localhost:4000
cd frontend
npm install
npm run devO frontend estará rodando em: http://localhost:3000
- Abra http://localhost:3000 em duas abas diferentes
- Envie uma mensagem em uma aba
- Veja a mensagem aparecendo instantaneamente na outra aba 🎉
- Cria um servidor HTTP com Express
- Integra com
socket.iopara escutar conexões WebSocket - Gerencia salas e mensagens enviadas por cada cliente
- Conecta ao servidor WebSocket via
socket.io-client - Permite entrar em uma sala (chat)
- Atualiza a interface com as mensagens recebidas em tempo real
| Tecnologia | Função |
|---|---|
| Node.js | Backend |
| Express | Servidor HTTP |
| Socket.IO | WebSockets |
| React | Frontend |
| TypeScript | Tipagem estática |
Feito com ❤️ por Thiago Venceslau