List of Laravel topics to learn, step-by-step, with related links.


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() Official Docs: Basic Routing
Official Docs: View Routes
Routing to a Single Controller Method Official Docs: Basic Controllers with Routes
Route Parameters Official Docs: Route Parameters
Blade Basics
Displaying Variables in Blade Official Docs: Blade: Displaying Data
Blade If-Else and Loop Structures Official Docs: Blade: If-Statements
Official Docs: Blade Loops
Layout: @include, @extends, @section, @yield Official Docs: Blade: Layout Using Template Inheritance
Auth Basics
Starter Kits: Breeze (Tailwind) or Laravel UI (Bootstrap) Official Docs: Laravel Breeze Official Documentation
Official Docs: Laravel UI: Official Github Page
Default Auth Model and Access its Fields from Anywhere Official Docs: Retrieving the Authenticated User
Check Auth in Controller / Blade Official Docs: Determining If The Current User Is Authenticated
Official Docs: Blade: Authentication Directives
Database Basics
Database Migrations Official Docs: Database Migrations
Basic Eloquent Model and MVC: Controller -> Model -> View Official Docs: Eloquent: Getting Started
Eloquent Relationships: belongsTo / hasMany / belongsToMany Official Docs: Eloquent Relationships: One-to-Many
Official Docs: Eloquent Relationships: BelongsTo
Official Docs: Eloquent Relationships: Many-to-Many
Eager Loading and N+1 Query Problem Official Docs: Relationships: Eager Loading
Full Simple CRUD
Route Resource and Resourceful Controllers Official Docs: Laravel Resource Controllers
Article: Simple Laravel CRUD with Resource Controllers []
Forms, Validation and Form Requests Official Docs: Laravel Validation
File Uploads and Storage Folder Basics Official Docs: Filesystem: File Uploads
Table Pagination Official Docs: Database Pagination

Advanced Beginner Level

The goal of this level is to find the first job or freelance gig

Topic Learning Links
Routing Advanced
Route Naming Official Docs: Names Routes
Route Groups Official Docs: Route Groups
Route Model Binding Official Docs: Route Model Binding
Route Redirect Official Docs: Redirect Routes
How default Middleware works like "Auth" Official Docs: Protecting Routes
Create Custom Middleware Class Official Docs: Defining Middleware
Database Advanced
Database Seeders and Factories Official Docs: Database: Seeding
Official Docs: Defining Model Factories
Eloquent Query Scopes Official Docs: Eloquent: Query Scopes
Polymorphic relationships Official Docs: Polymorphic Relationships
Eloquent Accessors and Mutators Official Docs: Accessors & Mutators
Eloquent Collections Official Docs: Eloquent Collections
Official Docs: General Laravel Collections
Auth Advanced
Authorization: Roles/Permissions, Gates, Policies Official Docs: Authorization
Video: Laravel Roles and Permissions: All CORE Things You Need To Know
Authorization: Extra Packages - Spatie Permission, Bouncer, etc Video: Spatie Laravel Permission: Example Project Review
Article: Two Best Laravel Packages to Manage Roles/Permissions
Official Docs: spatie/laravel-permission
Official Docs: JosephSilber/bouncer
Authentication: Email Verification Official Docs: Email Verification
File Uploads Advanced
Drivers and Disks, Example of Amazon S3 Official Docs: File Storage
Video: Laravel: How to Upload Files to Amazon S3
Extra Packages: Spatie Medialibrary, Intervention Image, etc Official Docs: spatie/laravel-medialibrary
Official Docs: intervention/image
API Basics
API Routes and Controllers Official Docs: API Resource Routes
Official Docs: Default Route Files
API Eloquent Resources Official Docs: Eloquent: API Resources
API Auth with Sanctum Official Docs: Laravel Sanctum
Debugging Errors
Log Files in Laravel Official Docs: Logging
Try-Catch and Laravel Exceptions Official Docs: Error Handling
Video: Exceptions in Laravel: Why/How to Use and Create Your Own
Local Debugging Tools: Debugbar, Telescope, Ray Official Docs: barryvdh/laravel-debugbar
Official Docs: Laravel Telescope
Official Docs: Spatie Ray (Premium Tool)
Video: Debug Eloquent Queries from API: Laravel Telescope
Video: Spatie Ray: Laravel Debugging with Pleasure
Customizing Error Pages and Messages Official Docs: Custom HTTP Error Pages
Video: Laravel Error Pages: Change Text or Customize Layouts
(optional) Third Party Bug Trackers: Bugsnag, Flare, Sentry, Rollbar Official Docs: Bugsnag Laravel
Official Docs: Flare Homepage
Official Docs: Sentry Laravel
Official Docs: Rollbar Laravel
Video: Bug Tracking in Laravel: Bugsnag vs Flare [Demo/Review]
Sending Email
Mailables and Mail Facade Official Docs: Mail & Mailables
Configure Drivers/Services: Mailgun, Mailtrap, etc Article: How to Send Email From Laravel, and Why We Need 3rd Party Providers For It
Official Docs: Mail: Drivers Prerequisites
Notifications System: Email, SMS, Slack, etc. Official Docs: Notifications
Automated Testing with PHPUnit
"Smoke" Tests to Check if Pages are Loading Official Docs: Testing: Getting Started
Course: Laravel: PHPUnit Testing for Beginners
Configure Testing Database and Test CRUD Operations Official Docs: Database Testing
Deployment and Version Control
Git Version Control Official Docs: Git
Video: Git in Laravel. Part 1 - Branches: Main, Develop and Feature
Deployment on Live Servers Official Docs: Deployment
Article: How to Deploy Laravel Projects to Live Server: The Ultimate Guide
Article: What Server is Needed to Deploy Laravel Projects
Video: How we Deploy Laravel: Branches, Staging Servers, Forge and Envoyer


