Introduction
  • About the Instructor and the Course
  • Taking Advantage of the Course and Contents
  • How to Ask Questions
Downloading and Installing the Tools to Develop the RESTful API with Laravel
  • Downloading and Installing PHP with XAMPP
  • Downloading and Installing Composer
  • Downloading and Installing Virtual Box
  • Downloading and Installing Vagrant
  • Downloading and Installing Sublime Text 3
  • Downloading and Installing Github Shell
  • Downloading and Installing Node and NPM
  • Downloading and Installing Postman to Test the Laravel RESTful API
Creating and Setting the Initial Structure of Laravel for the RESTful API
  • Obtaining Laravel Using Composer
  • Adding Laravel Homestead as a Dependency for The Laravel Project
  • Laravel 6 additional step
  • Preparing and Configuring Laravel Homestead
  • Adding the Virtual Domain on The System
  • Using Vagrant to Manage the Laravel Homestead Virtual Machine
  • Exercise Find out how to go out from the Virtual Machine
  • Keep The Laravel Project Updated
Configuring and Using Sublime Text 3 to Develop the RESTful API with Laravel
  • Installing the Package Control
  • Creating and Using Projects
  • Installing and Using SublimeCodeIntel to Resolve Laravel and RESTful API classes
  • Installing and Using SideBarEnhancement
  • Installing and Using SublimeLinter for PHP
  • Installing and Using PHPCompanion to Auto-import Laravel Definitions
Understanding the Case Study for the RESTful API
  • Understanding the RESTful API Resources (Models) and its Relationships
  • Understanding the Main End-Points for the RESTful API
Discovering and Configuring the Laravel Structure for the RESTful API
  • Discovering the Laravel Structure
  • Discovering the Laravel PHP Artisan Commands
  • Configuring the Laravel Environment Variables
  • Understanding the Laravel Routes System for RESTful APIs
Creating the Initial Laravel Components for the RESTful API
  • How to Solve Common Errors During the Development of the RESTful API
  • Creating Initial Laravel Structures for The Models and Its Migrations
  • Creating an Initial Laravel Structure for The Controllers
  • Creating Some End-Point for the RESTful API Using Laravel Resource Routes
Implementing the RESTful API Models and its Relationships using Laravel Eloquent
  • Implementing The Properties for Category
  • Implementing The Properties for Product
  • Implementing The Properties for Transaction
  • Implementing The Properties for User
  • Implementing The Relationships Between Models
Creating the Database Structure Using Migrations from Laravel
  • Solving a Common Issue with the Laravel Migrations
  • Implementing The Migration for Users
  • Implementing The Migration for Categories
  • Implementing The Migration for Products
  • Implementing The Migration for Transactions
  • Creating the Migration for The Pivot Table
Creating the Laravel Factories for Database Seeding
  • Creating The Laravel Factory for User
  • Creating The Factory for Category
  • Creating The Factory for Product
  • Creating The Factory for Transaction
  • Using The Factories from The DatabaseSeeder of Laravel
  • Executing The Migrations and Seeder using Artisan from Laravel
Implementing the Operations for UserController
  • Implementing The Index Method for UserController
  • Implementing The Show Method for UserController
  • Implementing The Store Method for UserController
  • Implementing The Update Method for UserController
  • Implementing The Destroy Method for UserController
Implementing the operations for Buyer
  • Implementing The Index Method for BuyerController
  • Implementing The Show Method for BuyerController
Implementing the operations for Seller
  • Implementing The Index Method for SellerController
  • Implementing The Show Method for SellerController
Improving the current RESTful API operations
  • Defining Mutators and Accessor for Models
  • Generalizing The Response Methods
  • Using The Generalized Methods
  • Using The Generalized Methods for Error Responses
Handling Errors and Exceptions with the Laravel Handler
  • Returning Validation Errors as a JSON Response
  • Returning Model Not Found Errors as a JSON Response
  • Handling AuthenticationException
  • Handling AuthorizationException
  • Handling NotFoundHttpException
  • Handling MethodNotAllowedHttpException
  • Handling General HttpException
  • Catching Exceptions When Removing Related Resources
  • Handling Unexpected Exceptions
Implicit Model Binding with Routes and Methods
  • Using The Laravel Implicit Model Binding for Some Methods
  • Resolving Buyer Using Laravel Global Scopes
  • Resolving Seller Using Laravel Global Scopes
Implementing Soft Deleting for All the Models
  • Modifying the Migrations for Soft Deleting
  • Using soft Deleting for All the Models
Implementing the Operations for Category
  • Implementing the Index Method for CategoryController
  • Implementing the Show Method for CategoryController
  • Implementing the Store Method for CategoryController