Filosofia do Projeto
Por que a Vupi.us API foi construída assim — e o que isso significa para você como desenvolvedor.
O objetivo
A Vupi.us API foi criada com um único objetivo central:
Toda a infraestrutura — autenticação, banco de dados, rotas, segurança, migrations, CORS, TLS — já está resolvida pelo Kernel. Você cria uma pasta em src/Modules/ e o sistema cuida do resto.
O que o Kernel já resolve por você
Rotas automáticas
Crie Routes/web.php no seu módulo. O sistema descobre e registra as rotas automaticamente — sem tocar em index.php.
Migrations automáticas
Coloque arquivos PHP em Database/Migrations/. O Migrator os descobre e executa com php vupi migrate.
Injeção de dependência
Declare dependências no construtor. O Container resolve tudo automaticamente via reflection — sem registro manual.
Autenticação pronta
Use AuthHybridMiddleware e AdminOnlyMiddleware nas rotas. JWT, blacklist e validação já estão implementados.
Segurança por padrão
O Kernel oferece CSP, HSTS, rate limiting, circuit breaker e componentes de auditoria. O módulo precisa selecionar os middlewares adequados e implementar validação e autorização próprias.
Zero config
Sem registro em arquivos centrais. Sem editar index.php ou composer.json. Só criar a pasta do módulo.
O que você faz como desenvolvedor
Sua responsabilidade se resume a três coisas:
Modelar o domínio
Criar a Entity com as regras de negócio, validações e comportamentos. Ex: Aviso.php, Produto.php, Pedido.php.
Persistir os dados
Criar o Repository com as queries SQL. O PDO é injetado automaticamente via ModuleConnectionResolver.
Expor via HTTP
Criar o Controller com os endpoints e o Routes/web.php com as rotas. Pronto — a API está no ar.
Estrutura mínima de um módulo
src/Modules/ precisa ser alterado.
O sistema detecta o módulo automaticamente. Não é necessário editar index.php, composer.json, rotas do Kernel ou qualquer outro arquivo de infraestrutura.
Exemplos práticos
As próximas seções mostram dois módulos completos construídos do zero, com cada linha de código explicada:
| Módulo | O que faz | Complexidade |
|---|---|---|
| Usuario | Registro, autenticação, perfil e gerenciamento de usuários | Completo com UUID, hash de senha e níveis de acesso |
| Aviso | CRUD de avisos/notificações com rotas públicas e admin | Simples — ideal para começar |