Topic Learning Links
(optional) Starter Kits: Laravel Jetstream and Fortify
Events and Listeners
Routing Extra Features
Route Caching
Rate Limiting
Various Extra Features
Invokable controllers
Blade Extra Features
Blade Components
Custom Blade Directives
API Advanced
Front-end Basics: Vue.js or Similar Alternative
Jobs and Queues

(TO BE DONE LATER) Senior Level

Topic Learning Links
  • Better readability

    Better readability

    Thanks for your hard work! You've asked for feedback on Twitter, so here we go.

    In my opionion this way is much more structured and readable in both, code and frontend. Just edited the first table.

    opened by NickSdot 10
  • How to implement design patterns in Laravel?

    How to implement design patterns in Laravel?

    First of all, Thanks for providing roadmap for a laravel developer. It's one of the best available on the internet.

    In the Senior Level Skills, there are design patterns. It's a great source to learn design patterns.

    Is there a source for "how to implement these design patterns in Laravel? "

    opened by amitleuva1987 4
  • New video resource for 'Middleware' topic from Laravel Daily yt channel!

    New video resource for 'Middleware' topic from Laravel Daily yt channel!

    Hi! I'm in the advanced beginner level of the roadmap. I think these video resources should be enlisted in the Middleware part. That might help others... and hopefully all of those videos are from LaravelDaily YouTube channel! image

    Video Resources on Laravel Middleware:


    Thanks, Have a great day!


    opened by alnahian2003 2
  • Wrong linking of 'Defining Model Factories' to Laravel official documentation

    Wrong linking of 'Defining Model Factories' to Laravel official documentation

    Hi there, image I think in the Advanced Beginner Level, 'Defining Model Factories' link should be this one: , and not the existing one!

    Because the current link leads to the Database Testing related documentation, which is literally irrelevant here.

    Have a tremendous day!

    opened by alnahian2003 2
  • Please move the emoji legend/key out of the Column Header

    Please move the emoji legend/key out of the Column Header

    When the header of a column in a Markdown table gets converted to HTML , that header becomes the semantic column header for that column in the HTML table. This is usually a good thing. One side effect of this is that screenreaders will, when encountering a cell in that column, helpfully read the column header again before the cell contents. This is done because a blind/VI computer user can only see one thing at a time, and it makes it easier to associate the cell with it's column and/or row headers. Again, this is usually a good thing. In this table however, the column header is several lines long, with a lot of info. This means that the text Learning Links(Open Book Official Docs ClapperBoard Video PageFacingUp Article InputLatinUppercase Course) is prepended to every cell contents when the cell is encountered. This is, euphemistically said, extremely annoying :) Love the resource, don't love the time I'm losing by this little glitch. Could you move the emoji guide out of the table, or would you accept a pull request doing this? :) Thanks for reading in any case.

    opened by zersiax 2
  • Remove roadmap.sql to facilitate contributions?

    Remove roadmap.sql to facilitate contributions?

    Love the idea behind this project.

    I have a small suggestion. I think contributing to (and maintaining) this project would be easier / less error-prone if there was a "single source of truth" for the data. For example, roadmap.sql could be replaced with a script that generates the appropriate SQL based on the contents of Then, a potential contributor would only need to submit a PR with their modifications to, and wouldn't have to worry about making the corresponding modifications to roadmap.sql.

    Also, instead of SQL might it be preferable for the script to generate JSON or some other generic format? I suppose it depends on the intended audience for this repo, but might be worth considering.

    opened by devnll 2
  • Fix missing links.

    Fix missing links.

    Closes #22 caused by PR #21. Removed the hardcoded Laravel version paths from the docs URLs, it'll redirect to the latest Laravel version's documentation.

    opened by Esirei 1
