5labs/grogoo-restfier

Packages to use with laravel framework

Maintainers

Package info

gitlab.com/5_labs/grogoo-restfier

Issues

pkg:composer/5labs/grogoo-restfier

Statistics

Installs: 4 889

Dependents: 0

Suggesters: 0

Stars: 0

12.5.5 2026-05-18 18:17 UTC

This package is auto-updated.

Last update: 2026-05-18 21:19:41 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

ComandoDescrição
grogoo:buildGera a estrutura completa da API a partir do banco de dados
grogoo:freshLimpa e recria todas as entidades geradas
grogoo:translateTraduz os textos da aplicação usando IA
grogoo:install-apikeysInstala o módulo de chaves de API
grogoo:clear-filesRemove arquivos gerados pelo builder
grogoo:update-plansAtualiza os planos do sistema
grogoo:update-subscriptionsAtualiza as assinaturas no gateway de pagamento
grogoo:notify-trialNotifica 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:

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/nova-feature)
  3. Commit suas alterações (git commit -m 'Adiciona nova feature')
  4. Push para a branch (git push origin feature/nova-feature)
  5. 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.