PHPackages                             bildvitta/sp-hub - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Queues &amp; Workers](/categories/queues)
4. /
5. bildvitta/sp-hub

ActiveLibrary[Queues &amp; Workers](/categories/queues)

bildvitta/sp-hub
================

Pacote Laravel para sincronização e importação de dados do SP via RabbitMQ.

v0.2.1(1w ago)012.6k↓39.4%1MITPHPPHP ^8.0|^8.1|^8.2|^8.3

Since Aug 17Pushed 1w ago12 watchersCompare

[ Source](https://github.com/bildvitta/sp-hub)[ Packagist](https://packagist.org/packages/bildvitta/sp-hub)[ RSS](/packages/bildvitta-sp-hub/feed)WikiDiscussions main Synced yesterday

READMEChangelog (10)Dependencies (28)Versions (78)Used By (1)

SP Hub
======

[](#sp-hub)

Visão geral
-----------

[](#visão-geral)

`appnave/nave-hub-sp` é um pacote privado de Laravel para sincronização e importação de dados do SP via RabbitMQ.

O consumo é feito em projetos clientes por meio de repositório VCS no `composer.json`.

Requisitos
----------

[](#requisitos)

- PHP 8.0, 8.1, 8.2 ou 8.3
- Laravel 8, 9, 10, 11 ou 12
- Composer 2
- Acesso ao repositório privado do pacote
- RabbitMQ para uso dos comandos de mensagem e configuração
- Banco de dados acessível para a importação do hub, quando aplicável

Acesso a Repositórios Privados
------------------------------

[](#acesso-a-repositórios-privados)

No projeto cliente, adicione o repositório VCS no `composer.json`:

```
{
  "repositories": [
    {
      "type": "vcs",
      "url": "https://github.com/ORG/REPO"
    }
  ]
}
```

Instale o pacote:

```
composer require appnave/nave-hub-sp:dev-develop
```

Autenticação local do Composer com GitHub:

```
composer config -g github-oauth.github.com
```

GitHub Actions:

```
env:
  COMPOSER_AUTH: '{"github-oauth":{"github.com":"${{ secrets.GITHUB_TOKEN }}"}}'
```

Se o pacote ou alguma dependência privada exigir outro token, use um secret próprio no lugar do `GITHUB_TOKEN`.

Instalação Local
----------------

[](#instalação-local)

No projeto cliente:

```
composer install
php artisan sp-hub:install
```

Se o ambiente usar RabbitMQ, rode também:

```
php artisan sp-hub:configure
```

Depois de ajustar `.env` ou `config/sp-hub.php`, recarregue o cache de configuração se o projeto usar cache:

```
php artisan config:clear
php artisan config:cache
```

Variáveis de Ambiente
---------------------

[](#variáveis-de-ambiente)

```
RABBITMQ_HOST=
RABBITMQ_PORT=5672
RABBITMQ_USER=
RABBITMQ_PASSWORD=
RABBITMQ_VIRTUALHOST=/
RABBITMQ_EXCHANGE_HUB=hub
RABBITMQ_QUEUE_HUB=
RABBITMQ_USE_SSL=true

HUB_DB_HOST=127.0.0.1
HUB_DB_PORT=3306
HUB_DB_DATABASE=forge
HUB_DB_USERNAME=forge
HUB_DB_PASSWORD=
```

Em ambiente `local`, o worker usa conexão sem SSL automaticamente.

Useful Commands
---------------

[](#useful-commands)

```
php artisan sp-hub:install
php artisan sp-hub:configure
php artisan rabbitmqworker:hub
php artisan dataimport:hub --select=500 --offset=0 --tables=brands,companies,users,positions,permissions,roles,user_companies,user_company_parent_positions,user_company_real_estate_developments
```

- `sp-hub:install` publica a configuração e as migrations do pacote.
- `sp-hub:configure` cria exchange e fila no RabbitMQ quando o ambiente estiver habilitado.
- `rabbitmqworker:hub` consome e processa mensagens.
- `dataimport:hub` inicia a importação em background.

Conventions
-----------

[](#conventions)

- O pacote publica migrations para tabelas e colunas relacionadas a users, companies, brands, roles e workers.
- Se o modelo `User` do projeto cliente usar mass assignment, inclua os campos extras suportados pelo pacote no `$fillable`.
- Campos mais usados pelo pacote:

```
'document',
'address',
'street_number',
'complement',
'city',
'state',
'postal_code',
```

- Para `Company`, as migrations também podem exigir:

```
'company_name',
'document',
'address',
'street_number',
'complement',
'city',
'state',
'postal_code',
```

- Este pacote é privado e depende da configuração do projeto cliente para repositórios Composer, variáveis de ambiente, RabbitMQ e banco do hub.

###  Health Score

55

—

FairBetter than 97% of packages

Maintenance98

Actively maintained with recent releases

Popularity24

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity67

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~19 days

Recently: every ~13 days

Total

72

Last Release

8d ago

PHP version history (2 changes)v0.0.1PHP ^8.0|^8.1

v0.1.11-beta.1PHP ^8.0|^8.1|^8.2|^8.3

### Community

Maintainers

![](https://www.gravatar.com/avatar/57ede45a8ce528ade98fadbb32397afb6c0234f9d05caae7ac207d3b4d026af1?d=identicon)[hynzhw](/maintainers/hynzhw)

![](https://www.gravatar.com/avatar/e32e39fb848943b1a94bb2c167a2bda11eb45814ba34d539e6b1685a5de6e272?d=identicon)[michaelnakamura](/maintainers/michaelnakamura)

![](https://www.gravatar.com/avatar/ab5f117bbac50e0314758bcc25c9052dc4546568082eff672b65b128be0e2d98?d=identicon)[fabiomartins](/maintainers/fabiomartins)

![](https://www.gravatar.com/avatar/3ce1635f07565fb1531991b47d86c407b9b30955eb1871dad4ed33810aaffe88?d=identicon)[leandrohago](/maintainers/leandrohago)

---

Top Contributors

[![fabiomartins1](https://avatars.githubusercontent.com/u/50298479?v=4)](https://github.com/fabiomartins1 "fabiomartins1 (74 commits)")[![zerossB](https://avatars.githubusercontent.com/u/8009480?v=4)](https://github.com/zerossB "zerossB (63 commits)")[![leandrohago](https://avatars.githubusercontent.com/u/64143489?v=4)](https://github.com/leandrohago "leandrohago (16 commits)")[![michaelnakamura](https://avatars.githubusercontent.com/u/10209108?v=4)](https://github.com/michaelnakamura "michaelnakamura (3 commits)")[![andreia-agily](https://avatars.githubusercontent.com/u/123497043?v=4)](https://github.com/andreia-agily "andreia-agily (2 commits)")[![dklbueno](https://avatars.githubusercontent.com/u/8246721?v=4)](https://github.com/dklbueno "dklbueno (1 commits)")

###  Code Quality

TestsPHPUnit

Code StyleLaravel Pint

### Embed Badge

![Health badge](/badges/bildvitta-sp-hub/health.svg)

```
[![Health](https://phpackages.com/badges/bildvitta-sp-hub/health.svg)](https://phpackages.com/packages/bildvitta-sp-hub)
```

###  Alternatives

[spatie/laravel-permission

Permission handling for Laravel 12 and up

12.9k102.4M1.4k](/packages/spatie-laravel-permission)[laravel/horizon

Dashboard and code-driven configuration for Laravel queues.

4.2k95.4M300](/packages/laravel-horizon)[illuminate/queue

The Illuminate Queue package.

21332.6M1.6k](/packages/illuminate-queue)[spatie/laravel-pdf

Create PDFs in Laravel apps

1.0k4.8M46](/packages/spatie-laravel-pdf)[dedoc/scramble

Automatic generation of API documentation for Laravel applications.

2.1k11.2M97](/packages/dedoc-scramble)[harris21/laravel-fuse

Circuit breaker for Laravel queue jobs. Protect your workers from cascading failures.

44855.7k](/packages/harris21-laravel-fuse)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
