Laravel0A Package for Onboarding Users in Laravel Apps


Laravel Onboard is a Laravel package to help track user onboarding steps created by Spatie:

Here’s a quick example taken from the project readme on using this package to create onboarding steps:

1use App\User;

2use Spatie\Onboard\Facades\Onboard;


4// You can add onboarding steps in a `boot()` method within a service provider

5Onboard::addStep('Complete Profile')

6 ->link('/profile')

7 ->cta('Complete')

8 ->completeIf(function (User $user) {

9 return $user->profile->isComplete();

10 });


12Onboard::addStep('Create Your First Post')

13 ->link('/post/create')

14 ->cta('Create Post')

15 ->completeIf(function (User $user) {

16 return $user->posts->count() > 0;

17 });

To get a user’s onboarding status—among other things—the package has a nice API for accessing things like percentage complete, in progress, finished, and details about individual steps:

1/** @var \Spatie\Onboard\OnboardingManager $onboarding **/

2$onboarding = Auth::user()->onboarding();








10$onboarding->steps()->each(function($step) {

11 $step->title;

12 $step->cta;

13 $step->link;

14 $step->complete();

15 $step->incomplete();


Additionally, this package supports features such as:

  • Conditionally excluding steps with custom logic
  • Defining custom attributes on a step
  • Use middleware to ensure a user completes onboarding before they are allowed to use certain features
  • And more

You can get started with this package by checking it out on GitHub at spatie/laravel-onboard. Their blog post can also give you some examples and further details on how you can use this package.


Source link

Leave a Reply

Your email address will not be published. Required fields are marked *