📚 Documentação Audissey
Bem-vindo à documentação completa da plataforma Audissey!
📂 Documentação por Temas
Getting Started
▼
📊 Apresentação aos StakeholdersNEW
Visão de negócio, funcionalidades, vantagens competitivas e roadmap
🔌 API & Data OverviewNEW
Endpoints, schemas, fluxos de dados e estrutura das APIs (API + Worker)
📖 README Principal
Guia completo de setup, configuração e quick start do projeto
🐳 Docker Setup
Configuração completa do ambiente Docker com MongoDB e Redis
🌳 Git Workflow & PolíticasNEW
Branching strategy, proteções, PR workflow e conventional commits
🔒 Azure DevOps Branch PoliciesNEW
Guia passo-a-passo para configurar proteções de branch no Azure DevOps
☁️ Azure Infrastructure Setup
Comandos completos para setup de Cosmos DB, Redis, Container Registry e monitoring
🏗️ Azure Architecture (RGs + Serviços)
Diagrama e descrição da arquitetura no Azure (dev/staging/prod + shared)
🏢 Infrastructure & Information FlowNEW
Diagrama completo: pipelines CI/CD, mobile apps, backend, Azure infra e fluxos de dados
💼 Modelo de NegócioNEW
Segmentos, proposta de valor, receitas, pipeline de conteúdo, ML/AI e modelo de dados
🖥️ Server ArchitectureNEW
Módulos NestJS, endpoints, middleware pipeline, autenticação, Worker e schemas MongoDB
🤖 ML Service SetupNEW
Python ML service com FastAPI, testes, linting e CI pipeline
🐳 Docker Images Build & PublishNEW
Sistema automatizado de build, versionamento e publicação no ACR
🌍 Ambientes e DeploymentNEW
Setup de ambientes isolados (dev/staging/prod) com pipelines e approvals
📦 Container Apps SetupNEW
Referência completa do CAE North Europe — workers, networking, DNS, identities e comandos
🔐 Azure Key Vault
Gestão segura de segredos e credenciais em produção
📊 Observability & Application InsightsNEW
Telemetria, diagnósticos, KQL queries e dashboard no admin portal
🔗 Swagger Links
Configuração de links de documentação no Swagger
📻 Seed de Rádios
Seed rápido (30) e completo (centenas) de rádios portuguesas
🎙️ Seed de Podcasts
Seed rápido (exemplos) e completo (centenas) de podcasts portugueses
API Endpoints
▼
🏠 Highlights da HomepageNEW
Conteúdo em destaque: rádios populares, podcasts e programas no ar
🔍 Pesquisa UnificadaNEW
Busca simultânea em rádios, podcasts e episódios com relevância
🎵 API "Agora a Tocar"
Metadata ICY em tempo real dos streams de rádio
📋 API de Listagem de Rádios
Endpoint público com filtros avançados de rádios
📝 Submissão de Programação
API com que um admin submete a grade de programação de uma rádio
Podcasts & Episódios
▼
🎙️ Sistema de PodcastsUPDATED
Modelo de dados, schemas, controllers e gestão completa de podcasts e episódios
🤖 Descoberta AutomáticaNEW
Sistema de descoberta diária de novos podcasts via Podcast Index API (5 vetores, PT + PT-BR)
🔄 Sincronização de Episódios
Atualização automática de episódios usando Podcast Index API
Rádios & Streaming
▼
EPG & Programação
▼
📅 Radio Schedules & EPG
Sistema completo de Electronic Program Guide para rádios
🔬 EPG via Padrões ICY
Análise de padrões históricos ICY para geração de EPG (Fases 1-4)
📡 IPTV/M3U Viability
Análise de playlists M3U como fonte de streams e EPG (Fase 5)
📝 Submissão de Programação
API com que um admin submete a grade de programação de uma rádio
Metadata & Real-time
▼
Scripts & Automação
▼
⚙️ Todos os Scripts
Documentação completa de scripts de seed, sync, testing e análise
🚨 Sistema de AlertasNEW
Monitorização de disponibilidade com notificações por email
📊 Dashboard de MonitorizaçãoNEW
Sistema de monitorização de ingestão com status, métricas e health
🧰 Admin Data Ops (Quality + Audit)NEW
Rádio 360º, quality (programs/schedules) com guardrails e Audit Log
🤖 Content Features para IA/MLNEW
Normalização de metadados e features para machine learning e recomendações
🎭 Normalização de GénerosNEW
Sistema de normalização e categorização automática de géneros musicais
Especificações Técnicas
▼
📊 Taxonomia de Eventos
Sistema completo de tracking e analytics
💚 Health & LoggingUPDATED
Application Insights, correlation IDs e sistema de logs
🛡️ Azure Security Review (AZQR)NEW
Relatório de findings e plano de remediação (2026-02-25)
🛡️ Cosmos DB 429 Best PracticesNEW
Regras obrigatórias e padrões para evitar throttling (429/16500) no Cosmos DB
🗄️ CosmosDB Mongoose Query GuideNEW
Developer guide: mandatory query rules, code patterns, cost table, and PR checklist
🏗️ Ideal Architecture — Event-Driven Now-PlayingNEW
North-star architecture proposal: CQRS, Service Bus, separate read/write paths, real-time push
🔧 Go Collector — Alternativa ao Radio CollectorNEW
Implementação standalone em Go do pipeline now-playing: 2 250 LOC, 9.8 MB, 7.5× menos memória que Node.js
📝 Como Contribuir
Ao adicionar nova documentação:
Escolha a pasta apropriada:
setup/- Documentação de setup e configuraçãofeatures/- Novas funcionalidadesapi/- Documentação de endpoints específicosspecs/- Especificações técnicas
Crie o ficheiro Markdown na pasta escolhida
Registe o documento em
apps/api/src/app/docs/docs.service.ts:{ name: 'nome-do-doc', title: 'Título do Documento', description: 'Breve descrição', path: 'docs/pasta/FICHEIRO.md', category: 'Categoria', icon: '📄', }Adicione ao accordion apropriado neste INDEX.md
Rebuild da aplicação:
npx nx build api
A documentação será automaticamente disponibilizada na interface web!