Transcription: OpenAgents Episode 003 - Hello Laravel

June 9, 2026 ยท View on GitHub

Source: https://twitter.com/OpenAgentsInc/status/1721979219763155232 Wiki source: https://raw.githubusercontent.com/wiki/OpenAgentsInc/openagents/Video-Series.md Media title: OpenAgents - Episode 003: Hello Laravel We create a new Laravel+React+Inertia app, ... Upload date: 20231107 Transcription model: gpt-4o-transcribe-diarize Generated at: 2026-05-31T23:02:07Z

Machine-generated transcript. Review speaker labels and wording before using this as quote-grade source material.

[00:01] Christopher David: All right, let's step through creating our Laravel project.

[00:05] Christopher David: We'll do this slowly and it's cool for new people to learn Laravel.

[00:14] Christopher David: So, Laravel.com, docs,

[00:17] Christopher David: installation.

[00:19] Christopher David: Your first Laravel project.

[00:27] Christopher David: Now I want to start an Inertia project. Um I don't actually think I want to do these this instructions or do I.

[00:41] Christopher David: So maybe we should follow the

[00:46] Christopher David: Inertia instructions.

[00:50] Christopher David: Alright, the first step when installing Inertia is to configure your server-side framework.

[00:58] Christopher David: Laravel's starter kits provide out-of-the-box scaffolding for new inertia applications.

[01:03] Christopher David: That's what we want.

[01:04] Christopher David: These starter kits are the absolute fastest way to start building a new inertia project using Laravel and Vue or React.

[01:10] Christopher David: If you'd like to manually install inertia in your application,

[01:12] Christopher David: please consult the document.

[01:13] Christopher David: Let's do a starter kit.

[01:14] Christopher David: Okay, here we go.

[01:18] Christopher David: Wow,

[01:18] Christopher David: they even got Breeze and NextJS slash API.

[01:21] Christopher David: We're not going to do that.

[01:26] Christopher David: All right, so Breeze and React looks good.

[01:28] Christopher David: Let's read about it first.

[01:29] Christopher David: To give you a head start building your new Laravel application,

[01:32] Christopher David: we are happy to offer authentication and application starter kits.

[01:35] Christopher David: These kits automatically scaffold your application with the routes,

[01:38] Christopher David: controllers,

[01:38] Christopher David: and views you need to register and authenticate your application's users.

[01:42] Christopher David: They're not required,

[01:44] Christopher David: blah blah blah.

[01:45] Christopher David: So Laravel Breeze is a minimal, simple implementation of all of Laravel's authentication features,

[01:50] Christopher David: including login,

[01:51] Christopher David: registration,

[01:52] Christopher David: password reset,

[01:53] Christopher David: email verification,

[01:54] Christopher David: and password confirmation.

[01:55] Christopher David: In addition,

[01:56] Christopher David: Breeze includes a simple profile page where the user may update their name,

[01:59] Christopher David: email address,

[02:00] Christopher David: and password.

[02:00] Christopher David: Sounds good.

[02:03] Christopher David: The default view layer is made of a simple blade template styled with Tailwind.

[02:07] Christopher David: Additionally, Breeze provides scaffolding options based on live wire or inertia.

[02:11] Christopher David: We're going to use inertia.

[02:13] Christopher David: Blah blah blah.

[02:17] Christopher David: Okay,

[02:17] Christopher David: we want to do Breeze and React.

[02:24] Christopher David: So I guess I should do this first.

[02:29] Christopher David: First you should create a new Laravel application,

[02:32] Christopher David: configure your database,

[02:33] Christopher David: and run your database migrations. Once you have created a new Laravel application,

[02:37] Christopher David: you may install Breeze using Composer.

[02:41] Christopher David: Okay.

[02:43] Christopher David: So we do want to go through the instructions

[02:48] Christopher David: here.

[02:53] Christopher David: And we're going to need to copy paste it into our new...

[02:56] Christopher David: Agents folder. But so let's start with this.

