5labs/grogoo-restfier
Packages to use with laravel framework
Maintainers
Requires
- php: ^8.3
- laravel/ai: ^0.6.8
- laravel/framework: ^12.0
- laravel/sanctum: ^4.0
- league/flysystem-google-cloud-storage: ^3.0
- openai-php/client: ^0.6.4
- sendgrid/sendgrid: ^8.1
Requires (Dev)
- fakerphp/faker: ^1.23
- larastan/larastan: ^3.0
- laravel/pail: ^1.2.2
- laravel/pint: ^1.13
- laravel/sail: ^1.41
- mockery/mockery: ^1.6
- nunomaduro/collision: ^8.6
- orchestra/testbench: ^10.0
- pestphp/pest: ^3.8
- pestphp/pest-plugin-laravel: ^3.2
- phpstan/phpstan: ^2.0
Suggests
None
Provides
None
Conflicts
None
Replaces
None
MIT dd05e81c32c105395063c3c371c5282f5e7f2d65
- Desenvolvimento <desenvolvimento.woop@5labs.com.br>
This package is auto-updated.
Last update: 2026-06-24 21:31:20 UTC
README
Gerador de código para construção de APIs RESTful completas a partir da leitura de uma base de dados, com padrões pré-estabelecidos para autenticação, autorização, assinaturas e auditoria.
Recursos
- Geração Automática de Código: Crie controllers, models, resources, rotas, factories, testes e middlewares automaticamente a partir das tabelas do banco de dados
- Módulo de Autenticação Completo: Sistema de autenticação com usuários, perfis, permissões, empresas, convites e tokens de acesso pessoal (Sanctum)
- Gestão de Assinaturas: Sistema de planos e assinaturas com limitadores de uso, integração com gateways de pagamento (Superlógica) e webhooks
- Auditoria: Rastreamento de eventos e alterações no sistema
- Integrações: Suporte para SendGrid, Google Cloud Storage e OpenAI
- Comandos Artisan: Diversos comandos personalizados para facilitar o desenvolvimento
Requisitos
- PHP ^8.2
- Laravel ^12.0
- PostgreSQL (para funcionalidades de auditoria)
Instalação
composer require 5labs/grogoo-restfier
Após a instalação, publique as configurações e execute as migrations:
php artisan vendor:publish --provider="GrogooRestfier\Providers\GrogooRestfierServiceProvider"
php artisan migrate
Uso
Comandos Disponíveis
| Comando | Descrição |
|---|---|
grogoo:build | Gera a estrutura completa da API a partir do banco de dados |
grogoo:fresh | Limpa e recria todas as entidades geradas |
grogoo:translate | Traduz os textos da aplicação usando IA |
grogoo:install-apikeys | Instala o módulo de chaves de API |
grogoo:clear-files | Remove arquivos gerados pelo builder |
grogoo:update-plans | Atualiza os planos do sistema |
grogoo:update-subscriptions | Atualiza as assinaturas no gateway de pagamento |
grogoo:notify-trial | Notifica usuários com trial próximo do vencimento |
Estrutura Gerada
O builder gera automaticamente:
- Controllers: Com métodos CRUD padrão (index, show, store, update, destroy)
- Models: Com relações, casts e validações automáticas
- Resources: Para padronização das respostas JSON
- Routes: Rotas API RESTful para todas as entidades
- Factories: Para geração de dados de teste
- Tests: Testes automatizados com Pest PHP
- Middlewares: Para controle de permissões e limites de assinatura
Módulos Incluídos
Auth
- Autenticação via token (Sanctum)
- Gestão de usuários e perfis
- Sistema de permissões granular
- Suporte a múltiplas empresas por usuário
- Convites para novos usuários
- Recuperação de senha
- Autenticação social
Subscription
- Gestão de planos (com trial, visibilidade, compra)
- Assinaturas com controle de status
- Limitadores de uso (por usuário, por empresa)
- Integração com Superlógica (webhooks, checkout)
- Verificação automática de assinaturas válidas
Audit
- Rastreamento de eventos do sistema
- Conector PostgreSQL para auditoria
Configuração
Adicione as seguintes variáveis ao seu .env:
# SendGrid
SENDGRID_API_KEY=your_sendgrid_key
# Google Cloud Storage
GOOGLE_CLOUD_KEY_FILE=path/to/key.json
GOOGLE_CLOUD_STORAGE_BUCKET=your-bucket
# OpenAI (para tradução automática)
OPENAI_API_KEY=your_openai_key
# Superlógica (para assinaturas)
SUPERLOGICA_APP_TOKEN=your_token
SUPERLOGICA_ACCESS_TOKEN=your_access_token
Estrutura de Pastas
src/
├── Builder/ # Ferramentas de geração de código
│ ├── Creators/ # Criadores de arquivos
│ └── Install/ # Templates de instalação
├── Modules/ # Módulos do sistema
│ ├── Auth/ # Autenticação e usuários
│ ├── Audit/ # Auditoria de eventos
│ └── ... # Outros módulos
├── Services/ # Serviços externos (Dify, etc)
├── Helpers/ # Funções auxiliares
├── Traits/ # Traits reutilizáveis
├── Rules/ # Regras de validação customizadas
└── Http/ # Middlewares, Requests, Resources
Contribuição
Contribuições são bem-vindas! Por favor:
- Faça um fork do projeto
- Crie uma branch para sua feature (
git checkout -b feature/nova-feature) - Commit suas alterações (
git commit -m 'Adiciona nova feature') - Push para a branch (
git push origin feature/nova-feature) - Abra um Pull Request
Problemas
Encontrou algum problema? Registre uma issue no nosso repositório. Use um dos modelos disponíveis para facilitar o relatório.
Contato
- Email: desenvolvimento@fivelabs.com.br
Licença
Este projeto está licenciado sob a licença MIT.
