Este é um projeto de chat em tempo real desenvolvido com Django e Django Channels, utilizando WebSocket para comunicação bidirecional e Redis como backend para canais. O sistema é funcional, responsivo e pronto para produção, com foco em desempenho e interatividade.
- 🔄 Envio e recebimento de mensagens em tempo real
- 💬 Suporte a múltiplas salas de conversa
- 👥 Detecção e exibição de usuários online
- 🖼️ Upload de imagem de perfil via CDN (Cloudinary ou ImageKit)
- ✏️ Edição e exclusão de mensagens na interface
- 🔐 Autenticação integrada com o WebSocket
- 📦 Estrutura pronta para deploy (Railway ou outra plataforma ASGI)
- Backend: Django, Django Channels, ASGI, Daphne
- Tempo real: WebSocket, Redis (como Channel Layer)
- Banco de dados: PostgreSQL
- Frontend: HTML, CSS, JavaScript Vanilla
- CDN de imagens: Cloudinary / ImageKit
- Ambiente de produção: Railway (ou compatível)
-
Clone o repositório:
git clone https://github.com/seu-usuario/chat-realtime-django.git cd chat-realtime-django -
Crie e ative um ambiente virtual:
python -m venv venv source venv/bin/activate # Linux/macOS venv\Scripts\activate # Windows
-
Instale as dependências:
pip install -r requirements.txt
-
Configure o .env com suas variáveis (Redis, banco de dados, CDN, etc.).
-
Aplique as migrações:
python3 manage.py migrate # Linux/macOS python manage.py migrate # Windows
-
Inicie o servidor:
python3 manage.py runserver # Linux/macOS python manage.py runserver # Windows
-
Certifique-se de ter o Docker e o Docker Compose instalados.
-
Construa e inicie os containers:
docker-compose up --build
-
Acesse a aplicação em http://localhost:8000.