Laravel Daily
Team of Laravel developers with experience since 2014.
Laravel Daily
A personal repo where I'll upload code that I write while learning laravel

Learning Laravel All of the knowledge has been gained from this Tutorial -> The best tutorial ever! Preparation Choose an IDE to code in, I personally

Lanoow 0 Oct 8, 2022
Ladumor Laravel Swagger help to setup swagger in your application easily

Laravel Swagger Installation Install the package by the following command, composer require ladumor/laravel-swagger Add Provider Add the provider to

Shailesh Ladumor 23 Jun 17, 2022
Advance features / Topics related to Laravel

Laravel Advance Topics Notes Includes : v1.0.0 - Service Container v1.1.0 - View Composer v1.2.0 - Polymorphic Relationships v1.3.0 - Custom Facade Im

Aadhar Gaur 1 Jan 16, 2022
Laravel 2-Step Verification is a package to add 2-Step user authentication to any Laravel project easily.

Laravel 2-Step verification is a package to add 2-Step user authentication to any Laravel project easily. It is configurable and customizable. It uses notifications to send the user an email with a 4-digit verification code. Laravel 2-Step Authentication Verification for Laravel. Can be used in out the box with Laravel's authentication scaffolding or integrated into other projects.

Jeremy Kenedy 204 Dec 23, 2022
A plain-language, step-by-step guide for the computer novice to build their own cloud.

This is a plain-language, step-by-step guide for the computer novice wanting to build their own cloud, looking to declare independence from Google and its ilk, to save on monthly hosting fees, or just learn a new skill.

Paul Knight 25 Nov 19, 2022
Multi-process coroutine edition Swoole spider !! Learn about Swoole's network programming and the use of its related APIs

swoole_spider php bin/spider // Just do it !! Cache use Swoole\Table; use App\Table\Cache; $table = new Table(1<<20); // capacity size $table->column

null 3 Apr 22, 2021

About Laravel Laravel is a web application framework with expressive, elegant syntax. We believe development must be an enjoyable and creative experie

null 3 Dec 15, 2022
A curated list of awesome Laravel bookmarks, packages, tools, articles, tutorials and related resources.

ATTENTION: This list is obsolete and discontinued. Please find a much more comprehensive, much more well-maintained awesome-laravel list at chiraggude

Unnawut Leepaisalsuwanna 96 Aug 5, 2022
🧙‍♀️ Arcanist takes the pain out of building multi-step form wizards in Laravel.

Installation Arcanist requires PHP 8 and Laravel 8. composer require laravel-arcanist/arcanist Documentation You can find the full documentation here

Arcanist 378 Jan 3, 2023
Xdebug — Step Debugger and Debugging Aid for PHP

Xdebug Xdebug is a debugging tool for PHP. It provides step-debugging and a whole range of development aids, such as stack traces, a code profiler, fe

Xdebug 2.8k Jan 3, 2023
🔪 WordPress + React Starter Kit: Spin up a WordPress-powered React app in one step

Postlight's Headless WordPress + React Starter Kit is an automated toolset that will spin up three things: A WordPress backend that serves its data vi

Postlight 4.3k Jan 8, 2023
Kind of a step-debugger for your Abstract Syntrax Tree

PHP AST Inspector This package offers a command-line utility for parsing a PHP script and navigating the resulting Abstract Syntax Tree (AST), showing

Matthias Noback 61 Dec 1, 2022
Stepup Middleware - This component is part of "Step-up Authentication as-a Service".

Step-up Middleware This component is part of "Step-up Authentication as-a Service". See Stepup-Deploy for an overview and installation instructions fo

OpenConext 4 Nov 2, 2022
A simple Laravel package for generating download links with options such as expire time, IP restrictions, etc.

Generate download links in your Laravel applications This package allows you to generate download links for files. Once installed you can do stuff lik

Arman Ahmadi 12 Nov 24, 2022
Links statistics & link tracking for laravel 5, It tracks down browsers, operating systems, languages and more

Links Links statistics for laravel 5 Table Of Contents Installation Configuration Usage Installation To install charts use composer Download composer

Erik C. Forés 52 Jul 31, 2021
Optional package for Laravel to generate social share links.

Laravel Share Share links exist on almost every page in every project, creating the code for these share links over and over again can be a pain in th

Joren Van Hocht 466 Dec 21, 2022
There is no better way to learn than by watching other developers code live. Find out who is streaming next in the Laravel world.

Larastreamers This is the repository of It shows you who is live coding next in the Laravel world. Installation Steps clone

Christoph Rumpel 201 Nov 24, 2022
Laravel Learn Manage System (LMS)

Basement LMS A criação da LMS vai dar ênfase em uma facilidade maior para que outros desenvolvedores Laravel entendam como é a modelagem de tudo. Essa

Daniel Reis 92 Nov 9, 2022