Backend-Roadmap
Backend-Roadmap copied to clipboard
The Back-end Roadmap for PHP and Laravel.
Back-end Roadmap
π§ 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
XamppandLaragonare local development tools and you can choose BETWEEN them to use according to your comfort, but personally, I prefer to useXampp, also you can choose BETWEENPhpStormandVS Codeaccording to your comfort, but personally, I prefer to useVS Codefor simplicity and speed, and in case you choose to useVS CodeI recommend using these helpful Extensions, also I recommend using these useful Chrome Extensions.Composeris 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 withLaravel SailandDockerbecause 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 Copilotis 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 Copilotwill win.
π Getting Started
π Beginner Level
Basics: Elzero
At first, we will use PHP programming language in our Back-end journey as a powerful language π―
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 π±βπ
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 π±βπ»
Database: Elzero
After you become a master in PHP, you'll need to know more about databases π
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 Paypayment 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 π
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 π±
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οΈβ£
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 π€―
This step is optional, but I recommend learning
Livewireas 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 learnVue.jsyou can watch Vue.js Tutorials & Examples.
π² Advanced Level
Laravel 6.x: Coderβs Tape
Here you'll learn very advanced topics in Laravel ποΈββοΈ
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 & Runningbook.
