# Aggios App Plataforma composta por serviços de autenticação, painel administrativo (superadmin) e site institucional da Aggios, orquestrados via Docker Compose. ## Visão geral - **Objetivo**: permitir que superadministradores cadastrem e gerenciem agências (tenants) enquanto o site institucional apresenta informações públicas da empresa. - **Stack**: Go (backend), Next.js 14 (dashboard e site), PostgreSQL, Traefik, Docker. - **Status**: fluxo de autenticação e gestão de agências concluído; ambiente dockerizável pronto para uso local. ## Componentes principais - `backend/`: API Go com serviços de autenticação, operadores e CRUD de agências (endpoints `/api/admin/agencies` e `/api/admin/agencies/{id}`). - `front-end-dash.aggios.app/`: painel Next.js – login do superadmin, listagem de agências, exibição detalhada e exclusão definitiva. - `frontend-aggios.app/`: site institucional Next.js com suporte a temas claro/escuro e compartilhamento de tokens de design. - `postgres/`: scripts de inicialização do banco (estrutura base de tenants e usuários). - `traefik/`: reverse proxy e certificados automatizados. ## Funcionalidades entregues - Login de superadmin via JWT e restrição de rotas protegidas no dashboard. - Cadastro de agências: criação de tenant e usuário administrador atrelado. - Listagem, detalhamento e exclusão de agências diretamente pelo painel superadmin. - Proxy interno (`app/api/admin/agencies/[id]/route.ts`) garantindo chamadas autenticadas do Next para o backend. - Site institucional com dark mode, componentes compartilhados e tokens de design centralizados. - Documentação atualizada em `1. docs/` com fluxos, arquiteturas e changelog. ## Executando o projeto 1. **Pré-requisitos**: Docker Desktop e Node.js 20+ (para utilitários opcionais). 2. **Variáveis**: ajustar `.env` conforme referências existentes (`docker-compose.yml`, arquivos `config`). 3. **Subir os serviços**: ```powershell docker-compose up --build ``` 4. **Hosts locais**: - Painel: `https://dash.localhost` - Site: `https://aggios.app.localhost` - API: `https://api.localhost` 5. **Credenciais padrão**: ver `postgres/init-db.sql` para usuário superadmin seed. ## Estrutura de diretórios (resumo) ``` backend/ API Go (config, domínio, handlers, serviços) front-end-dash.aggios.app/ Dashboard Next.js Superadmin frontend-aggios.app/ Site institucional Next.js postgres/ Scripts SQL de seed traefik/ Regras de roteamento e TLS 1. docs/ Documentação funcional e técnica ``` ## Testes e validação - Consultar `1. docs/TESTING_GUIDE.md` para cenários funcionais. - Requisições de verificação recomendadas: - `curl http://api.localhost/api/admin/agencies` (lista) – requer token JWT válido. - `curl http://dash.localhost/api/admin/agencies` (proxy Next) – usado pelo painel. - Fluxo manual via painel `dash.localhost/superadmin`. ## Próximos passos sugeridos - Implementar soft delete e trilhas de auditoria para exclusão de agências. - Expandir testes automatizados (unitários e e2e) focados no fluxo do dashboard. - Disponibilizar pipeline CI/CD com validações de lint/build. ## Repositório - Principal: https://git.stackbyte.cloud/erik/aggios.app.git