Eventos - 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
Eventos são atividades comunitárias organizadas por território. Permitem que comunidades organizem encontros, atividades e iniciativas locais com data, hora e localização.
Objetivo
Permitir que usuários:
- Organizem eventos comunitários
- Participem de eventos (interesse ou confirmação)
- Visualizem eventos no feed e mapa
- Busquem eventos próximos à localização
💼 Função de Negócio
Para o Usuário
Como Visitante ou Morador:
- Criar eventos comunitários
- Visualizar eventos do território
- Participar de eventos (marcar interesse ou confirmação)
- Buscar eventos próximos
- Cancelar eventos criados
Para a Comunidade
- Organização: Facilitar encontros e atividades
- Engajamento: Mobilizar comunidade para eventos
- Visibilidade: Eventos aparecem no feed e mapa
- Contexto Territorial: Eventos sempre vinculados ao território
🏗️ Elementos da Arquitetura
Entidades Principais
Event
- Propósito: Evento comunitário
- Atributos:
Id: Identificador únicoTerritoryId: TerritórioCreatedByUserId: CriadorTitle: Título (máx 200 caracteres)Description: Descrição (máx 2000 caracteres)StartsAtUtc: Data/hora inícioEndsAtUtc: Data/hora fim (opcional)Latitude,Longitude: LocalizaçãoLocationLabel: Rótulo do local (opcional)Status: SCHEDULED, CANCELLEDCreatedAt: Data de criaçãoMedia: Mídias (imagem de capa + até 5 adicionais, vídeos, áudios)
EventParticipation
- Propósito: Participação em evento
- Tipos: INTEREST (interessado), CONFIRMED (confirmado)
🔄 Fluxos Funcionais
Fluxo 1: Criar Evento
Usuário → Seleciona Território → Cria Evento →
Informa Título/Descrição → Define Data/Hora →
Define Localização (obrigatório) → Publica →
Sistema cria Post automático no Feed →
Evento aparece no Feed e Mapa
Fluxo 2: Participar de Evento
Usuário → Visualiza Evento → Escolhe participação:
- Marcar Interesse: INTEREST
- Confirmar Presença: CONFIRMED
→ Sistema registra participação →
Contagem atualizada
Fluxo 3: Buscar Eventos Próximos
Usuário → Informa Localização →
Busca Eventos Próximos →
Sistema retorna eventos ordenados por proximidade →
Usuário visualiza no mapa
📖 Casos de Uso
Caso de Uso 1: Morador Cria Evento
Ator: Morador
Fluxo:
- Acessa seção de eventos
- Clica "Criar Evento"
- Informa título, descrição, data/hora, localização
- Publica
- Sistema cria post automático no feed
- Evento aparece no feed e mapa
Caso de Uso 2: Usuário Participa de Evento
Ator: Visitante ou Morador
Fluxo:
- Visualiza evento no feed ou mapa
- Clica "Tenho Interesse" ou "Confirmar Presença"
- Sistema registra participação
- Contagem de interessados/confirmados atualizada
⚙️ Regras de Negócio
Criação de Eventos
- Permissão: Visitantes e moradores podem criar
- Geolocalização: Obrigatória (latitude e longitude)
- Data:
startsAtUtcdeve ser no futuro (ou até 1 ano no passado) - Limites: Título 200 chars, descrição 2000 chars
- Post Automático: Cria post no feed referenciando evento
- Status: Criado como SCHEDULED
Visualização de Eventos
- Visibilidade: Todos os eventos são públicos
- Paginação: Padrão 20 itens
- Filtros: Por período (startDate, endDate)
- Busca Próxima: Ordenada por proximidade geográfica
Participação
- Permissão: Todos autenticados podem participar
- Tipos: INTEREST ou CONFIRMED
- Idempotente: Múltiplas chamadas atualizam participação
Cancelamento
- Permissão: Apenas criador pode cancelar
- Status: Marcado como CANCELLED
📚 Documentação Relacionada
- Plataforma Arah - Visão geral
- Feed Comunitário - Posts automáticos de eventos
- Mapa Territorial - Eventos aparecem como pins
- API - Eventos - Documentação técnica
Última Atualização: 2026-01-28
Versão: 1.0
Status: Funcionalidade Implementada