In this episode, we start out by creating a fresh Laravel project from scratch—no starter kits, no authentication, just a plain installation. We'll call the project "million checkboxes" and set up MySQL as the database. After running migrations, we open the project in our code editor and clean up the default routes, making a simple HomeController and a corresponding view.
Next, we set up a basic Blade layout using components so we have a common structure across our pages. This is where we’ll inject our JavaScript and CSS. We then turn our attention to the JavaScript side, manually installing Vue (no inertia or Jetstream here) and setting up a classic app.js
for our assets with Vite as the build tool. You’ll see how to register Vue components the old-school way: create a components
directory, add a simple Scroller.vue
component, and register it globally in app.js
.
We run into a couple of tweaks needed for the setup, like ensuring Vite knows how to handle Vue, adding the appropriate plugins, and configuring aliases. It’s a bit manual, but it shows exactly what goes on under the hood if you’re not using scaffolding tools.
Once Vue is working, we add Tailwind CSS for styling. The episode walks through installing Tailwind, adjusting the config for Blade and Vue files, and making sure styles compile with Vite. By the end, everything is in place: a blank page with Vue and Tailwind ready, and our first reactive Vue component on the page. Now we’re all set up to build out the rest of the app in the following episodes!