Skip to content

mahmoudmohamedramadan/Backend-Roadmap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

2 Commits
Β 
Β 
Β 
Β 

Repository files navigation

Back-end Roadmap

TALL-Stack

🧐 Introduction

Before embarking on studying any track you must be familiar with a Science such as (Data Structure, Algorithms, and Problem-Solving) because they will help you more in your technical life and there is no interview free from questions about them. In addition, you have to have a good knowledge of (Security, and Networking). It is known also that the Back-end is considered a second phase after Fron-end (HTML, CSS, JavaScript) which is considered the first phase, so it will be fine if you were familiar with Front-end. FINALLY, you must be good at Design Patterns 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 are 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, also you can choose BETWEEN PhpStorm and VS Code according to your comfort, but personally, I prefer to use VS Code for simplicity and speed, and in case you choose to use VS Code I recommend using these helpful Extensions, also I recommend using these useful Chrome Extensions. Composer is a dependency manager for PHP, you'll need it to install, update, and remove the packages in your PHP or Laravel projects. It's fine to explore Laravel with Laravel Sail and Docker because it allows you to work easily on any Laravel version without being obsessed with compatibility problems.

πŸ•Έ 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
  • M.R Darkest Theme

Chrome

GitHub Copilot is a very awesome tool, but please use it in production applications only, not while learning, but it's become paid now, so I recommend using Blackbox, but if we will compare BETWEEN them, GitHub Copilot will win.

πŸš€ Getting Started

🐘 Beginner Level

Basics: Elzero

At first, we will use PHP programming language in our Back-end journey as a powerful language 🎯

Learn PHP 5 In Arabic

You can watch PHP For Beginners or Learn PHP The Right Way as an optional choice for Elzero course, then you can watch PHP For Absolute Beginners for revision.

OOP: Elzero

Second, to be a master at PHP, you'll need to be a hero in OOP πŸ±β€πŸ

Learn Object Oriented PHP

You can watch Object Oriented PHP Tutorial as a optional choice for Elzero course.

Types Of Filters: Elzero

Third, you must know security topics in PHP such as Sanitization and XSS πŸ±β€πŸ’»

Validate vs Sanitize

Database: Elzero

After you become a master in PHP, you'll need to know more about databases πŸ—‚

MySQL 5 Essential Training

Payment Gateway: Traversy Media

Sometimes you need to provide payment gateways to your site such as (Hyper Pay, PayPal, Stripe, ...etc), so you can watch the next tutorial πŸ’³

PHP, MySQL & Stripe API Payment App

You can see how I implement the Hyper Pay payment gateway, as explained in Delivery Management.

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 πŸ™

PHP REST API From Scratch

After finishing PHP tutorials, you can take a look over its Awesome Packages, and say hello to my recap that you'll find in Awesome PHP.

GitHub: Elzero

Here you'll learn how to deal with GitHub and how to publish your awesome projects 🐱

Learn Git and GitHub

You can watch Git and GitHub for Beginners - Crash Course as an optional choice for Elzero course.

🚦 Intermediate Level

Laravel 5.x: Coder’s Tape

Here you'll learn many things about Laravel, but in an old version 5️⃣

Laravel 5.8 - From The Ground Up

Laravel 7.x: Sarthak Shrivastava

Here you'll learn more and more about Laravel, Livewire, and Tailwind CSS 7️⃣

Laravel 7 Basics tutorials

You may ask why should I learn more than one version of Laravel, what if I learn the latest version ONLY? My answer is that learning more than one version gives you more experience. In addition, every version contains its new features ONLY, and this makes you ignore the old version's features.

Livewire: Sarthak Shrivastava

Here you'll learn Livewire framework, that makes building dynamic interfaces simple, without leaving the comfort of Laravel 🀯

Laravel Livewire Full Course

This step is optional, but I recommend learning Livewire as it'll relieve you from AJAX problems, also you may like to use Alpine.js because it's a very lightweight Javascript framework. If you'd like to learn Vue.js you can watch Vue.js Tutorials & Examples.

🐲 Advanced Level

Laravel 6.x: Coder’s Tape

Here you'll learn very advanced topics in Laravel πŸ‹οΈβ€β™‚οΈ

Laravel 6 Advanced

Laravel Real-time: Neil Rowe

Here you'll learn real-time actions in Laravel ⏱

Real-time web apps with Pusher & Laravel

You may love to take a glance over Laravel Websocket. After this step, I highly recommend learning Laravel via its awesome documentation.

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

Packages: Andre Madarang || Sarthak Shrivastava

Suppose that you want to make a project for a client, surely you'll not send the project to him and maybe you do not have a private domain and hosting, so I recommend using Ngrok. This awesome tool enables you to publish your project in virtual hosting.

πŸ“• Books

Say hello to Laravel Digging v8 that recaps Laravel Up & Running book.

🀩 Awesome Repos

🎬 Awesome YouTube Channels

🌐 Awesome Websites