Skip to main content

Local Development

The recommended local development environment is Laravel Herd (Windows/macOS). Docker Sail is also supported.


Using Laravel Herd

  1. Install Laravel Herd.
  2. Add certilock-storage as a site in Herd. The app will be available at https://certilock-storage.test or the custom domain you configure.
  3. Set your .env values (see Environment Variables).
  4. Run migrations and start the queue worker:
herd php artisan migrate
herd php artisan queue:work --queue=nfusion

Using Laravel Sail (Docker)

./sail up -d
./sail artisan migrate
./sail artisan queue:work --queue=nfusion

Running the Sync Manually

A PowerShell helper script is included for triggering the sync locally:

.\sync-nfusion.ps1

This script calls the Artisan command that dispatches NFusionSyncTenantPricesJob for all active tenants.

Alternatively, dispatch via Artisan:

php artisan nfusion:sync

Starting the Filament Admin Panel

The Filament admin panel is available at /admin. Create an admin user with:

php artisan make:filament-user

Queue Workers

The pricing sync jobs are queued on the nfusion queue. Always start the queue worker locally when testing sync behaviour:

php artisan queue:work --queue=nfusion

Exposing Localhost for Webhook Testing

To test incoming webhooks (ShipStation, WooCommerce) from external services, expose your local server with ngrok:

ngrok http --host-header=rewrite certilock-storage.test:443 --url=my-ngrok-subdomain.ngrok-free.app

Then point the external webhook delivery URL to https://your-ngrok-url/api/webhooks/....