
Learn Laravel, a modern web framework that makes building scalable apps easy. Cover basic programming concepts and prerequisites for beginners and intermediate developers, while avoiding PHP syntax drift.
Explore a two-part course structure with bite-sized videos covering single topics first, then integrate them into the application we build, while adopting a sequential, problem-first teaching approach.
Set up the test environment for a Laravel project by installing PHP, MySQL, composer for dependencies, Node, and a capable code editor like VS Code.
Download and install php 7.4 and mysql 5.7 to set up a local laravel development environment. Install composer, node, and a code editor to complete the stack.
Locate the PHP executable in the bin folder and add Composer, Node, and PHP to your system path. Start Apache and MySQL, and bypass port conflicts using Laravel's search function.
Follow the Laravel documentation on Windows to get a web application up and running, then install the Laravel installer with Composer and create a new application in the terminal.
Install and configure the application, set the root directory and virtual host, update the host file for domain name access, and view the welcome page.
Explore installed Laravel files and folders, including app, config, database, resources, routes, and learn how models, controllers, views, migrations, seeds, factories, vendor folder, and artisan integrate in an MVC app.
Discover how to use composer to manage dependencies in a Laravel project: dump the autoloader, install packages, require packages, and update packages—an essential tool for web development.
Explore how Artisan enables migrate, serve, and list routes to build and run Laravel applications. Use the Artisan command interface to create controllers, migrations, middleware, and models, making scaffolding easy.
Explore the app idea for a simple node app: build note creation, reading, updating, and deleting, with authentication, access control, sharing, image attachments, and daily note creation.
Set up the database for the Laravel app by creating a new database, installing dependencies in the terminal, and updating the config with the database name, user, and password.
Learn how migrations act as blueprints to create database tables in Laravel, enabling automatic setup via Artisan in the terminal and avoiding duplicate effort.
Master how to create migrations in Laravel with timestamps naming, using up and down methods, and the schema blueprint to define tables, columns, and timestamps.
Learn how Laravel migrations generate timestamped files, create tables with title and description columns plus timestamps, handle primary keys, and use rollback to revert migrations.
Learn how Laravel migrations track changes in the migration table, including batch numbers and creation order, and how rollback uses the highest batch, with guidance in Laravel documentation.
Learn to create migrations, run them with php artisan migrate, and access tables via eloquent models that map tables to classes. Create a model with artisan make:model to see properties.
Test a model with tinker and artisan by creating a note, setting its title and description, and saving to the notes table; update and delete to see changes.
Boost your web development workflow with VS Code productivity tips, mastering file navigation, integrated terminal, multiple file view, and keyboard shortcuts to accelerate coding.
Increase VS Code productivity for Laravel by installing extensions for code completion, Blade syntax highlighting, Laravel snippets, and Blade formatter, then use keyboard shortcuts to speed up tasks.
Create and connect models with your Laravel app using terminal commands, relying on automatic table association by model and table names, then interact with them through routing and views.
Create and save a new model with the correct namespace using Laravel's tinker, then fetch the note and explore json, html, or file responses.
Learn to use a resource controller to handle CRUD operations—create, read, update, and delete—by generating the controller and linking it to a model, then exposing its routes.
Test note retrieval by id in the browser and demonstrate route model binding. Use a resource route to simplify binding and require the id parameter to match the model.
Explore resource routes in Laravel by listing routes, mapping actions like index, create, store, show, edit, update, and destroy to a resource controller, and generate them with a single line.
Create a blade view in Laravel to display a note by placing a file in notes, pass the node through a show function, and render the note’s title and description.
Learn how authentication works in Laravel by using scaffolding with the Laravel UI package, generating authentication scaffolding via artisan, and styling with Bootstrap, then manage dependencies with composer and npm.
Explore how Laravel scaffolding via the Laravel UI command generates login and register pages, Blade templates, and shared layouts, using extends, section, and yield to inject dynamic content.
Explore how middleware enforces authentication to protect routes, enabling login-protected pages and redirecting to login when unauthenticated, with a focus on Laravel’s middleware groups.
Learn how to scaffold a notes interface in Laravel by copying a template, editing the Blade, and adding title and description with text and textarea for crud operations.
Learn to implement delete functionality in a Laravel app by deleting a note through a form with a CSRF token and the destroy route, then redirect to home.
Learn to build a notes create interface in Laravel by duplicating a blade for create and edit, using a shared form, and wiring to store and update actions.
Learn how to build Laravel CRUD forms for create and edit, including dynamic routes, proper actions, csrf token handling, and passing note data to the edit view.
Explore building and validating a new note in Laravel by troubleshooting routes, using the store route, and handling requests with validation and redirects to show pages for title and description.
Update the node controller to handle the note update in the edit flow, implement a shared create/edit view, and fix routes, validation, and method spoofing for patch requests in Laravel.
Implement a Laravel CRUD navigation to the notes index page, build an index view, and display notes in a table with title, created, and actions for view, update, and delete.
Build a Laravel index page for notes using foreach-style loops and double curly braces to show titles, with links to show, edit, and delete routes and a CSRF-protected destroy form.
Fix the validation workflow by enabling error visibility and displaying messages. Apply required and eight-character size rules to the title and description, and review errors.
Learn how to enforce validation rules in Laravel, including minimum length and unique constraints for notes, and keep form data intact using old() when errors occur.
Learn how to implement access control in a Laravel notes app by adding a user_id to notes and updating the note controller to assign notes to user who created them.
Learn to restrict notes per user in Laravel by filtering with a where clause in index, passing results to the view, and adding a middleware to enforce access to nodes.
Create a middleware in a Laravel controller's constructor to restrict note actions to the owning user, extract the note from the request, and abort with 404 when not owner.
Learn how to define Laravel relationships with Eloquent, using has many and belongs to, and see related data automatically fetched through model relations like user and notes.
Learn to seed and populate the database using factories and seeders, create multiple user records, and prep for many-to-many relationships between users and nodes.
Learn to seed a Laravel database by creating a seed file, inserting 100 notes via the DB facade, with unique titles for 12 users, tested via artisan tinker.
Add a multi-user note sharing feature in Laravel using a select input to choose recipients, excluding the current user. Save the note-user relation to persist shared notes.
Create a node_user pivot table via migration, define a belongs-to-many relation, attach users to a node, and display the shared users.
Learn to manage Laravel many-to-many relationships via pivot table handling, using detach and store validation, while auto-selecting shared users and displaying notes created by users.
Most courses online aim to be comprehensive with over 10+ hours of video lectures. This can be intimidating for someone who wants to work with Laravel for the first time. Moreover, consuming 10+ hours of videos is not easy. On most occasions, you'll simply abandon the course without ever getting to the interesting parts. I know it because I have experienced it. This is very sad because Laravel is such an easy framework to get started with Web development. I fell in love with web development after I started using Laravel.
That is why I designed this course where you'll learn Just Enough Laravel to get started with web development. We'll build an app from scratch and I'll take you through all the key features Laravel provides to build an application quickly. Some of the key objectives we are going to cover in this course are:
How to setup an environment for Laravel development
How to build your first Laravel app
How to manage tables in the database using migrations
How to access tables through Eloquent Models
Understanding the flow a Laravel application
Gain knowledge about routes and resource controller
How to implement CRUD operations
How blade works
How to implement Authentication for our app
Relationships between the models
Seeding the database and much more
This course was intentionally kept concise and by no means it is a comprehensive course but from my experience, once you get the hang of it, you will learn new and difficult concepts as you face challenges regarding them. Moreover, it is unwise to burden your brain with things that you won't need right now.