v1.0
Acessar api.vupi.us

Criando Módulos na IDE

Passo a passo para criar um módulo completo para a Vupi.us API.

1. Criar um novo projeto

  1. Acesse /dashboard/ide
  2. Clique em "Novo Projeto"
  3. Preencha o Nome do projeto (ex: "Gerenciador de Tarefas")
  4. Preencha o Nome do módulo em PascalCase (ex: Task)
  5. Marque "Gerar estrutura padrão" para criar o scaffold completo
  6. Clique em "Criar Projeto"
Nome do módulo

O nome deve ser único, PascalCase, sem espaços. Nomes reservados (Auth, Usuario, Kernel, etc.) são bloqueados.

2. Estrutura gerada

Ao marcar "Gerar estrutura padrão", a IDE cria:

Task/
├── Controllers/TaskController.php    — Endpoints da API (CRUD)
├── Services/TaskService.php          — Lógica de negócio
├── Repositories/TaskRepository.php   — Acesso a dados (PDO)
├── Entities/Task.php                 — Entidade de domínio
├── DTOs/CreateTaskDTO.php            — Data Transfer Object
├── DTOs/UpdateTaskDTO.php
├── Middlewares/TaskMiddleware.php     — Middleware próprio
├── Validators/TaskValidator.php      — Validação de dados
├── Exceptions/TaskException.php      — Exceções de domínio
├── Helpers/TaskHelper.php            — Funções utilitárias
├── Config/config.php                 — Configurações do módulo
├── Database/
│   ├── connection.php                — Seleção de banco
│   ├── Migrations/...                — Criação de tabelas
│   └── Seeders/TaskSeeder.php        — Dados iniciais
├── Routes/web.php                    — Definição de rotas
├── composer.json                     — Dependências externas do módulo
└── README.md                         — Documentação
composer.json por módulo

Cada módulo tem seu próprio composer.json. Declare dependências externas (PHPMailer, Guzzle, Stripe SDK, etc.) na seção require. Ao publicar, o sistema instala automaticamente apenas os pacotes novos, detecta conflitos de versão antes de qualquer mudança e recarrega o PHP-FPM graciosamente.

3. Dependency Health — verificação de dependências

A IDE verifica automaticamente o status das dependências declaradas no composer.json do módulo:

StatusSignificadoAção
🟢 OKPacote instalado e versão compatívelNenhuma ação necessária
🟡 MissingPacote não está instaladoClique em "Instalar Dependências" ou execute composer install
🔴 ConflictVersão instalada incompatível com a constraintAjuste a constraint no composer.json do módulo
Como funciona

A IDE compara as dependências declaradas no composer.json do módulo com os pacotes instalados no composer.lock global do projeto. Conflitos de versão impedem a instalação até que você ajuste as constraints.

4. Ativar o módulo

No painel lateral da IDE, clique em "Ativar". O sistema executa:

  1. Sincroniza os arquivos do projeto (do banco de dados da IDE) para o disco em src/Modules/NomeModulo/
  2. Registra o módulo como ativo no sistema
  3. Invalida o OPcache do PHP
  4. Recarrega o PHP-FPM para reconhecer as novas rotas
Atenção: Passos manuais necessários

Após ativar o módulo, você precisa manualmente:

  • Instalar dependências: Se o módulo tem composer.json, execute composer install ou use o botão "Instalar Dependências" na IDE
  • Executar migrations: Execute php vupi migrate --modules para criar as tabelas no banco
  • Executar seeders (opcional): Execute php vupi seed NomeModulo para popular dados iniciais

5. Desativar o módulo

Módulos são criados desativados por padrão. Para desativar um módulo ativo, clique em "Desativar" no painel lateral. As rotas somem mas os dados e arquivos são preservados.