Território
O que é: célula territorial neutra — a referência organizadora do Araponga.
Por que existe: separa “onde” (território) de “quem” (pessoas e vínculos) e de “o quê”
(conteúdo e camadas). Isso permite evoluir sem distorcer o conceito base.
- Campos: id, name, slug, bounds, createdAt.
- Endpoints:
GET /api/v1/territories, GET /api/v1/territories/{id}.
Usuário
O que é: identidade autenticada para agir no sistema.
Por que existe: responsabiliza ações sem depender de exposição de dados sensíveis.
A regra é: coletar o mínimo necessário, manter rastreabilidade do que importa e proteger o que não precisa existir.
- Campos: id, displayName, email, status.
- Endpoints:
POST /api/v1/auth/login, POST /api/v1/auth/register.
Vínculo
O que é: vínculo entre pessoa e território (visitante ou morador).
Por que existe: governa visibilidade, acesso e prioridades locais.
Esse domínio é o “coração operacional” das regras: sem ele, o território vira um filtro genérico;
com ele, o território vira contexto de convivência.
- Campos: id, userId, territoryId, role, status.
- Endpoints:
GET /api/v1/territories/{territoryId}/membership.
Feed
O que é: stream de postagens, alertas e eventos filtrados por território e visibilidade.
Por que existe: prioriza relevância local com regras claras. Eventos são um tipo de
conteúdo do feed, com janela temporal e impacto no mapa. O feed é territorial para manter contexto,
confiança e organização local.
- Campos: id, title, content, type, visibility, createdAtUtc.
- Endpoints:
GET /api/v1/feed, POST /api/v1/feed.
Mapa
O que é: entidades e camadas georreferenciadas do território.
Por que existe: transforma informação em referência espacial.
O mapa é uma projeção territorial derivada de conteúdo e cadastros, conectando o que aparece no feed às
entidades locais visíveis e navegáveis.
- Campos: id, name, category, status, visibility, createdAtUtc.
- Endpoints:
GET /api/v1/map/entities, POST /api/v1/map/entities.
Media + GeoAnchor
O que é: mídia (foto/áudio/vídeo) ancorada em latitude/longitude (e, quando útil, altitude).
Por que existe: constrói memória territorial com precisão — e com controle.
GeoAnchor cria base para camadas futuras: visualização contextual, trilhas, registros de cuidado,
e eventualmente representações espaciais mais complexas (inclusive 3D) geradas a partir de dados e mídias do app.
- Campos: mediaId, territoryId, lat, lon, altitude, visibility.
- Endpoints: planejados (upcoming).