pmm / xarife
Gerador de módulos de órgão para o sistema de almoxarifado da Prefeitura de Mossoró
Requires
- php: ^8.3
- illuminate/console: ^12.0
- illuminate/support: ^12.0
README
Gerador de módulos de órgão para o sistema de almoxarifado da Prefeitura de Mossoró.
O que é
O Xarife é um pacote Laravel que automatiza a criação de toda a estrutura necessária para integrar um novo órgão (secretaria, autarquia etc.) ao sistema de almoxarifado. Com um único comando, ele gera e registra automaticamente:
- Controller do órgão
ProductServiceeItemServiceespecíficos- Arquivo de rotas do órgão
- Entrada no
web.php - Entradas nas factories de serviços (
ItemServiceFactoryeProductServiceFactory) - Navegação lateral em
navigation.ts
Requisitos
| Dependência | Versão |
|---|---|
| PHP | ^8.3 |
| Laravel | ^12.0 |
Instalação
composer require pmm/xarife
O pacote é descoberto automaticamente pelo Laravel via package auto-discovery.
Uso
php artisan make:orgao {sigla}
Exemplo:
php artisan make:orgao segov
O que é gerado
| Arquivo | Caminho |
|---|---|
| Controller | app/Http/Controllers/Segov/SegovController.php |
| ProductService | app/Services/Product/SegovProductService.php |
| ItemService | app/Services/Item/SegovItemService.php |
| Rotas | routes/segov.php |
Além disso, os seguintes arquivos existentes são atualizados automaticamente:
routes/web.php— adicionarequire __DIR__.'/segov.php';app/Services/Item/ItemServiceFactory.php— registra'segov' => SegovItemService::classapp/Services/Product/ProductServiceFactory.php— registra'segov' => SegovProductService::classresources/js/hooks/navigation.ts— adiciona rotas e itens de navegação do órgão
Próximos passos após executar o comando
npm run buildphp artisan optimize:clearphp artisan wayfinder:generate- Revise
routes/{sigla}.phpcom as rotas específicas do órgão - Implemente os métodos faltantes em
{Classe}Controller—lote,reports,listUser,editUser,updateUser,destroyUser
Publicando os stubs
Para personalizar os templates gerados pelo pacote, publique os stubs no projeto:
php artisan vendor:publish --tag=xarife-stubs
Os arquivos serão copiados para stubs/xarife/. O comando make:orgao dará preferência a esses stubs locais, permitindo que você ajuste os templates sem alterar o pacote.
Stubs disponíveis
| Stub | Descrição |
|---|---|
controller.stub |
Template do controller do órgão |
product-service.stub |
Template do ProductService |
item-service.stub |
Template do ItemService |
routes.stub |
Template do arquivo de rotas |
Os placeholders {CLASSE}, {SIGLA} e {UPPER} são substituídos automaticamente durante a geração.
Estrutura do pacote
xarife/
├── src/
│ ├── Commands/
│ │ └── MakeOrgao.php # Comando Artisan principal
│ └── XarifeServiceProvider.php # Service provider do pacote
├── stubs/
│ ├── controller.stub
│ ├── item-service.stub
│ ├── product-service.stub
│ └── routes.stub
└── composer.json
Licença
MIT © Prefeitura Municipal de Mossoró