Giter Site home page Giter Site logo

laravel-roadmap-learning-path's Introduction

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: 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


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 [digitalocean.com]
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
Middleware
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

(WORK IN PROGRESS) Mid Level

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

laravel-roadmap-learning-path's People

Contributors

povilaskorop avatar

Watchers

James Cloos avatar Fabio Augusto Marques Paula avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.