- Basics of Any Programming Language
- Introduction To Computer Science "The Most Recommended Course" | CS50
Here is the arabic version CS50-Arabic
- Network basics & HTTP
- Client-Server Architecture
- HTML/CSS
Here is the english one if prefer it | HTML English | CSS English
- Javascript
- UML & Modeling
First we should create the environment to start learning and applying
- Local Server | WAMP | XAMPP | Laragon
You can choose any of those servers
- IDE | PhpStorm | VS Code | Sublime
I suggest to try more than one to make sure which one you will perfer
- Dependency Manager for PHP | Composer
🙏 Now we Can Start
- Main Course | PHP | Arabic
- The PHP Practitioner | Laracasts
- Crash Course PHP
Note: This course for understanding MVC and applying small project
- PHP 8 | Laracasts
Note: This course for see updates in language
- Learn PHP The Right Way
Optional One
- Main Course | OOP | Arabic
- Object-Oriented Principles in PHP | Laracasts
This Course Focus on the main principles of oop only
- OOP Tutorials | Dani Krossing
Optional One
You must know security topics in PHP such as Sanitization and XSS
🐱💻
Sometimes you need to provide a 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
- PHP REST API From Scratch
- PHP REST API Tutorial | Step By Step
- APIs Explained | Real World Examples
After finishing tutorials, you can take a look over this Packages
- Git and GitHub for Beginners | FreeCodeCamp
- Learn Git and Github | Elzero
You should learn how to use git to manage every project you will create, note that your github is the great support of your CV
- Laravel 5.8 - From The Ground Up
Here you'll learn many things about Laravel, but in old version 5️⃣
- Laravel 7 Basics tutorials
Here you'll learn more and more about Laravel,
Livewire
, andTailwind CSS
7️⃣ - Laravel 8 From Scratch | Laracasts
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 features.
- Laravel Livewire Full Course Here you'll learn Livewire framework, that makes building dynamic interfaces simple, without leaving the comfort of Laravel 🤯
Note: 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.
I recommend to see this series of "What's New In?" all versions of Laravel to know huge amount of features, functions and updates that done by Laravel, Here is some of them
5.1
|5.2
|5.3
|5.3
|5.5
|5.6
|5.7
|5.8
|6.0
|7.0
|8.0
|9.0
- Laravel 6 Advanced
Here you'll learn very advanced topics about Laravel 🏋️♂️
-
Real-time web apps with Pusher & Laravel
Here you'll learn real-time actions in Laravel ⏱
You may love to take a glance over Laravel Websocket. After this step, I highly recommend learning Laravel via its awesome documentation.
- SOLID Principles in PHP | Laracasts
- 5 Principles of Object Oriented Design | Article
- SOLID Principles | Arabic
- SOLID Principles | LaravelDaily
- Design Patterns in OOP
- Design Patterns | Coursera
- Design Patterns | Laracasts
- Software Design Patterns | Arabic
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 private hosting, so welcome Ngrok. This awesome tool enables you to publish your project in virtual hosting.