[03:01] Christopher David: Composer, create project,

[03:02] Christopher David: Laravel, Laravel.

[03:09] Christopher David: What I may actually do is go into the open agents folder and then create that there.

[03:17] Christopher David: And then we'll move it up one directory.

[03:37] Christopher David: Okay.

[03:40] Christopher David: Uh now let's take a look what we have.

[03:46] Christopher David: Alright, so before we do anything, let's commit that.

[04:02] Christopher David: Conceivably we could keep it in that directory.

[04:10] Christopher David: But that might introduce some other weird stuff.

[04:15] Christopher David: Oops.

[04:27] Christopher David: And then we'll move all of this up one directory,

[04:33] Christopher David: renaming read me to read me Laravel.

[04:51] Christopher David: Move Laravel project to root dir.

[04:57] Christopher David: Okay, let's see what that looks like on our repo.

[05:04] Christopher David: So we've got the Laravel readme there.

[05:12] Christopher David: Okay, let's continue down.

[05:21] Christopher David: Alright, so let's see if this works. Php artisan serve.

[05:29] Christopher David: Server running on localhost 8000 and there it is.

[05:40] Christopher David: If you are new to Laravel,

[05:42] Christopher David: And want to learn it, I highly recommend this Laracast website.

[05:47] Christopher David: I signed up for the annual subscription a long time ago.

[05:51] Christopher David: It's just simply one of the probably the single best developer education resource I've used in my life.

[05:58] Christopher David: Great, great content.

[06:03] Christopher David: Cool,

[06:03] Christopher David: so that's the homepage.

[06:04] Christopher David: We'll swap that out soon.

[06:06] Christopher David: Let's continue with the Breeze installation.

[06:11] Christopher David: I don't use the Docker version there.

[06:14] Christopher David: Are we done with that part of it?

[06:17] Christopher David: All right.

[06:18] Christopher David: We still need to configure our database because

[06:24] Christopher David: if right now I go run the migration command,

[06:29] Christopher David: php artisan migrate,

[06:30] Christopher David: it should say,

[06:31] Christopher David: oh,

[06:32] Christopher David: it doesn't exist.

[06:33] Christopher David: Okay.

[06:40] Christopher David: DB connection equals MySQL.

[06:45] Christopher David: All right, so first of all, the reason that it's able to even connect to a database is because I have DB engine running.

[06:51] Christopher David: This is kind of the recommended way. It's on their website somewhere for spinning up a little MySQL or SQL database locally.

[07:01] Christopher David: I don't know if this works on Windows or whatever. Sorry,

[07:06] Christopher David: I don't care.

[07:08] Christopher David: about Windows.

[07:09] Christopher David: I'm going to stop this and I'm going to try I want to see if I can configure Postgres while we're at it.

[07:17] Christopher David: So let's do in dbengine we do new Postgres and this is Postgres 15 the latest version.

[07:24] Christopher David: I don't know anything about the different versions we'll just try the most recent version and I did confirm that our hosting environment that we're going to deploy this to Laravel Forge does support Postgres 15.

[07:35] Christopher David: So we'll call this Open Agents port.

[07:39] Christopher David: I'm assuming the default will work there.

[07:42] Christopher David: Should I automatically start the service on login? Yeah,

[07:45] Christopher David: let's do that.

[07:46] Christopher David: Default user of PostgreSQL is Postgres with no password.

[07:50] Christopher David: Thank you.

[07:52] Christopher David: So I'm going to start that.

[07:55] Christopher David: In DB connection,

[07:57] Christopher David: I think that maps to a...

[08:03] Christopher David: Yep. They have a pgsql connection. So I should be able to just swap that out.

[08:11] Christopher David: The DB port is 5, 4, 3, 2.

[08:16] Christopher David: And it said the

[08:19] Christopher David: default user is Postgres.

[08:26] Christopher David: The D_B_Database name is open agents.

[08:31] Christopher David: And it looks like that was created. Let's start it.

