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.
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:
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
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:
| Camada | Responsabilidade | Localizaçã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ística | Vupi.us API | Frameworks 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
| Componente | Tecnologia |
|---|---|
| Linguagem | PHP 8.2+ |
| Banco de dados | PostgreSQL 15+ / MySQL 8+ |
| Cache / Rate Limit | Redis (opcional) / File storage |
| Proxy reverso | Caddy (TLS automático) |
| Autenticação | JWT (Firebase JWT) |
| Gerenciador de deps | Composer |