Referência v3
Voltar à plataforma

Vupi.us API por dentro

Referência interna para entender, operar e manter o Kernel e os módulos da plataforma.

O que é a Vupi.us API?

A Vupi.us API é uma plataforma privada de desenvolvimento e publicação de APIs. Seu Kernel em PHP organiza carregamento de módulos, rotas, injeção de dependências, conexões de banco, autenticação e controles operacionais. A IDE usa essa base para editar, testar e ativar endpoints diretamente no ambiente administrado.

Escopo desta documentação

Esta é uma referência técnica interna. Ela explica as proteções existentes e os procedimentos recomendados, sem prometer segurança absoluta. Produção ainda exige atualização, configuração correta, revisão de código, monitoramento e testes.

Filosofia do Projeto

O projeto nasceu da necessidade de ter um framework que seja:

  • Simples de entender — código limpo, sem "mágica" excessiva
  • Modular por natureza — cada funcionalidade é um módulo isolado
  • Defesa em camadas — autenticação, autorização, rate limit, headers e auditoria combinados
  • Rápido de desenvolver — convenções inteligentes reduzem boilerplate
  • Fácil de manter — estrutura clara e previsível

Arquitetura Modular

Cada funcionalidade vive em um módulo independente — uma pasta em src/Modules/. Um módulo pode conter:

src/Modules/ └── MeuModulo/ ├── Controllers/ ├── Services/ ├── Repositories/ ├── Entities/ ├── Routes/ │ └── web.php ├── Database/ │ ├── Migrations/ │ └── Seeders/ └── connection.php

Cada módulo é autocontido: possui suas próprias rotas, controllers, services, repositories, entidades e migrations. Você pode:

  • Adicionar um módulo criando uma pasta
  • Ativar ou desativar módulos pelo estado controlado pela plataforma
  • Isolar a conexão e o banco dedicado de cada projeto quando configurado
  • Desenvolver módulos de forma isolada
Filosofia Zero Config

Crie uma pasta em src/Modules/ e o sistema a detecta automaticamente. Sem registro manual, sem arquivos de configuração centralizados. O Kernel escaneia o diretório e carrega todos os módulos encontrados.

Kernel vs Módulos

O sistema é dividido em duas camadas principais:

CamadaResponsabilidadeLocalização
Kernel Infraestrutura base: roteamento, autenticação, banco de dados, container DI, middlewares core, segurança src/Kernel/
Módulos Lógica de negócio: funcionalidades específicas da aplicação (usuários, produtos, pedidos, etc.) src/Modules/

O Kernel fornece os serviços fundamentais que todos os módulos podem usar. Os Módulos implementam as funcionalidades específicas do seu projeto.

Como esta referência deve ser usada

Os guias estão organizados por tarefa:

Manutenção do Kernel

Entenda o ciclo de requisição antes de alterar infraestrutura compartilhada.

Criação de módulos

Siga a estrutura esperada e mantenha regras de negócio fora dos controllers.

Operação

Configure ambiente, bancos, migrations, logs e processo PHP com previsibilidade.

Diagnóstico

Use troubleshooting e comandos de status antes de modificar produção.

O que torna a Vupi.us API diferente?

CaracterísticaVupi.us APIFrameworks tradicionais
Curva de aprendizado Baixa — estrutura simples e previsível Alta — muitas abstrações e conceitos
Modularidade Nativa — módulos são cidadãos de primeira classe Opcional — geralmente via packages
Configuração Zero config — convenções inteligentes Muitos arquivos de configuração
Performance Alta — código enxuto, sem overhead Variável — frameworks pesados têm overhead
Segurança Defesa em camadas — a eficácia depende da rota, configuração e operação Requer configuração manual
Tamanho Leve — apenas o essencial Pesado — muitas features não utilizadas

Casos de Uso

A Vupi.us API é perfeita para:

  • APIs REST — backend para aplicações web e mobile
  • Microserviços — serviços independentes e escaláveis
  • Sistemas SaaS — multi-tenant com isolamento de dados
  • Integrações — conectar sistemas legados com aplicações modernas
  • Dashboards administrativos — interface web incluída
  • Protótipos rápidos — do zero ao deploy em minutos

Recursos principais

Arquitetura Modular

Cada módulo é independente. Adicione, remova ou desative sem afetar o restante do sistema.

Segurança por Padrão

JWT com rotação de chaves, rate limiting, ThreatScorer, CSP e HSTS ajudam a reduzir riscos conhecidos. Cada módulo ainda deve validar entrada, autorização e propriedade dos recursos.

Multi-banco

Suporte nativo a PostgreSQL e MySQL. Dois bancos simultâneos: core e módulos externos.

Injeção de Dependência

Container automático com resolução recursiva. Declare no construtor, o sistema entrega.

CLI Poderosa

Setup automático, geração de módulos, migrations, seeds e gerenciamento de plugins via terminal.

Dashboard Admin

Interface web para monitoramento, gerenciamento de módulos e configuração do ambiente em tempo real.

Stack tecnológica

ComponenteTecnologia
LinguagemPHP 8.2+
Banco de dadosPostgreSQL 15+ / MySQL 8+
Cache / Rate LimitRedis (opcional) / File storage
Proxy reversoCaddy (TLS automático)
AutenticaçãoJWT (Firebase JWT)
Gerenciador de depsComposer