App de Chat em Tempo Real com Socket.io + React
- Nível: Projetos
- Módulos: 7
- Aulas: 26
- Tempo de leitura: 1h 48min
- Tecnologias: React, MongoDB, Node.js
- Preço: R$ 97,00
Construa um app de chat completo em tempo real do zero. Aprenda Socket.io, WebSockets, salas de chat, autenticação JWT, histórico de mensagens com MongoDB e deploy profissional. Projeto hands-on do backend Node.js ao frontend React.
Conteúdo do curso
Módulo 1: Módulo 1 — Introdução e Setup
Visão geral do projeto, arquitetura de um chat em tempo real, configuração do ambiente de desenvolvimento e estrutura do monorepo.
- O que vamos construir: arquitetura do chat em tempo real (8 min)
- Configurando o ambiente de desenvolvimento (2 min)
- Estrutura do projeto monorepo (backend + frontend) (3 min)
Módulo 2: Módulo 2 — Backend: Servidor Socket.io com Node.js
Criação do servidor Express com Socket.io, gerenciamento de eventos, namespaces, salas e integração com Redis Adapter para escalabilidade.
- Configurando Express + Socket.io: primeiro servidor WebSocket (3 min)
- Gerenciando salas e usuários conectados (4 min)
- Rotas REST de autenticação (register e login) (3 min)
- Redis Adapter para escalabilidade e múltiplas instâncias (3 min)
Módulo 3: Módulo 3 — Frontend: Interface React do Chat
Setup do projeto React com Vite e Tailwind CSS, conexão com Socket.io, componentes de chat e listagem de usuários online em tempo real.
- Hook useSocket e conexão com o servidor (3 min)
- Componentes ChatRoom, MessageList e MessageInput (3 min)
- UserList, TypingIndicator e página de Login (2 min)
- Seletor de salas e múltiplos canais de chat (3 min)
Módulo 4: Módulo 4 — Funcionalidades Avançadas
Histórico de mensagens com MongoDB, upload de imagens, indicador de digitação, emojis e notificações do sistema.
- Upload de imagens no chat com Multer (3 min)
- Mensagens diretas (DM) e salas privadas (3 min)
- Notificações, emojis e formatação de mensagens (5 min)
- Histórico de mensagens com MongoDB e busca (6 min)
Módulo 5: Módulo 5 — Autenticação e Segurança
Autenticação JWT no handshake do WebSocket, salas privadas, mensagens diretas (DM), rate limiting e proteção contra abusos.
- JWT e middleware de autenticação no Socket.io (6 min)
- Rate limiting e proteção contra spam no chat (5 min)
- Sanitização XSS e validação de inputs com class-validator (5 min)
- Refresh token e reconexão automática do WebSocket (6 min)
Módulo 6: Módulo 6 — Testes e Qualidade
Testes unitários do servidor Socket.io com Jest, testes de integração usando socket.io-client e ferramentas de debugging.
- Testes unitários do backend com Jest e mocks (5 min)
- Testes de integração do WebSocket Gateway (5 min)
- Testes do frontend com React Testing Library (5 min)
- CI/CD pipeline e qualidade de código com ESLint e Prettier (4 min)
Módulo 7: Módulo 7 — Deploy e Conclusão
Deploy do backend no Railway com Redis, deploy do frontend no Vercel, variáveis de ambiente em produção e próximos passos.
- Deploy do backend no Railway com MongoDB Atlas e Redis (4 min)
- Deploy do frontend no Vercel e variáveis de ambiente (4 min)
- Próximos passos: melhorias, monitoramento e escalabilidade (5 min)