5.2 KiB
5.2 KiB
Agent Gemini - Log de Evolução do Projeto Aggios
Este arquivo documenta as contribuições do Agente Code AI (Gemini) e a compreensão técnica consolidada sobre o ecossistema Aggios.
🚀 Visão Geral do Projeto
O Aggios é uma plataforma SaaS multi-tenant focada em agências, oferecendo uma suíte "all-in-one" que inclui CRM, ERP, Gestão de Projetos, entre outros.
Stack Tecnológica
- Frontend: Next.js (App Router), TypeScript, Tailwind CSS, Headless UI.
- Backend: Go (Golang) com roteamento
gorilla/mux. - Banco de Dados: PostgreSQL (migrações SQL puras).
- Infraestrutura: Docker Compose (backend, agency-frontend, minio, postgres, redis).
🛠️ Contribuições do Agente (Dezembro/2025)
1. Módulo ERP - Finanças & Caixa
- Gestão de Múltiplas Contas: Implementação completa (CRUD) de contas bancárias no backend e frontend.
- Controle de Saldo em Tempo Real: Desenvolvimento da lógica de repositório em Go para atualizar o
current_balancede contas baseando-se no status das transações financeiras (paid,pending). - Resumo Financeiro: Refatoração dos cartões de estatísticas para exibir o "Saldo de Caixa" real (somatório de contas) em vez de apenas totais de lançamentos filtrados.
- Dashboard ERP Real: Dados reais, gráficos automáticos e filtros de status/data avançados.
- Módulo de Documentos: Implementado sistema de documentos (estilo Google Docs) com editor de texto e gestão por tenant.
2. UI/UX & Design System (Padrão Aggios)
- Refinação Minimalista Flat: Aplicação do padrão visual "Clean & Flat" na página de finanças, removendo sombras pesadas e mantendo foco no contraste e tipografia.
- Componentização: Utilização e refinamento de componentes em
components/ui(Input, CustomSelect, DataTable). - Barra de Busca: Implementação de busca reativa integrada ao
Inputpadronizado.
3. Otimização e Reatividade
- Correção de Cache da API: Configuração de
cache: 'no-store'nas chamadas de serviço para garantir integridade dos dados sem necessidade de recarregar a página (F5). - Sync de Estado: Ajuste nos handlers do React para usar
await fetchData()em todas as operações de escrita, garantindo que a UI reflita as mudanças do backend instantaneamente.
4. Novas Funcionalidades (27 de Dezembro de 2025)
- Ações em Lote (Bulk Actions): Implementação de seleção múltipla em transações financeiras e produtos. Adição de barra de ações flutuante para exclusão em massa e atualização de status coletiva.
- Melhorias no Dashboard & Filtros: Refinamento dos filtros de data, busca reativa e integração de ações em lote nos módulos de "Contas a Pagar" e "Contas a Receber".
- Gestão de Contas Bancárias: Refatoração da interface de contas (cards) com feedback visual de saldo e integração direta com o fluxo de caixa.
🧠 Entendimento Técnico do Sistema
Arquitetura de Soluções
O sistema utiliza um sistema de Solutions vinculadas a Planos.
- Slugs identificados:
crm,erp,projetos,helpdesk,pagamentos,contratos,documentos,social. - O acesso é controlado via
SolutionGuardno frontend e middleware de tenant no backend.
Estrutura de Autenticação
- Níveis de Acesso:
SUPERADMIN(Aggios),ADMIN_AGENCIA(Dono da agência/Tenant),CLIENTE(Portal do Cliente). - Segurança: JWT armazenado no
localStoragecom envio no headerAuthorization.
Padrão de Design "Aggios Pattern"
- Cards: Bordas sutis (
zinc-100/800), sem sombras,rounded-2xlou[32px]. - Botões: Uso de gradientes (
var(--gradient)) para ações primárias e visual flat para secundárias. - Feedback: Uso intensivo de
react-hot-toastpara notificações de sucesso/erro.
🛠️ Diretrizes de Desenvolvimento
📋 Uso de Templates e Padronização
Para manter a consistência visual e técnica do ecossistema Aggios, o Agente deve seguir rigorosamente estas regras:
- Aggios App Pattern: Sempre basear novas telas e funcionalidades no workflow
aggios-app-pattern.md. Isso garante que a hierarquia visual (PageHeader -> StatsCards -> Tabs -> DataTable) seja preservada. - Componentes UI Reutilizáveis: Nunca criar elementos de interface ad-hoc se existir um componente correspondente em
components/ui. Priorizar o uso de:DataTablepara listagens.InputeCustomSelectpara formulários e buscas.StatsCardpara indicadores numéricos e financeiros.
- Visual Minimalista Flat: Evitar o uso de sombras (
shadow), utilizando bordas sutis (border-zinc-100/dark:border-zinc-800) e fundos contrastantes para separar camadas. - Reatividade Garantida: Manter o padrão de execução assíncrona com
await fetchData()e desativação de cache da API para que os templates reflitam mudanças instantaneamente sem recarregar a página. - Rebuild de Containers: Sempre que houver mudanças estruturais no frontend (especialmente no
front-end-agency), é necessário rodardocker-compose up -d --build agencypara refletir as alterações no ambiente de produção/Docker.
Documentado por Gemini (Agent Gemini) em 27 de Dezembro de 2025.