spatie/laravel-livewire-onboard
Define and track user onboarding steps in Laravel. Register steps with links, CTAs, and completion rules, then check progress per user and render the flow in Blade. Helps show what’s done, what’s next, and when onboarding is complete.
completeIf callbacks could be extended to trigger custom events (e.g., OnboardingStepCompleted) for integration with analytics, notifications, or workflows.laravel-livewire-onboard) suggests compatibility with Livewire for dynamic UI updates (e.g., real-time progress tracking). However, the actual repo (laravel-onboard) lacks Livewire-specific features—clarification needed on whether Livewire integration is a separate extension or mislabeling.spatie/laravel-livewire-onboard).completeIf) may require boilerplate for complex onboarding logic (e.g., multi-step conditional flows). Could benefit from a more fluent API or event-based extensions.AppServiceProvider?composer require spatie/laravel-onboard.php artisan vendor:publish --provider="Spatie\Onboard\OnboardServiceProvider".AppServiceProvider@boot() or a dedicated OnboardingService.completeIf callbacks and step logic.wire:model bindings for step updates). If not, evaluate:
Onboard::steps()).completeIf callbacks may require updates if business rules change (e.g., profile completion criteria).Onboard::debug(); // Hypothetical; verify if package supports this.
user_id and step_id:
Schema::table('onboard_steps', function (Blueprint $table) {
$table->index(['user_id', 'step_id']);
});
$steps = Cache::remember("user-{auth()->id()}-onboard-steps", now()->addHours(1), function () {
return auth()->user()->onboarding()->steps;
});
completeIf callbacks fail silently, users may get stuck in onboarding. Mitigate with:
completeIf).// Avoid:
foreach (auth()->user()->onboarding()->steps as $step) { ... }
// Use:
auth()->user()->load('onboarding.steps')->onboarding()->steps;
completeIf logic for backend devs.How can I help you explore Laravel packages today?