66 lines
3.8 KiB
Markdown
66 lines
3.8 KiB
Markdown
# 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.
|
||
- `backend/internal/data/postgres/`: scripts de inicialização do banco (estrutura base de tenants e usuários).
|
||
- `traefik/`: reverse proxy e certificados automatizados.
|
||
|
||
## Funcionalidades entregues
|
||
- **Redesign da Interface (v1.2)**: Adoção de design "Flat" (sem sombras), focado em bordas e limpeza visual em todas as rotas principais (Login, Dashboard, Agências, Cadastro).
|
||
- **Gestão Avançada de Agências**:
|
||
- Listagem com filtros robustos: Busca textual, Status (Ativo/Inativo) e Filtros de Data (Presets de 7/15/30 dias e intervalo personalizado).
|
||
- Detalhamento completo da agência com visualização de logo, cores e dados cadastrais.
|
||
- Edição e Exclusão de agências.
|
||
- **Login de Superadmin**: Autenticação via JWT com restrição de rotas protegidas.
|
||
- **Cadastro de Agências**: Criação de tenant e usuário administrador atrelado.
|
||
- **Proxy Interno**: Camada de API no Next.js (`app/api/...`) garantindo chamadas autenticadas e seguras ao backend Go.
|
||
- **Site Institucional**: Suporte a 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 `backend/internal/data/postgres/init-db.sql` para usuário superadmin seed.
|
||
|
||
## Estrutura de diretórios (resumo)
|
||
```
|
||
backend/ API Go (config, domínio, handlers, serviços)
|
||
backend/internal/data/postgres/ Scripts SQL de seed
|
||
front-end-dash.aggios.app/ Dashboard Next.js Superadmin
|
||
frontend-aggios.app/ Site institucional Next.js
|
||
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
|