Files
aggios.app/.agent/agent-gemini.md
2025-12-29 17:23:59 -03:00

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_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.