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.
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 (complete)
📖 Route Model Binding 🎬 Laravel Route Model Binding: All You Need To Know
Route Redirect (complete)
📖 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.
Master all Laravel features with 3-5 years of practical experience
Link icons: 📖 Official Docs 🎬 Video 📄 Article 🔠 Course
Responsibility for architecture decisions on large projects
Link icons: 📖 Official Docs 🎬 Video 📄 Article 🔠 Course