Notificações - Documentação Funcional

Versão: 1.0
Data: 2026-01-28
Status: Funcionalidade Implementada
Parte de: Documentação Funcional da Plataforma


🎯 Visão Geral

O sistema de Notificações fornece comunicação confiável entre a plataforma e os usuários. Usa padrão Outbox/Inbox para garantir entrega mesmo em caso de falhas.

Objetivo

Permitir que usuários:

  • Recebam notificações sobre eventos relevantes
  • Visualizem inbox de notificações
  • Marquem como lidas notificações
  • Configurem preferências de notificação

💼 Função de Negócio

Para o Usuário

  • Receber notificações sobre:
    • Posts criados
    • Reports criados
    • Inquiries recebidos
    • Aprovações de residência
    • Participações em eventos
    • Etc.
  • Visualizar inbox de notificações
  • Marcar como lidas
  • Configurar preferências

Para a Plataforma

  • Confiabilidade: Garantir entrega de notificações
  • Rastreabilidade: Auditoria completa
  • Performance: Processamento assíncrono

🏗️ Elementos da Arquitetura

Entidades Principais

OutboxMessage

  • Propósito: Mensagem na fila de saída
  • Características: Processamento assíncrono, retry automático

UserNotification

  • Propósito: Notificação no inbox do usuário
  • Atributos: Título, corpo, tipo, dados JSON, lida/não lida

🔄 Fluxos Funcionais

Fluxo: Gerar e Entregar Notificação

Evento Ocorre → Sistema cria OutboxMessage → 
Processamento Assíncrono → Cria UserNotification → 
Usuário visualiza no inbox → Marca como lida

⚙️ Regras de Negócio

  1. Outbox/Inbox: Padrão confiável de entrega
  2. Paginação: Padrão 50 itens
  3. Ordenação: Mais recentes primeiro
  4. Tipos: Post criado, report, inquiry, etc.
  5. Preferências: Usuário pode configurar tipos de notificação

📚 Documentação Relacionada


Última Atualização: 2026-01-28
Versão: 1.0
Status: Funcionalidade Implementada