Laravel API Development | MVCS + Repository Pattern | Laravel Backend Course

preview_player
Показать описание
Laravel – Advanced CRUID API Course | MVCS & Repository Pattern | Backend Developer Complete Course

Hello and Welcome back to another AHT Cloud training series.

Today, we will learn how to build highly scalable, top performance custom APIs using Laravel Framework. I will be covering all topics and provide you with an advanced architecture that you can use for all your future projects.

Before we get started, don’t forget to subscribe to my channel to stay up to date with all my latest training videos.

Course Requirements
In this course, I expect that you have some basic knowledge in Laravel. You should be comfortable creating and running Laravel projects and setting up your local database. If you don’t know how to set up your local environment, I recommend you watch my previous video “Laravel Tutorial – Laravel Setup Windows 10 Vagrant Homestead Orcale VM VirtualBox” first. Link is in the description.
In addition, I will be using the following additional tools:
• HeidiSQL – Free Windows Database GUI tool
• Postman – Free Cross-platform to make HTTP Requests
• Visual Studio Code – Code Editor
I added the installation URLs for those in the description.

The first part, I will be briefly explained what MVC is, MVCS and The Repository Pattern. Then, we will learn how to build highly scalable CRUID APIs using the MVCS and Repository design pattern.

If you don’t know what those are, don’t worry as we will cover it all in depth. It’s also worth mentioning that we will not be using Eloquent. You can easily use it if you like, it will save you some time. But our goal here is to deliver top performance APIs so we will be using raw SQL. After learning how to do it custom, you can easily use Eloquent with the same structure and design pattern.

Follow us

Chapters
0:00 Introduction
0:23 Course Requirements
0:48 Overview
1:43 MVC (Model View Controller)
2:53 MVCS (Model View Controller Service)
3:43 Repository Pattern
6:08 Demo
11:07 Local Environment Setup
13:05 New Laravel Project
19:50 Database Design & Migrations
33:37 Install/Reset Scripts
43:11 Sanctum API Authentication
1:15:58 Students Module
2:05:05 Courses Module
2:16:47 Enrollments Module
2:37:02 The End :
Рекомендации по теме
Комментарии
Автор

Underrated Channel... looking forward for more advance laravel api tutorial, and anything about laravel, tysm it is really helpful for me!

mamlzy
Автор

Great Job Emad!! I saw your videos and they are very educational

sazaamout
Автор

just completed the course!, i hope u can make about laravel backend with more feature, such as search, filter and more... tysm!

mamlzy
Автор

Hey Emad you are awesome, please guide why you are using master seed instead of Faker or Seeder. You have best options to store data into data using Faker as Well as Seeding. Thanks in advance

wariszargar
Автор

where did u learn this? any learning resources you can recommend?

chris-zlrr
Автор

Why not use laravel requests to validate input, for example in this case why not create StudentRequest and use it instead of Request?? Any advantage following your style over it?

saroj_shrestha
Автор

In case someone runs into this as I did 'Not able to execute a .sh file: /bin/bash^M: bad interpreter', when running .sh . I found out that you have to convert the 'sh' script to Unix style first with 'dos2unix'.

apouw
Автор

how much faster is this way of design?

targetx
Автор

nice but why are you not using seeders?

cyrus
Автор

why not use DB raw SQL statement in the service class?

targetx
Автор

why we need to make the request into array first than validate it ? why we dont just use request ?

daverussell
Автор

It was working up to the end of the video. I don't know why it behaves like this, each endpoint I try to access, throws the following Target class does not exist. in file on line 877

bernardchisumo
Автор

error zsh: permission denied: ./scripts/install.sh

bernardchisumo
Автор

For everyone who has the problem where one can add more students than the capacity of a course, the problem is located in CoursesRepository, in $selectColumns, he forgot to add AS totalStudentsEnrolled when counting the number of enrolled students.

So it should be: (SELECT COUNT(*)
FROM students_courses_enrollments
WHERE = courses_id
AND IS NULL

) AS totalStudentsEnrolled

catalinul
visit shbcf.ru