Laravel Learning Path
This repository contains the ordered list of Laravel topics to learn, step-by-step, with related links.
If you want to add a topic, link, or any other suggestion, please open Issues or Pull Requests.
Notice 1: The same table below is also available as a database, so you would be able to transform it to any other format you want - PDF, chart, etc. See file roadmap.sql
Notice 2: This content was filled into an adminpanel generated with our QuickAdminPanel - here's a video demo of that process on Youtube. By purchasing QuickAdminPanel, you support my free initiatives, like this Roadmap.
Beginner Level
Create your very first simple Laravel project
Topic | Learning Links ( |
---|---|
Routing and Controllers: Basics | |
Callback Functions and Route::view() | |
Routing to a Single Controller Method | |
Route Parameters | |
Route Naming | |
Route Groups | |
Blade Basics | |
Displaying Variables in Blade | |
Blade If-Else and Loop Structures | |
Layout: @include, @extends, @section, @yield | |
Blade Components | |
Auth Basics | |
Starter Kits: Breeze (Tailwind) or Laravel UI (Bootstrap) | |
Default Auth Model and Access its Fields from Anywhere | |
Check Auth in Controller / Blade | |
Auth Middleware | |
Database Basics | |
Database Migrations | |
Basic Eloquent Model and MVC: Controller -> Model -> View | |
Eloquent Relationships: belongsTo / hasMany / belongsToMany | |
Eager Loading and N+1 Query Problem | |
Full Simple CRUD | |
Route Resource and Resourceful Controllers | |
Forms, Validation and Form Requests | |
File Uploads and Storage Folder Basics | |
Table Pagination |
Advanced Beginner Level
The goal of this level is to find the first job or freelance gig
Topic | Learning Links ( |
---|---|
Routing Advanced | |
Route Model Binding | |
Route Redirect | |
Middleware | |
Create Custom Middleware Class | |
Database Advanced | |
Database Seeders and Factories | |
Eloquent Query Scopes | |
Polymorphic relationships | |
Eloquent Accessors and Mutators | |
Eloquent Collections | |
Soft Deletes | |
Auth Advanced | |
Authorization: Roles/Permissions, Gates, Policies | |
Authorization: Extra Packages - Spatie Permission, Bouncer, etc | |
Authentication: Email Verification | |
File Uploads Advanced | |
Drivers and Disks, Example of Amazon S3 | |
Extra Packages: Spatie Medialibrary, Intervention Image, etc | |
API Basics | |
API Routes and Controllers | |
Working with API Clients: Postman or Alternatives | |
API Eloquent Resources | |
API Auth with Sanctum | |
API Error Handling and Status Codes | |
Debugging Errors | |
Log Files in Laravel | |
Try-Catch and Laravel Exceptions | |
Local Debugging Tools: Debugbar, Telescope, Ray | |
Customizing Error Pages and Messages | |
(optional) Third Party Bug Trackers: Bugsnag, Flare, Sentry, Rollbar | |
Sending Email | |
Mailables and Mail Facade | |
Configure Drivers/Services: Mailgun, Mailtrap, etc | |
Notifications System: Email, SMS, Slack, etc. | |
Automated Testing with PHPUnit | |
"Smoke" Tests to Check if Pages are Loading | |
Configure Testing Database and Test CRUD Operations | |
Deployment and Version Control | |
Git Version Control | |
Deployment on Live Servers |
Mid Level
Master all Laravel features with 3-5 years of practical experience
(TO BE DONE LATER) Senior Level
Topic | Learning Links ( |
---|