Feed Comunitário - Documentação Funcional
Versão: 1.0
Data: 2026-01-28
Status: Funcionalidade Implementada
Parte de: Documentação Funcional da Plataforma
📋 Índice
- Visão Geral
- Função de Negócio
- Elementos da Arquitetura
- Fluxos Funcionais
- Casos de Uso
- Regras de Negócio
🎯 Visão Geral
O Feed Comunitário é a timeline territorial onde usuários compartilham informações relevantes ao território. É o coração da comunicação comunitária na plataforma Arah.
Objetivo
Permitir que usuários:
- Compartilhem informações relevantes ao território
- Visualizem timeline cronológica do território
- Interajam com conteúdo (curtir, comentar, compartilhar)
- Georreferenciem posts para aparecerem no mapa
💼 Função de Negócio
Para o Usuário
Como Visitante:
- Visualizar feed público do território
- Ler posts públicos
- Ver eventos e alertas públicos
Como Morador:
- Todas as funções de Visitante +
- Criar posts (públicos e privados para moradores)
- Comentar em posts
- Compartilhar posts
- Curtir posts
- Filtrar feed por interesses (opcional)
Para a Comunidade
- Comunicação: Compartilhar informações importantes
- Engajamento: Facilitar interação entre membros
- Contexto Territorial: Conteúdo sempre relacionado ao território
- Visibilidade Controlada: Conteúdo público vs exclusivo para moradores
🏗️ Elementos da Arquitetura
Entidades Principais
Post
- Propósito: Publicação no feed do território
- Atributos:
Id: Identificador únicoTerritoryId: TerritórioAuthorId: AutorTitle: Título (máx 200 caracteres)Content: Conteúdo (máx 4000 caracteres)Type: GENERAL, ALERTVisibility: PUBLIC, RESIDENTS_ONLYStatus: PUBLISHED, ARCHIVEDCreatedAt: Data de criação
PostGeoAnchor
- Propósito: Georreferenciamento de posts
- Atributos: Latitude, Longitude, Type
- Características: Deriva automaticamente de mídias
Media
- Propósito: Mídias anexadas aos posts
- Tipos: Imagem, Vídeo, Áudio
- Limites:
- Imagens: Múltiplas (até 10 por post)
- Vídeos: 1 vídeo por post (máx. 50MB, até 5 minutos)
- Áudios: 1 áudio por post (máx. 10MB, até 5 minutos)
- Total: Máximo 10 mídias por post (imagens + 1 vídeo ou 1 áudio)
- Feature Flags: Controladas por território (MediaImagesEnabled, MediaVideosEnabled, MediaAudioEnabled)
🔄 Fluxos Funcionais
Fluxo 1: Criar Post
Usuário → Seleciona Território → Cria Post →
Adiciona Título/Conteúdo → Adiciona Mídias (opcional) →
Define Visibilidade → Publica →
Aparece no Feed e Mapa (se georreferenciado)
Fluxo 2: Visualizar Feed
Usuário → Seleciona Território → Acessa Feed →
Sistema filtra por visibilidade (baseado em Membership) →
Retorna timeline cronológica →
Usuário interage (curtir, comentar, compartilhar)
Fluxo 3: Interagir com Post
Usuário → Visualiza Post → Escolhe ação:
- Curtir: Toggle like/deslike
- Comentar: Adiciona comentário (apenas moradores verificados)
- Compartilhar: Cria novo post referenciando original
📖 Casos de Uso
Caso de Uso 1: Morador Cria Post Público
Ator: Morador
Fluxo:
- Acessa feed do território
- Clica "Criar Post"
- Informa título e conteúdo
- (Opcional) Adiciona mídias
- Define visibilidade: PUBLIC
- Publica
- Post aparece no feed para todos
Caso de Uso 2: Morador Cria Post Exclusivo
Ator: Morador
Fluxo:
- Cria post
- Define visibilidade: RESIDENTS_ONLY
- Publica
- Post aparece apenas para moradores verificados
Caso de Uso 3: Visitante Visualiza Feed
Ator: Visitante
Fluxo:
- Acessa feed do território
- Sistema filtra: apenas posts PUBLIC
- Visualiza timeline cronológica
- Pode ler posts, mas não pode comentar/compartilhar
⚙️ Regras de Negócio
Criação de Posts
- Permissão: Visitantes e moradores podem criar
- Limites: Título 200 chars, conteúdo 4000 chars
- Visibilidade:
- PUBLIC: Todos veem
- RESIDENTS_ONLY: Apenas moradores verificados
- Sanções: Usuários com sanção de posting não podem criar
- Feature Flags: Posts ALERT requerem flag ALERTPOSTS
Visualização de Feed
- Filtragem por Visibilidade:
- Visitor: Apenas PUBLIC
- Resident não verificado: Apenas PUBLIC
- Resident verificado: PUBLIC + RESIDENTS_ONLY
- Bloqueios: Posts de usuários bloqueados não aparecem
- Paginação: Padrão 20 itens
- Ordenação: Mais recentes primeiro
- Filtro por Interesses: Opcional (filterByInterests=true)
Interações
- Curtir: Todos autenticados podem curtir
- Comentar: Apenas moradores verificados
- Compartilhar: Apenas moradores verificados
📚 Documentação Relacionada
- Plataforma Arah - Visão geral
- Territórios e Memberships - Visibilidade baseada em Membership
- Mapa Territorial - Posts georreferenciados aparecem no mapa
- API - Feed - Documentação técnica
Última Atualização: 2026-01-28
Versão: 1.0
Status: Funcionalidade Implementada