Purchase & install.
Install the complete review experience, choose an interface, and configure customer and team workflows.
← All Pro topicsPro
Pro adds the customer experience and team workflows without replacing Core's tables or models. The public demo runs the real components. Pro is distributed through CodebyRay's authenticated Composer repository rather than Packagist or direct access to its private GitHub repository.
Purchase and private installation
- Choose and purchase a Pro license. General CBR registration remains closed; a successful purchase creates your customer account and sends its password-setup email.
- Sign in and open My Licenses under Software.
- Create one Composer credential named for the project. Save it immediately—the secret is shown only once. Use that same project credential locally, in staging, CI, and production.
- Add the private repository to the application's root
composer.json:
{
"repositories": [
{
"type": "composer",
"url": "https://app.cbrapps.com/packages"
}
]
}
- Create
auth.jsonbesidecomposer.json, using the secret displayed by the license portal:
{
"bearer": {
"app.cbrapps.com": "YOUR_PROJECT_CREDENTIAL"
}
}
Add /auth.json to .gitignore. Never commit the credential, paste it into a support request, or place it in composer.json.
- Choose the installation path that matches your application. A new Pro customer does not need to install Core separately.
Install Pro in a new application
Install Pro directly:
composer require codebyray/laravel-review-rateable-pro:^1.0
Composer authenticates with CBR, downloads the entitled Pro release, and automatically installs the compatible Core ^2.2 dependency from Packagist. Do not run a separate composer require for Core.
Composer never runs package migrations automatically. Publish and migrate Core's core schema first, then publish Pro's configuration:
php artisan vendor:publish --provider="Codebyray\ReviewRateable\ReviewRateableServiceProvider" --tag=config
php artisan vendor:publish --provider="Codebyray\ReviewRateable\ReviewRateableServiceProvider" --tag=migrations
php artisan migrate
php artisan vendor:publish --tag=review-rateable-pro-config
Core's base migrations create the reviews and ratings tables required by Pro. Publish only the optional Pro module migrations your application will use, then run php artisan migrate again.
Add Pro to an existing Core 2.2+ application
Keep the application's existing Core configuration, migrations, and review data. Add Pro directly:
composer require codebyray/laravel-review-rateable-pro:^1.0
php artisan vendor:publish --tag=review-rateable-pro-config
Composer reuses the installed compatible Core release or updates it within the allowed ^2.2 constraint. Do not republish migrations that the application has already published. Confirm Core's base migrations have run before publishing any Pro module migrations.
Core 1.x is not compatible with Pro 1.x. Complete the application's migration to Core 2.2+ before adding Pro; do not force Composer past the version conflict.
Customers do not receive the private GitHub URL or GitHub access. In both installation paths, Core continues to own core reviews, ratings, configuration, and image storage while Pro adds interfaces and optional workflows.
For CI and deployments, store the complete authentication object as a protected secret named COMPOSER_AUTH rather than creating a committed file:
{"bearer":{"app.cbrapps.com":"YOUR_PROJECT_CREDENTIAL"}}
Composer reads COMPOSER_AUTH automatically. Mask the value in logs and restrict it to the project licensed to use it.
Normal composer update includes Pro when its constraints permit a newer entitled release. To update it explicitly with its dependencies, run:
composer update codebyray/laravel-review-rateable-pro --with-dependencies
Coverage expiry does not disable installed code. It limits repository access to releases published during the covered update period; renewing extends access to newer releases. If a credential is lost or exposed, revoke it in My Licenses and create a replacement for the same project.
An authentication error from packages.json usually means the bearer host does not exactly match app.cbrapps.com, the credential was copied incorrectly, or it has been revoked. A package/version not found error can mean no entitled release matches the requested Composer constraint. Confirm the repository entry, credential, license status, and available releases before retrying with composer clear-cache.