Skip to content

avilainc/platform

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

AVX Platform (AvilaOps)

Visão Geral

Nome: avx (AvilaOps Platform) Versão: 1.0.0 Tipo: Plataforma SaaS para construção de apps web com IA


Stack Principal

  • Frontend: Next.js 14.2.35, React 18.3.1, TailwindCSS 3.4.13
  • Backend: Node.js 22, TypeScript 5.6.3, Drizzle ORM 0.45.2, PostgreSQL
  • IA & ML: Groq SDK, Ollama, MCP SDK
  • Autenticação: bcryptjs, jose, Zod
  • Observabilidade: prom-client
  • Testes: Vitest, Playwright

Estrutura de Diretórios

src/
├── app/              # Rotas Next.js (App Router)
│   ├── admin/        # Dashboard administrativo
│   ├── api/          # API REST (v1, health, auth, projects, etc.)
│   ├── harness/      # Interface de testes
│   ├── onboarding/   # Fluxo de onboarding
│   └── templates/    # Templates de projetos
├── components/       # Componentes React
│   ├── copilot/      # Copilot UI
│   ├── projects/     # Componentes de projetos
│   └── ui/           # Componentes UI base
├── core/             # Lógica de negócio central
│   ├── agents/       # Sistema de agentes autônomos
│   ├── ai/           # Gateway de IA (Groq, Ollama)
│   ├── auth/         # Autenticação (API keys, JWT, RBAC)
│   ├── orchestrator/ # Orquestrador de alto nível
│   └── ...           # billing, builds, marketplace, RAG, etc.
├── db/               # Schema e migrations do banco
├── engines/          # Engines de build (web, 3D, GPU, Unity, Unreal)
├── infra/            # Infraestrutura (DB, email, rate-limit, etc.)
├── internal/         # Configurações e utilitários internos
└── modules/          # Módulos de domínio (auth, projects, integrations)

Funcionalidades Principais

  1. Autenticação & Autorização
    • API Keys com scopes e rotação
    • Sessions JWT com refresh tokens
    • RBAC (roles, permissions)
    • IP Allowlist por API key
    • Audit Log completo
    • Rate Limiting persistente
  2. Sistema de Projetos
    • CRUD de projetos
    • Chat conversacional com IA
    • Sistema de arquivos (file-tree)
    • Deployments multi-provider
    • Fork de projetos públicos
    • Templates e blocos reutilizáveis
  3. AI Layer
    • Gateway unificado para múltiplos providers
    • Router inteligente de modelos
    • Context Builder com RAG
    • LLM Guard (sanitização)
    • Suporte: Groq, Ollama
  4. Agentes Autônomos
    • Runtime think→act→observe
    • Memory lexical + pgvector
    • Scheduler cron + webhooks
    • Coordinator via Postgres
    • Templates de agentes pré-prontos
  5. Engines de Build
    • Web (HTML/CSS/JS)
    • 3D (GLTF/GLB)
    • GPU (WGSL shaders)
    • Unity (Unity Cloud Build)
    • Unreal (Unreal Engine)
    • Sistema de fila de builds
  6. Observabilidade
    • LLM Logs (tokens, latência, status)
    • Usage Events (por usuário/API key)
    • Rate Limits (sliding window)
    • Health Checks
  7. Integrações
    • GitHub (webhooks, repos)
    • Sistema de eventos de integração
  8. Marketing
    • Waitlist
    • Leads scoring
    • Contact messages

Configuração Next.js

  • Base Path: /platform
  • Asset Prefix: /platform
  • Output: standalone (Docker-optimized)
  • Server Actions: 50MB body limit
  • Rewrites: URLs limpas sem prefixo /avx
  • Subpaths expostos: agentes, carga, cenarios, chat, configuracoes, engines, gerador, logs, marketplace, metricas, playground, saude, webhooks, workflows

Middleware (Edge Runtime)

  • Request ID (UUID v4) para tracing distribuído
  • Bloqueio de superfícies internas em produção
  • Validação de Authorization para /api/v1/*
  • Security Headers (CSP, HSTS, X-Frame-Options, etc.)

Schema do Banco de Dados

  • users: Usuários com planos e créditos
  • api_keys: Chaves de API com rotação
  • sessions: Sessões JWT
  • roles/user_roles/role_permissions: RBAC
  • auth_audit_log: Log de auditoria
  • projects: Projetos com metadados
  • chat_messages: Histórico de chat
  • project_files: Arquivos dos projetos
  • integrations: Integrações externas
  • llm_logs: Logs de chamadas LLM
  • usage_events: Eventos de uso
  • actions: Ações MCP

Scripts NPM

Desenvolvimento

  • dev: Next.js dev server (porta 3182)
  • build: Build de produção
  • start: Servidor de produção

Testes

  • test: Vitest unit tests
  • test:watch: Vitest watch mode
  • test:e2e: Playwright E2E tests
  • test:all: Executa todos os testes

Banco de Dados

  • db:init: Inicializa banco
  • db:migrate: Executa migrations
  • db:push: Push do schema (Drizzle)
  • db:studio: Drizzle Studio
  • db:seed: Seed de dados

Utilitários

  • lint: ESLint
  • format: Formatação
  • analyze: Análise de codebase
  • typecheck: TypeScript check

Docker

  • Multi-stage build: deps, builder, runner
  • Node.js 22 Alpine
  • Usuário não-root (nextjs)
  • Porta 3182

Observações

  • Server-only: Muitos módulos usam server-only para evitar bundle no client
  • Type-safe: Drizzle ORM com TypeScript inference
  • Edge-compatible: Middleware e funções otimizadas para Edge Runtime
  • Multi-tenant: Sistema de tenancy implementado
  • Phase-based: Código organizado por fases de desenvolvimento

Pontos Fortes

  • Arquitetura modular bem organizada
  • Type-safety com TypeScript e Drizzle
  • Autenticação robusta com múltiplas camadas
  • Sistema de agentes completo
  • Multi-engine para diferentes tipos de build
  • Observabilidade abrangente
  • Testes unitários e E2E
  • Docker-optimized para produção

Possíveis Áreas de Melhoria

  • Documentação: Falta README.md no diretório raiz (agora resolvido)
  • Logs temporários: Arquivos de log (*.log) no diretório raiz
  • Arquivos de teste: Arquivos JSON temporários (resp.json, signin.json, etc.)
  • Arquivo estranho: preciso que voce desenvolva todas as fas.txt em src/app/

Contato

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages