Skip to content

[BackEnd] Notificações ao vivo #35

@DevlTz

Description

@DevlTz

Usuários precisam receber notificações em tempo real — quando um imóvel favoritado tem preço atualizado, quando uma review é feita no seu imóvel, ou quando uma análise de IA é concluída. Esta issue implementa a infraestrutura de WebSocket com Django Channels.

Critérios de aceitação

Infraestrutura

  • Adicionar channels e channels-redis ao requirements.txt
  • Adicionar serviço channels_worker ao docker-compose.yaml
  • Configurar CHANNEL_LAYERS no settings.py apontando pro Redis existente
  • Substituir WSGI_APPLICATION por ASGI_APPLICATION no settings.py
  • Atualizar config/asgi.py para suportar HTTP + WebSocket

App de notificações

  • Criar app apps/notifications/
  • Criar modelo Notification com campos: user, type, message, read, created_at
  • Criar migration
  • Criar NotificationConsumer em apps/notifications/consumers.py
  • Registrar rotas WebSocket em config/routing.py

Integração

  • Disparar notificação quando análise de IA for concluída (via Celery task)
  • Disparar notificação quando review for criada no imóvel do usuário
  • Endpoint GET /api/notifications/ lista notificações do usuário autenticado
  • Endpoint PATCH /api/notifications/{id}/ marca notificação como lida

URLs

  • Registrar URLs REST em apps/notifications/urls.py
  • Registrar rotas WebSocket em config/routing.py

Observações

  • O Redis já está configurado e rodando — reutilizar o mesmo serviço como channel layer
  • Autenticação no WebSocket deve usar o JWT existente
  • Sem frontend ainda — testar com wscat ou Postman WebSocket

Metadata

Metadata

Assignees

Labels

No labels
No labels

Projects

Status

Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions