- 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.
2.2 KiB
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
- Instale dependências:
npm install - Configuração:
Crie o arquivo
.envcom as chaves do Appwrite (ver.env.example). - 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
distgerada, com configuração leve e performática.