Welcome to the course! In this first episode, we dive into what we'll be building: a system in Laravel where you can batch a list of jobs (think: a multi-step process like 'create a server') and keep track of each job's progress in real time using model states. We'll show these states in the UI, so users can see what's completed, what failed, and what’s still running.
To kick things off, we run through an example: creating a server. As each step in the process runs (like setting up the OS, installing PHP, etc.), the status updates on the UI. If a job fails, you'll see it marked as failed (and you can even display the error to the user), and we handle clean-up or deleting the entire batch if needed. You’ll also see how easy it is to reorder jobs, add new steps, or even switch out the whole flow for different scenarios – the approach is really flexible!
By the end of the video, we set up a brand new Laravel project using Laravel Breeze and Livewire (but you can use any stack you’re comfortable with). We configure the database, run the default migrations, and make sure the fresh app is up and running and ready for us to build on in the coming episodes.
If you already have an app set up, feel free to skip the setup part – otherwise, follow along as we get our foundation ready!