[08:36] Christopher David: Downloading binaries.

[08:40] Christopher David: And then if all goes well,

[08:42] Christopher David: looks like that's running.

[08:44] Christopher David: So now, this is a new terminal window.

[08:47] Christopher David: If I do PHP artisan migrate,

[08:51] Christopher David: that should run the migrations.

[08:54] Christopher David: It did not.

[08:57] Christopher David: Database open agents does not exist.

[09:06] Christopher David: I guess it's called Postgres.

[09:10] Christopher David: The name of our service is OpenAgents, but the database name is Postgres. Let's try that again. Ta-da! Okay,

[09:16] Christopher David: PHP Artisan Migrate ran our database migrations. Our database migrations live in database migrations. It creates a users table,

[09:23] Christopher David: password reset tokens,

[09:26] Christopher David: failed jobs for queues, personal access tokens.

[09:32] Christopher David: Okay, cool.

[09:34] Christopher David: So we have the database configured. What's the next step?

[09:38] Christopher David: We did database migrations, we did. You can learn about that there.

[09:44] Christopher David: Now, once you've created a new Laravel application,

[09:46] Christopher David: you may install Laravel Breeze using Composer.

[09:53] Christopher David: I have Composer installed. You might need to install Composer. You can Google how to install Composer PHP.

[09:59] Christopher David: Okay, that's done. Let me commit that.

[10:05] Christopher David: After Composer has installed the Laravel Obese package, you may run the breeze install artisan command.

[10:09] Christopher David: This command publishes the authentication views,

[10:11] Christopher David: routes,

[10:12] Christopher David: controllers, and other resources to your application.

[10:15] Christopher David: Laravel Breeze publishes all of its code to your application so that you have full control and visibility over its features and implementation.

[10:23] Christopher David: The Breeze install command will prompt you for your preferred frontend stack and testing framework.

[10:27] Christopher David: So,

[10:30] Christopher David: which stack would you like to install?

[10:33] Christopher David: React with inertia?

[10:36] Christopher David: Would you like any optional features? Yes, I would like dark mode.

[10:43] Christopher David: Inertia SSR.

[10:51] Christopher David: Do we want inertia SSR?

[11:15] Christopher David: I'm going to do no for now. I don't want to run any separate commands. You have to think about that. I do want TypeScript.

[11:25] Christopher David: Experimental. Uh-oh.

[11:28] Christopher David: And we're going to use pest for the testing framework,

[11:31] Christopher David: which is a superset of PHP Unit.

[11:40] Christopher David: look at all those files.

[11:46] Christopher David: Oops.

[12:03] Christopher David: Bree is scaffolding installed successfully.

[12:07] Christopher David: So I want to put speech,

[12:09] Christopher David: P-Risen Breeze install, with dark mode and type script.

[12:16] Christopher David: Okay.

[12:18] Christopher David: Run the migrations.

[12:20] Christopher David: Unless it already did that.

[12:26] Christopher David: NPM install.

[12:30] Christopher David: And then I like doing NPM run dev in the same panel is

[12:33] Christopher David: here okay

[12:36] Christopher David: so we now have we

[12:46] Christopher David: now have automatically added here login and register and

[12:53] Christopher David: we have an

[12:57] Christopher David: entire authentication system

[13:00] Christopher David: With a little dashboard where I can go change my profile, update my password, password reset,

[13:06] Christopher David: and all this is kind of handled for us.

[13:11] Christopher David: Ah,

[13:12] Christopher David: that feels good.

[13:15] Christopher David: And that's connected to our Postgres database.

[13:18] Christopher David: And if I go to my Postgres database,

[13:20] Christopher David: I'm using table plus.

[13:23] Christopher David: And I go to users,

[13:25] Christopher David: there's the user.

[13:27] Christopher David: Pretty cool for a six-ish minute video.

[13:30] Christopher David: We'll stop there for now.

[13:31] Christopher David: See ya.