Skip to content

CarlosVictorAR/multiroom-chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

💬 Multiroom Chat

Aplicação de chat em tempo real com suporte a múltiplas salas, construída com Node.js, Socket.IO e Express. Usuários entram com um apelido e trocam mensagens instantaneamente com todos os conectados.


📸 Visão Geral

O Multiroom Chat é uma aplicação web full-stack que utiliza WebSockets via Socket.IO para comunicação bidirecional em tempo real entre os usuários. Ao acessar, o usuário escolhe um apelido e entra diretamente no chat, onde pode ver quem está online e trocar mensagens ao vivo.


⚙️ Funcionalidades

  • Entrada no chat com apelido personalizado
  • Validação do apelido (obrigatório, entre 3 e 15 caracteres)
  • Mensagens em tempo real para todos os conectados
  • Notificação automática quando um usuário conecta ou desconecta
  • Lista de participantes atualizada dinamicamente

🛠️ Tecnologias

  • Back-end: Node.js, Express.js
  • WebSocket: Socket.IO
  • Template Engine: EJS
  • Validação: express-validator
  • Front-end: jQuery, CSS customizado

📁 Estrutura do Projeto

multiroom-chat/
├── app/
│   ├── controllers/       # Lógica de negócio (index, chat)
│   ├── models/            # Modelos da aplicação
│   ├── public/            # Arquivos estáticos (CSS, JS, imagens)
│   ├── routes/            # Definição das rotas Express
│   └── views/             # Templates EJS (index, chat)
├── config/
│   └── server.js          # Configuração do Express
├── app.js                 # Ponto de entrada + configuração do Socket.IO
└── package.json

🚀 Como Rodar Localmente

Pré-requisitos

1. Clone o repositório

git clone https://github.com/seu-usuario/multiroom-chat.git
cd multiroom-chat

2. Instale as dependências

npm install

3. Rode a aplicação

node app.js

Acesse em: http://localhost:3000


📌 Rotas da Aplicação

Método Rota Descrição
GET / Página inicial com formulário de entrada
GET/POST /chat Entra na sala de chat com o apelido

🔌 Eventos Socket.IO

Evento Direção Descrição
connect Cliente → Servidor Usuário conecta ao servidor
registrarApelido Cliente → Servidor Registra o apelido do usuário
enviarMensagem Cliente → Servidor Envia uma mensagem para o chat
msgParaCliente Servidor → Cliente Distribui mensagem para todos
atualizarParticipantes Servidor → Cliente Atualiza a lista de usuários online
disconnect Cliente → Servidor Notifica saída do usuário

👤 Autor

Feito por Carlos Victor

About

Chat em tempo real com múltiplas salas, entre com um apelido e troque mensagens instantaneamente. Feito com Node.js, Socket.IO e Express.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors