Referência v3
Voltar à plataforma

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 antes do deploy

O painel lateral da IDE exibe automaticamente o status das dependências do módulo:

StatusSignificadoAção
🟢 OKTudo instalado e compatívelPode publicar
🟡 WarningLib não instalada aindaSerá instalada no deploy
🔴 CriticalConflito de versãoAjuste a constraint no composer.json

4. Publicar o módulo

O módulo já existe em src/Modules/ desde a criação. Cada arquivo salvo é sincronizado automaticamente para o disco. Quando estiver pronto para disponibilizar as rotas:

4. Ativar o módulo

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

  1. Analisa o código (erros bloqueiam a ativação)
  2. Verifica conflitos de dependências — bloqueia se houver incompatibilidade
  3. Instala dependências novas via composer require
  4. Executa as migrations automaticamente
  5. Executa os seeders automaticamente
  6. Ativa as rotas — ficam disponíveis imediatamente na API

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.