Mohamed-Mkadem / Backend-Roadmap

The Back-End Roadmap for the PHP Laravel πŸ—ΊπŸ“Œ

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Back-End Roadmap

TALL-Stack

Introduction 🧐

Before embarking on studying any track (including Back-end) you must be familiar with a Science such as (Data Structure, Algorithms, Problem Solving) because they will help you more in your technical life and there is no interview free from questions about them. It is known also that a Back-end is considered a second phase after Fron-end (HTML, CSS, JavaScript) which is considered as the first phase So, you must be familiar with Front-end also to update any IMPORTANT urgent thing related with Front-end when you want that. FINALLY you must be familiar with Design Patterns also because you'll meet them more when you study Back-end and when you reach the Laravel framework you'll find out that the most advanced topics in Laravel is based on common design patterns such as Facade design pattern.

Prerequisites πŸ“’

Xampp and Laragon are local development tools and you can choose between them to use according to your comfort, BUT personally, I prefer to use Xampp, you can choose also between PhpStorm and VS Code according to your comfort, BUT personally, I prefer to use VS Code for simplicity and speedy and in case you choose to use VS Code I recommend you to use these useful extensions you maybe love to use my extension also, I recommend some Chrome extensions they will help you also. Composer is a dependency manager for PHP, you will need it to install, update, and remove the packages in your PHP or Laravel projects.

Awesome Extensions πŸ’‘

VS Code

  • PHP Debug
  • PHP Inteliphense
  • Laravel Extension Pack
  • Auto Rename Tag
  • Error Lens
  • PHP Class Generator
  • PHP Snippets
  • vscode-icons
  • MySQL
  • GitHub Copilot

Chrome

GitHub Copilot is a very awesome tool BUT please use it in production applications ONLY NOT while learning.

Getting Started πŸš€

Beginner Level πŸ˜‹

PHP: Elzero || Laracasts || Traversy Media

At the first, we will use PHP programming language in our backend journey as a powerful language πŸ‘‡

Apitizers

You can watch the PHP For Beginners as a optional choice after Elzero course also you can watch this tutorial

OOP: Elzero || Dani Krossing

Second, to be master at PHP you will need to be a hero in OOP (object-oriented programming) πŸ‘‡

OOP

You can watch the Object Oriented PHP Tutorial as a optional choice after Elzero course

Advanced PHP: Elzero

Third, you may need to know some advanced topics in PHP like Sanitization and XSS πŸ‘‡

Advanced PHP

Database: Elzero

After you become master in PHP you will need to know about Databases πŸ‘‡

Database

Payment Gateway: Traversy Media

Sometimes you need to provide Payment methods to your website such as (Hyper Pay, PayPal, ...etc) πŸ‘‡

Payment Gateway

You can see how I implement Hyper Pay payment gateway in Delivery-Management project

API: Traversy Media

Finally, after you’ve finished PHP & MySQL you'll need to know how to create APIs to be usable via Android TEAM πŸ‘‡

API

You can find more about PHP in Awesome PHP

GitHub: Elzero || freeCodeCamp.org

Here you will learn how to deal with GitHub and publish your awesome projects πŸ‘‡

GitHub

You can watch the Git and GitHub for Beginners - Crash Course as a optional choice after Elzero course

Intermediate Level πŸ”₯

Laravel 5.x: Coder’s Tape

Here you will learn many things but in the old Laravel version πŸ‘‡

Laravel 5.x

Laravel 7.x: Sarthak Shrivastava

Here you will learn many and many in Laravel and see new tools like Laravel-Livewire and Tailwind CSS πŸ‘‡

Laravel 7.x

Livewire: Sarthak Shrivastava

Here you will learn the Livewire framework, this framework is similar to Vue.js πŸ‘‡

Laravel Livewire

This step is optional BUT I advise you to learn that great framework as it will relieve you from AJAX problems. If you'd like to learn Vue.js you can see this tutorial, you may love to use Alpine.js also because it's a very lightweight Javascript framework

Advanced Level 😎

Laravel 6.x: Coder’s Tape

Here you will learn very advanced topics in Laravel πŸ‘‡

Advanced Laravel

Laravel Real-Time 7.x: Ahemd Emam

Here you will learn very advanced topics and real-time actions in Laravel πŸ‘‡

Laravel Realtime

You may love to take a look over Laravel-Websocket project

Ninja Level πŸ±β€πŸ‘€

Packages:

Andre Madarang || Sarthak Shrivastava here with you to will learn many useful packages in Laravel

Suppose that you want to make a project for a client, Surely you will NOT send the project to him and maybe you do NOT have private hosting, So welcome Ngrok. This awesome tool enables you to publish your project in virtual hosting

Books πŸ“•

You may want recaps for the first book so, you can see Laravel-Digging-v8

Awesome Repos πŸ†

Awesome YouTube Channels 🎦

Awesome Websites 🌐

You can found me here πŸ“©

About

The Back-End Roadmap for the PHP Laravel πŸ—ΊπŸ“Œ