core/dashboard/DASHBOARD.md
Tiago Yamamoto a52bd4519d refactor: optimize Dockerfiles and documentation for core services
- Use Google Distroless images for all services (Go & Node.js).
- Standardize documentation with [PROJECT-NAME].md.
- Add .dockerignore and .gitignore to all projects.
- Remove docker-compose.yml in favor of docker run instructions.
- Fix Go version and dependency issues in observability, repo-integrations, and security-governance.
- Add Podman support (fully qualified image names).
- Update Dashboard to use Node.js static server for Distroless compatibility.
2025-12-30 13:22:34 -03:00

2.2 KiB

DASHBOARD

O dashboard é a interface de administração e operação da plataforma, construído como uma Single Page Application (SPA) moderna. Ele oferece controle centralizado sobre infraestrutura, projetos, finanças e integrações.

📋 Visão Geral

Com um design inspirado no VSCode ("VSCode-like"), o dashboard foca em densidade de informação e usabilidade para desenvolvedores e operadores.

Arquitetura Frontend

graph TD
    User[Operador] -->|Browser| SPA[React SPA]
    SPA -->|Auth/Data| BaaS[Appwrite / BaaS Control Plane]
    SPA -->|Git Ops| GitHub[GitHub API]
    SPA -->|Infra| CF[Cloudflare API]
    
    subgraph Modules
        SPA --> Accounts[Gerenciador de Contas]
        SPA --> Kanban[Gestão de Projetos]
        SPA --> Finance[Financeiro ERP]
        SPA --> Terminals[Logs Realtime]
    end

🚀 Estrutura do Projeto

O projeto utiliza Vite + React para alta performance de desenvlvimento e build:

Diretório Descrição
src/pages Telas principais (Overview, Projects, Kanban, etc.).
src/components Componentes reutilizáveis (Cards, Inputs, UserDropdown).
src/contexts Gestão de estado global (Auth).
src/lib Configurações de serviços externos (Appwrite SDK).

🛠️ Tecnologias e Otimizações

  • Frontend: React 18, TypeScript, TailwindCSS.
  • Build Tool: Vite.
  • Deploy: Docker (Nginx Alpine).
  • Integrações: Appwrite, GitHub, Cloudflare.

💻 Como Executar

Docker (Produção)

docker-compose up --build

O dashboard estará acessível na porta 80 (ou conforme mapeamento no compose).

Desenvolvimento Local

  1. Instale dependências:
    npm install
    
  2. Configuração: Crie o arquivo .env com as chaves do Appwrite (ver .env.example).
  3. Rodar:
    npm run dev
    

🔧 Detalhes do Dockerfile

O Dockerfile utiliza multi-stage build para servir apenas arquivos estáticos:

  • Builder: Node.js 20. Compila o React para HTML/CSS/JS otimizado.
  • Runtime: Nginx Alpine. Serve a pasta dist gerada, com configuração leve e performática.