Criando Módulos na IDE
Passo a passo para criar um módulo completo para a Vupi.us API.
1. Criar um novo projeto
- Acesse
/dashboard/ide - Clique em "Novo Projeto"
- Preencha o Nome do projeto (ex: "Gerenciador de Tarefas")
- Preencha o Nome do módulo em PascalCase (ex:
Task) - Marque "Gerar estrutura padrão" para criar o scaffold completo
- Clique em "Criar Projeto"
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
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:
| Status | Significado | Ação |
|---|---|---|
| 🟢 OK | Pacote instalado e versão compatível | Nenhuma ação necessária |
| 🟡 Missing | Pacote não está instalado | Clique em "Instalar Dependências" ou execute composer install |
| 🔴 Conflict | Versão instalada incompatível com a constraint | Ajuste a constraint no composer.json do módulo |
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:
- Sincroniza os arquivos do projeto (do banco de dados da IDE) para o disco em
src/Modules/NomeModulo/ - Registra o módulo como ativo no sistema
- Invalida o OPcache do PHP
- Recarrega o PHP-FPM para reconhecer as novas rotas
Após ativar o módulo, você precisa manualmente:
- Instalar dependências: Se o módulo tem
composer.json, executecomposer installou use o botão "Instalar Dependências" na IDE - Executar migrations: Execute
php vupi migrate --modulespara criar as tabelas no banco - Executar seeders (opcional): Execute
php vupi seed NomeModulopara 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.