{"id":15016917,"url":"https://github.com/mahmoudmohamedramadan/backend-roadmap","last_synced_at":"2025-07-03T13:34:52.910Z","repository":{"id":114630972,"uuid":"427906001","full_name":"mahmoudmohamedramadan/Backend-Roadmap","owner":"mahmoudmohamedramadan","description":"The Backend Roadmap for PHP Laravel.","archived":false,"fork":false,"pushed_at":"2025-01-31T12:06:43.000Z","size":18,"stargazers_count":35,"open_issues_count":0,"forks_count":5,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-06-30T22:05:29.143Z","etag":null,"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"],"latest_commit_sha":null,"homepage":"","language":null,"has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/mahmoudmohamedramadan.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":["mahmoudmohamedramadan"],"patreon":"mmramadan496","buy_me_a_coffee":"mmramadan496","custom":["https://www.paypal.com/paypalme/mmramadan496"]}},"created_at":"2021-11-14T11:09:19.000Z","updated_at":"2025-06-24T15:17:10.000Z","dependencies_parsed_at":null,"dependency_job_id":"ff94e4b6-482b-482e-ba59-85cf147e0179","html_url":"https://github.com/mahmoudmohamedramadan/Backend-Roadmap","commit_stats":{"total_commits":2,"total_committers":2,"mean_commits":1.0,"dds":0.5,"last_synced_commit":"05d06796bd1c9564521c52345b1a91b0919475ca"},"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/mahmoudmohamedramadan/Backend-Roadmap","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahmoudmohamedramadan%2FBackend-Roadmap","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahmoudmohamedramadan%2FBackend-Roadmap/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahmoudmohamedramadan%2FBackend-Roadmap/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahmoudmohamedramadan%2FBackend-Roadmap/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mahmoudmohamedramadan","download_url":"https://codeload.github.com/mahmoudmohamedramadan/Backend-Roadmap/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mahmoudmohamedramadan%2FBackend-Roadmap/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263335743,"owners_count":23450920,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["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"],"created_at":"2024-09-24T19:49:33.882Z","updated_at":"2025-07-03T13:34:52.858Z","avatar_url":"https://github.com/mahmoudmohamedramadan.png","language":null,"funding_links":["https://github.com/sponsors/mahmoudmohamedramadan","https://patreon.com/mmramadan496","https://buymeacoffee.com/mmramadan496","https://www.paypal.com/paypalme/mmramadan496","https://developer.paypal.com/"],"categories":[],"sub_categories":[],"readme":"# Backend Roadmap\n\n[![TALL-Stack](https://github.com/mahmoudmohamedramadan/Backend-Roadmap/blob/main/assets/tallstack-logo.png)](https://tallstack.dev/#components)\n\n## 🧐 Introduction\n\nBefore 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.\n\nKeep 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.\n\nFinally, 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**.\n\n## 🧰 Tools\n\n- [Laravel Herd](https://herd.laravel.com/) || [Laragon](https://laragon.org/) || [Xampp](https://www.apachefriends.org/download.html)\n- [Composer](https://getcomposer.org/)\n- [VS Code](https://code.visualstudio.com/download) || [PhpStorm](https://www.jetbrains.com/phpstorm/)\n\n\u003e `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.\n\n## 🔌 Awesome Extensions\n\n### VS Code\n\n- [PHP Debug](https://marketplace.visualstudio.com/items?itemName=xdebug.php-debug)\n- [PHP Inteliphense](https://marketplace.visualstudio.com/items?itemName=bmewburn.vscode-intelephense-client)\n- [Laravel Extension Pack](https://marketplace.visualstudio.com/items?itemName=onecentlin.laravel-extension-pack)\n- [PHP Class Generator](https://marketplace.visualstudio.com/items?itemName=damianbal.vs-phpclassgen)\n- [PHP Snippets](https://marketplace.visualstudio.com/items?itemName=vsc-snippets.vsc-php-snippets)\n- [Error Lens](https://marketplace.visualstudio.com/items?itemName=usernamehw.errorlens)\n- [GitHub Copilot](https://marketplace.visualstudio.com/items?itemName=GitHub.copilot)\n- [Auto Rename Tag](https://marketplace.visualstudio.com/items?itemName=formulahendry.auto-rename-tag)\n- [File Utils](https://marketplace.visualstudio.com/items?itemName=sleistner.vscode-fileutils)\n- [change-case](https://marketplace.visualstudio.com/items?itemName=wmaurer.change-case)\n- [vscode-icons](https://marketplace.visualstudio.com/items?itemName=tal7aouy.icons)\n- [M.R Darkest Theme](https://marketplace.visualstudio.com/items?itemName=MahmoudMohamedRamadan.mr-darkest-theme)\n  \n### Chrome\n\n- [JSON Formatter](https://chromewebstore.google.com/detail/json-formatter/gpmodmeblccallcadopbcoeoejepgpnb)\n- [Fake Filler](https://chrome.google.com/webstore/detail/fake-filler/bnjjngeaknajbdcgpfkgnonkmififhfo)\n- [Blackbox](https://chrome.google.com/webstore/detail/blackbox-select-copy-past/mcgbeeipkmelnpldkobichboakdfaeon)\n\n## 🚀 Getting Started\n\n### 🐘 Beginner Level\n\n#### Basics: Elzero\n\nAt first, we will use PHP programming language as a powerful language in our journey. 🎯\n\n[Learn PHP 5 In Arabic](https://www.youtube.com/playlist?list=PLDoPjvoNmBAzH72MTPuAAaYfReraNlQgM)\n\n\u003e 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.\n\n#### OOP: Elzero\n\nNext, to excel at PHP, become a hero in Object-Oriented Programming (OOP). 🐱‍🏍\n\n[Learn Object Oriented PHP](https://youtube.com/playlist?list=PLDoPjvoNmBAxXTPncg0W4lhVS32LO_xtQ)\n\n\u003e You can watch [Object Oriented PHP Tutorial](https://m.youtube.com/playlist?list=PL0eyrZgxdwhypQiZnYXM7z7-OTkcMgGPh) as an alternative.\n\n#### Types Of Filters: Elzero\n\nThird, you must grasp essential security concepts in PHP such as `Sanitization` and preventing [`XSS`](https://portswigger.net/web-security/cross-site-scripting) attacks. 🐱‍💻\n\n[Validate vs Sanitize](https://youtu.be/uXpQSrx8aqw)\n\n#### Database: Elzero\n\nOnce you've mastered PHP, it's time to dive deeper into databases. 💾\n\n[MySQL 5 Essential Training](https://www.youtube.com/playlist?list=PLDoPjvoNmBAz6DT8SzQ1CODJTH-NIA7R9)\n\nAlso, you can go ahead and explore this list of advanced topics for an added benefit. 📚\n\n- **ACID Database**\n- **Database Normalization**\n- **Database Replication**\n- **Database Sharding**\n- **CAP Theorem**\n\n\u003e I highly recommend [Tech Vault](https://www.youtube.com/@TechVault_) for such an expert-level database.\n\n#### Payment Gateway: Traversy Media\n\nSometimes, 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. 💳\n\n[PHP, MySQL \u0026 Stripe API Payment App](https://www.youtube.com/playlist?list=PLillGF-Rfqbb8OFHzQhkEElaReewJlwca)\n\n\u003e You can see how I integrate the `Hyper Pay` payment gateway, as demonstrated in the [Delivery Management](https://github.com/mahmoudmohamedramadan/Delivery-Management) project.\n\n#### API: Traversy Media\n\nFinally, after you’ve finished `PHP` \u0026 `MySQL`, you'll need to know how to create APIs to be usable via `Android TEAM`. 🤖\n\n[PHP REST API From Scratch](https://youtube.com/playlist?list=PLillGF-RfqbZ3_Xr8do7Q2R752xYrDRAo)\n\n\u003e 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!\n\n#### GitHub: Elzero\n\nYou'll learn how to deal with `GitHub` and how to publish your awesome projects. 🐙\n\n[Learn Git and GitHub](https://youtube.com/playlist?list=PLDoPjvoNmBAw4eOj58MZPakHjaO3frVMF)\n\n\u003e You can watch the [Git and GitHub for Beginners - Crash Course](https://youtu.be/RGOj5yH7evk) as an alternative.\n\n### 🚦 Intermediate Level\n\n#### Laravel 5.x: Coder’s Tape\n\nYou'll learn many things about Laravel in an old version here. 5️⃣\n\n[Laravel 5.8 - From The Ground Up](https://www.youtube.com/playlist?list=PLpzy7FIRqpGD0kxI48v8QEVVZd744Phi4)\n\n#### Laravel 7.x: Sarthak Shrivastava\n\nYou'll learn more and more about [`Laravel`](https://laravel.com/), [`Livewire`](https://laravel-livewire.com/), and [`Tailwind CSS`](https://tailwindcss.com/). 7️⃣\n\n[Laravel 7 Basics tutorials](https://youtube.com/playlist?list=PLe30vg_FG4OSCTUv3XIkwH--cK2D7rfJJ)\n\n\u003e 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.\n\n#### Livewire: Sarthak Shrivastava\n\nYou'll learn the `Livewire` framework, that makes building dynamic interfaces simple, without leaving the comfort of Laravel. 🤯\n\n[Laravel Livewire Full Course](https://www.youtube.com/playlist?list=PLe30vg_FG4OQ8b813BDykoYz95Zc3xUWK)\n\n\u003e 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 \u0026 Examples](https://youtube.com/playlist?list=PLDoPjvoNmBAzDuaT7kEURZQbw9dQHepK9).\n\n### 🐲 Advanced Level\n\n#### Laravel 6.x: Coder’s Tape\n\nYou'll gain expertise in proficient Laravel concepts. 🏋️‍♂️\n\n[Laravel 6 Advanced](https://www.youtube.com/playlist?list=PLpzy7FIRqpGD5pN3-Y66YDtxJCYuGumFO)\n\n#### Laravel Real-time: Neil Rowe\n\nYou'll deepen your knowledge of real-time actions in Laravel. ⏱\n\n[Real-time web apps with Pusher \u0026 Laravel](https://youtu.be/l44IF9fBNOs)\n\n### 🐱‍👤 Ninja Level\n\n#### Packages: Andre Madarang || Sarthak Shrivastava\n\n- [Andre Madarang](https://www.youtube.com/playlist?list=PLEhEHUEU3x5pcQJHE8WBLqlHt2o3q5O-f)\n- [Sarthak Shrivastava](https://www.youtube.com/playlist?list=PLe30vg_FG4ORrveWqHjn-9C5sn5mUP815)\n\n\u003e 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.\n\n### 📕 Books\n\n- [Laravel Up \u0026 Running](https://laravelupandrunning.com/)\n- [Laravel Clean Coders](https://ashallendesign.co.uk/blog/the-clean-coders-guide-to-laravel-free-70-page-pdf)\n\n\u003e Discover [Laravel Digging v8](https://github.com/mahmoudmohamedramadan/Laravel-Digging-v8), a recap of the *Laravel Up \u0026 Running* book.\n\n### 📦 Awesome Repos\n\n- [Awesome PHP](https://github.com/odan/learn-php)\n- [Awesome Laravel](https://github.com/chiraggude/awesome-laravel)\n\n### 📺 Awesome YouTube Channels\n\n- [Laravel Daily](https://www.youtube.com/c/LaravelDaily)\n- [Coder's Tape](https://www.youtube.com/@CodersTape)\n- [Bitfumes](https://www.youtube.com/@Bitfumes)\n- [Laratips](https://www.youtube.com/c/Laratips)\n- [Laravel Package Tutorial](https://www.youtube.com/c/LaravelPackageTutorial)\n- [Laravel PHP](https://www.youtube.com/c/LaravelPHP)\n- [TraversyMedia](https://youtube.com/c/TraversyMedia)\n- [Tech Vault](https://www.youtube.com/@TechVault_)\n- [TheCodeholic](https://youtube.com/c/TheCodeholic)\n\n### 🌐 Awesome Websites\n\n- [Laravel Daily](https://laraveldaily.com/)\n- [Laravel News](https://laravel-news.com/)\n- [Laracasts](https://laracasts.com/)\n- [Benjamin Crozat](https://benjamincrozat.com/)\n- [Digging Code](https://www.blog.mmramadan.com/)\n- [Beginner SQL](https://beginner-sql-tutorial.com/sql-commands.htm)\n- [Guru99](https://www.guru99.com/)\n- [FullStackCafe](https://www.fullstack.cafe/)\n- [PortSwigger](https://portswigger.net/)\n- [Learn Git Branching](https://learngitbranching.js.org/)\n- [Refactoring.Guru](https://refactoring.guru/)\n- [DesignPatternsPHP](https://designpatternsphp.readthedocs.io/en/latest/index.html)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmahmoudmohamedramadan%2Fbackend-roadmap","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmahmoudmohamedramadan%2Fbackend-roadmap","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmahmoudmohamedramadan%2Fbackend-roadmap/lists"}