https://github.com/mahmoudmohamedramadan/backend-roadmap
The Backend Roadmap for PHP Laravel.
https://github.com/mahmoudmohamedramadan/backend-roadmap
alpinejs chrome-extension composer docker laragon laravel laravel-framework laravel-livewire laravel-package laravel-sail livewire php phpstorm tailwind-css tailwindcss tall-stack vscode vscode-extension vuejs xampp
Last synced: 11 months ago
JSON representation
The Backend Roadmap for PHP Laravel.
- Host: GitHub
- URL: https://github.com/mahmoudmohamedramadan/backend-roadmap
- Owner: mahmoudmohamedramadan
- Created: 2021-11-14T11:09:19.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2025-01-31T12:06:43.000Z (over 1 year ago)
- Last Synced: 2025-06-30T22:05:29.143Z (11 months ago)
- Topics: alpinejs, chrome-extension, composer, docker, laragon, laravel, laravel-framework, laravel-livewire, laravel-package, laravel-sail, livewire, php, phpstorm, tailwind-css, tailwindcss, tall-stack, vscode, vscode-extension, vuejs, xampp
- Homepage:
- Size: 17.6 KB
- Stars: 35
- Watchers: 1
- Forks: 5
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Funding: .github/FUNDING.yml
Awesome Lists containing this project
README
# Backend Roadmap
[](https://tallstack.dev/#components)
## π§ Introduction
Before diving into any track, it's essential to first familiarize yourself with foundational **sciences** such as **Data Structures**, **Algorithms**, and **Problem-Solving**, as these will significantly benefit your technical career. No technical interview is complete without questions related to these topics. Additionally, having a solid understanding of [**Security**](https://portswigger.net/web-security/learning-path) and [**Networking**](https://www.javatpoint.com/computer-network-http) is crucial.
Keep in mind that **Back-end Development** is often considered a second phase after mastering **Front-end Development**. The first phase includes understanding the basics of [HTML](https://www.w3schools.com/html/), [CSS](https://www.w3schools.com/css/default.asp), and [JavaScript](https://www.w3schools.com/js/default.asp), so itβs perfectly fine if you're familiar with these before moving on to back-end technologies.
Finally, it's essential to get comfortable with **[Design Patterns](https://refactoring.guru/design-patterns)**. These patterns will become increasingly relevant as you study **Back-end Development**.
## π§° Tools
- [Laravel Herd](https://herd.laravel.com/) || [Laragon](https://laragon.org/) || [Xampp](https://www.apachefriends.org/download.html)
- [Composer](https://getcomposer.org/)
- [VS Code](https://code.visualstudio.com/download) || [PhpStorm](https://www.jetbrains.com/phpstorm/)
> `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`](https://laravel.com/docs/11.x/sail) and [`Docker`](https://www.docker.com/) because it allows you to work easily on any Laravel version without being obsessed with compatibility problems.
## π Awesome Extensions
### VS Code
- [PHP Debug](https://marketplace.visualstudio.com/items?itemName=xdebug.php-debug)
- [PHP Inteliphense](https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client)
- [Laravel Extension Pack](https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel-extension-pack)
- [PHP Class Generator](https://marketplace.visualstudio.com/items?itemName=damianbal.vs-phpclassgen)
- [PHP Snippets](https://marketplace.visualstudio.com/items?itemName=vsc-snippets.vsc-php-snippets)
- [Error Lens](https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens)
- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)
- [Auto Rename Tag](https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-rename-tag)
- [File Utils](https://marketplace.visualstudio.com/items?itemName=sleistner.vscode-fileutils)
- [change-case](https://marketplace.visualstudio.com/items?itemName=wmaurer.change-case)
- [vscode-icons](https://marketplace.visualstudio.com/items?itemName=tal7aouy.icons)
- [M.R Darkest Theme](https://marketplace.visualstudio.com/items?itemName=MahmoudMohamedRamadan.mr-darkest-theme)
### Chrome
- [JSON Formatter](https://chromewebstore.google.com/detail/json-formatter/gpmodmeblccallcadopbcoeoejepgpnb)
- [Fake Filler](https://chrome.google.com/webstore/detail/fake-filler/bnjjngeaknajbdcgpfkgnonkmififhfo)
- [Blackbox](https://chrome.google.com/webstore/detail/blackbox-select-copy-past/mcgbeeipkmelnpldkobichboakdfaeon)
## π Getting Started
### π Beginner Level
#### Basics: Elzero
At first, we will use PHP programming language as a powerful language in our journey. π―
[Learn PHP 5 In Arabic](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzH72MTPuAAaYfReraNlQgM)
> You can watch [PHP For Beginners](https://laracasts.com/series/php-for-beginners) or [Learn PHP The Right Way](https://youtube.com/playlist?list=PLr3d3QYzkw2xabQRUpcZ_IBk9W50M9pe-) as an alternative, and then review [PHP For Absolute Beginners](https://youtu.be/2eebptXfEvw) for a refresher.
#### OOP: Elzero
Next, to excel at PHP, become a hero in Object-Oriented Programming (OOP). π±βπ
[Learn Object Oriented PHP](https://youtube.com/playlist?list=PLDoPjvoNmBAxXTPncg0W4lhVS32LO_xtQ)
> You can watch [Object Oriented PHP Tutorial](https://m.youtube.com/playlist?list=PL0eyrZgxdwhypQiZnYXM7z7-OTkcMgGPh) as an alternative.
#### Types Of Filters: Elzero
Third, you must grasp essential security concepts in PHP such as `Sanitization` and preventing [`XSS`](https://portswigger.net/web-security/cross-site-scripting) attacks. π±βπ»
[Validate vs Sanitize](https://youtu.be/uXpQSrx8aqw)
#### Database: Elzero
Once you've mastered PHP, it's time to dive deeper into databases. πΎ
[MySQL 5 Essential Training](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz6DT8SzQ1CODJTH-NIA7R9)
Also, you can go ahead and explore this list of advanced topics for an added benefit. π
- **ACID Database**
- **Database Normalization**
- **Database Replication**
- **Database Sharding**
- **CAP Theorem**
> I highly recommend [Tech Vault](https://www.youtube.com/@TechVault_) for such an expert-level database.
#### Payment Gateway: Traversy Media
Sometimes, you may need to integrate payment gateways into your site, such as [HyperPay](https://www.hyperpay.com/), [PayPal](https://developer.paypal.com/), [Stripe](https://stripe.com/), and others. To learn how to do this, check out the next tutorial. π³
[PHP, MySQL & Stripe API Payment App](https://www.youtube.com/playlist?list=PLillGF-Rfqbb8OFHzQhkEElaReewJlwca)
> You can see how I integrate the `Hyper Pay` payment gateway, as demonstrated in the [Delivery Management](https://github.com/mahmoudmohamedramadan/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`. π€
[PHP REST API From Scratch](https://youtube.com/playlist?list=PLillGF-RfqbZ3_Xr8do7Q2R752xYrDRAo)
> After completing the PHP tutorials, you can explore its [Awesome Packages](https://github.com/odan/learn-php) for additional resources. Also, donβt forget to check out my recap in [Awesome PHP](https://github.com/mahmoudmohamedramadan/Awesome-PHP) for additional insights!
#### GitHub: Elzero
You'll learn how to deal with `GitHub` and how to publish your awesome projects. π
[Learn Git and GitHub](https://youtube.com/playlist?list=PLDoPjvoNmBAw4eOj58MZPakHjaO3frVMF)
> You can watch the [Git and GitHub for Beginners - Crash Course](https://youtu.be/RGOj5yH7evk) as an alternative.
### π¦ Intermediate Level
#### Laravel 5.x: Coderβs Tape
You'll learn many things about Laravel in an old version here. 5οΈβ£
[Laravel 5.8 - From The Ground Up](https://www.youtube.com/playlist?list=PLpzy7FIRqpGD0kxI48v8QEVVZd744Phi4)
#### Laravel 7.x: Sarthak Shrivastava
You'll learn more and more about [`Laravel`](https://laravel.com/), [`Livewire`](https://laravel-livewire.com/), and [`Tailwind CSS`](https://tailwindcss.com/). 7οΈβ£
[Laravel 7 Basics tutorials](https://youtube.com/playlist?list=PLe30vg_FG4OSCTUv3XIkwH--cK2D7rfJJ)
> You might be wondering, *"Why should I learn more than one version of Laravel? What if I focus only on the latest version?"* The answer is that learning multiple versions broadens your experience. While each new version of Laravel introduces exciting features, it can also cause you to overlook valuable functionality or concepts from older versions. By exploring different versions, you'll gain a deeper understanding of the framework's evolution, making you a more adaptable and well-rounded developer.
#### Livewire: Sarthak Shrivastava
You'll learn the `Livewire` framework, that makes building dynamic interfaces simple, without leaving the comfort of Laravel. π€―
[Laravel Livewire Full Course](https://www.youtube.com/playlist?list=PLe30vg_FG4OQ8b813BDykoYz95Zc3xUWK)
> This step is optional, but I recommend learning `Livewire`, **which helps you avoid** AJAX-related issues. **You might also want to consider** using [Alpine.js](https://alpinejs.dev/), as it's a very lightweight JavaScript framework. If you're interested in learning `Vue.js`, you can check out [Vue.js Tutorials & Examples](https://youtube.com/playlist?list=PLDoPjvoNmBAzDuaT7kEURZQbw9dQHepK9).
### π² Advanced Level
#### Laravel 6.x: Coderβs Tape
You'll gain expertise in proficient Laravel concepts. ποΈββοΈ
[Laravel 6 Advanced](https://www.youtube.com/playlist?list=PLpzy7FIRqpGD5pN3-Y66YDtxJCYuGumFO)
#### Laravel Real-time: Neil Rowe
You'll deepen your knowledge of real-time actions in Laravel. β±
[Real-time web apps with Pusher & Laravel](https://youtu.be/l44IF9fBNOs)
### π±βπ€ Ninja Level
#### Packages: Andre Madarang || Sarthak Shrivastava
- [Andre Madarang](https://www.youtube.com/playlist?list=PLEhEHUEU3x5pcQJHE8WBLqlHt2o3q5O-f)
- [Sarthak Shrivastava](https://www.youtube.com/playlist?list=PLe30vg_FG4ORrveWqHjn-9C5sn5mUP815)
> When working on a project for a client, you likely won't want to send them the raw project files directly, and you may not have a private domain or host set up yet. In such cases, I highly recommend using [Ngrok](https://ngrok.com/download). This fantastic tool lets you quickly publish your project with a secure, temporary URL, giving you virtual hosting for sharing and testing purposes.
### π Books
- [Laravel Up & Running](https://laravelupandrunning.com/)
- [Laravel Clean Coders](https://ashallendesign.co.uk/blog/the-clean-coders-guide-to-laravel-free-70-page-pdf)
> Discover [Laravel Digging v8](https://github.com/mahmoudmohamedramadan/Laravel-Digging-v8), a recap of the *Laravel Up & Running* book.
### π¦ Awesome Repos
- [Awesome PHP](https://github.com/odan/learn-php)
- [Awesome Laravel](https://github.com/chiraggude/awesome-laravel)
### πΊ Awesome YouTube Channels
- [Laravel Daily](https://www.youtube.com/c/LaravelDaily)
- [Coder's Tape](https://www.youtube.com/@CodersTape)
- [Bitfumes](https://www.youtube.com/@Bitfumes)
- [Laratips](https://www.youtube.com/c/Laratips)
- [Laravel Package Tutorial](https://www.youtube.com/c/LaravelPackageTutorial)
- [Laravel PHP](https://www.youtube.com/c/LaravelPHP)
- [TraversyMedia](https://youtube.com/c/TraversyMedia)
- [Tech Vault](https://www.youtube.com/@TechVault_)
- [TheCodeholic](https://youtube.com/c/TheCodeholic)
### π Awesome Websites
- [Laravel Daily](https://laraveldaily.com/)
- [Laravel News](https://laravel-news.com/)
- [Laracasts](https://laracasts.com/)
- [Benjamin Crozat](https://benjamincrozat.com/)
- [Digging Code](https://www.blog.mmramadan.com/)
- [Beginner SQL](https://beginner-sql-tutorial.com/sql-commands.htm)
- [Guru99](https://www.guru99.com/)
- [FullStackCafe](https://www.fullstack.cafe/)
- [PortSwigger](https://portswigger.net/)
- [Learn Git Branching](https://learngitbranching.js.org/)
- [Refactoring.Guru](https://refactoring.guru/)
- [DesignPatternsPHP](https://designpatternsphp.readthedocs.io/en/latest/index.html)