# 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_balance` de 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 `Input` padronizado. ### 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 `SolutionGuard` no 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 `localStorage` com envio no header `Authorization`. ### Padrão de Design "Aggios Pattern" - **Cards:** Bordas sutis (`zinc-100/800`), sem sombras, `rounded-2xl` ou `[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-toast` para 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: 1. **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. 2. **Componentes UI Reutilizáveis:** Nunca criar elementos de interface ad-hoc se existir um componente correspondente em `components/ui`. Priorizar o uso de: - `DataTable` para listagens. - `Input` e `CustomSelect` para formulários e buscas. - `StatsCard` para indicadores numéricos e financeiros. 3. **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. 4. **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. 5. **Rebuild de Containers:** Sempre que houver mudanças estruturais no frontend (especialmente no `front-end-agency`), é necessário rodar `docker-compose up -d --build agency` para refletir as alterações no ambiente de produção/Docker. --- *Documentado por Gemini (Agent Gemini) em 27 de Dezembro de 2025.*