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
Link icons: π Official Docs π¬ Video π Article π Course
Beginner Demo-Project: Personal Blog
To achieve this Beginner level, you would need to practice by creating something like this personal blog project .
Inside of the repository above, you will find all the details of the task, with a few example solutions.
Advanced Beginner Level
The goal of this level is to find the first job or freelance gig
Link icons: π Official Docs π¬ Video π Article π Course
Topic
Learning Links
Routing Advanced
Route Model Binding
π Route Model Binding π¬ Laravel Route Model Binding: All You Need To Know
Route Redirect
π Redirect Routes
Middleware
Create Custom Middleware Class
π Defining Middleware
Database Advanced
Database Seeders and Factories
π Database: Seeding π Defining Model Factories
Eloquent Query Scopes
π Eloquent: Query Scopes
Polymorphic relationships
π Polymorphic Relationships
Eloquent Accessors and Mutators
π Accessors & Mutators
Eloquent Collections
π Eloquent Collections π General Laravel Collections
Soft Deletes
π Soft Deleting
Auth Advanced
Authorization: Roles/Permissions, Gates, Policies
π Authorization π¬ Laravel Roles and Permissions: All CORE Things You Need To Know
Authorization: Extra Packages - Spatie Permission, Bouncer, etc
π¬ Spatie Laravel Permission: Example Project Review π Two Best Laravel Packages to Manage Roles/Permissions π spatie/laravel-permission π JosephSilber/bouncer
Authentication: Email Verification
π Email Verification
File Uploads Advanced
π File Uploads in Laravel
Drivers and Disks, Example of Amazon S3
π File Storage π¬ Laravel: How to Upload Files to Amazon S3
Extra Packages: Spatie Medialibrary, Intervention Image, etc
π spatie/laravel-medialibrary π intervention/image
API Basics
π How to Create Laravel API
API Routes and Controllers
π API Resource Routes π Default Route Files
Working with API Clients: Postman or Alternatives
π Postman API Client
API Eloquent Resources
π Eloquent: API Resources
API Auth with Sanctum
π Laravel Sanctum
API Error Handling and Status Codes
π¬ Laravel API 404 Error: Customize Exception Message π HTTP Status Codes
Debugging Errors
Log Files in Laravel
π Logging
Try-Catch and Laravel Exceptions
π Error Handling π¬ Exceptions in Laravel: Why/How to Use and Create Your Own
Local Debugging Tools: Debugbar, Telescope, Ray
π barryvdh/laravel-debugbar π Laravel Telescope π Spatie Ray (Premium Tool) π¬ Debug Eloquent Queries from API: Laravel Telescope π¬ Spatie Ray: Laravel Debugging with Pleasure
Customizing Error Pages and Messages
π Custom HTTP Error Pages π¬ Laravel Error Pages: Change Text or Customize Layouts
(optional) Third Party Bug Trackers: Bugsnag, Flare, Sentry, Rollbar
π Bugsnag Laravel π Flare Homepage π Sentry Laravel π Rollbar Laravel π¬ Bug Tracking in Laravel: Bugsnag vs Flare [Demo/Review]
Sending Email
Mailables and Mail Facade
π Mail & Mailables
Configure Drivers/Services: Mailgun, Mailtrap, etc
π How to Send Email From Laravel, and Why We Need 3rd Party Providers For It π Mail: Drivers Prerequisites
Notifications System: Email, SMS, Slack, etc.
π Notifications
Automated Testing with PHPUnit
"Smoke" Tests to Check if Pages are Loading
π Testing: Getting Started π Laravel: PHPUnit Testing for Beginners
Configure Testing Database and Test CRUD Operations
π Database Testing
Deployment and Version Control
Git Version Control
π Git π¬ Git in Laravel. Part 1 - Branches: Main, Develop and Feature
Deployment on Live Servers
π Deployment π How to Deploy Laravel Projects to Live Server: The Ultimate Guide π What Server is Needed to Deploy Laravel Projects π¬ How we Deploy Laravel: Branches, Staging Servers, Forge and Envoyer
Advanced Beginner Demo-Project: Simple CRM
To achieve this Advanced Beginner level, you would need to practice by creating something like this simple CRM project .
Inside of the repository above, you will find all the details of the task, with an example solution.
Mid Level
Master all Laravel features with 3-5 years of practical experience
Link icons: π Official Docs π¬ Video π Article π Course
Senior Level
Responsibility for architecture decisions on large projects
Link icons: π Official Docs π¬ Video π Article π Course