Skip to content

Notificação IN App via WebSocket #40

@DevlTz

Description

@DevlTz

Descrição

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

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions