In this episode, we kick things off by setting up a brand new Laravel project. If you’re building along, you’ll want to start with your own fresh Laravel install (however you prefer to do it). The first steps are updating your .env
file for your database settings (in this example, we’re using Postgres, but you can use whatever you like). Make sure your database is created and credentials are good to go before moving on.
After that, we install Laravel Breeze and set it up to use Vue with server-side rendering (SSR)—don’t forget the --ssr
flag! Once Breeze is installed, we run the usual migrations and get our frontend dependencies squared away with npm install
and npm run dev
. You’ll see how to verify everything is working by registering a test account.
With the basics running, we refactor the starter template. By default, Breeze only displays content to logged-in users, but for a forum, we want guests to view content too. This means changing the routes and creating a ForumIndexController
and a new Forum/Index.vue
page, so our forum can have a public home page.
We then dig into the template to adjust the navigation. We update links in the layout from “Dashboard” to “Forum” (or “Home”), set up the route, and handle the situation where user
is null
(not logged in), so guest users won’t see errors. We modify the nav to display "Login" and "Register" links for guests, and when someone is signed in, they’ll see user-specific options instead.
After tidying up the template and navigation, we address one last detail: changing the redirect after login. Normally, Laravel sends users to the dashboard — we switch this so users land on the forum home page after logging in.
Finally, before wrapping up, we install Laravel Debugbar. This handy tool helps us monitor queries and app speed as we build, making it easier to avoid performance issues.
By the end of this episode, you’ll have a solid Laravel + Vue + SSR setup, guest-friendly routes, and the debug tools needed to make development smooth. Ready for the next step? Next episode, we’ll make sure users can register with a username!