Fullstack Laravel Api Development With Nuxt And Linux - 2020

Posted By: ELK1nG

Fullstack Laravel Api Development With Nuxt And Linux - 2020
Last updated 4/2020
MP4 | Video: h264, 1280x720 | Audio: AAC, 44.1 KHz
Language: English | Size: 7.50 GB | Duration: 18h 47m

Become a Fullstack Laravel Engineer by developing a Dribbble Clone, Provisioning a server and Deploying with SSL

What you'll learn
Learn how to develop API-driven applications with Laravel and MySQL.
Learn the Repository Architectural Pattern ready for Enterprise level development.
How to handle image uploads to Amazon s3 and to your server.
Learn how to implement client-side applications with Nuxtjs with Authentication
How to acquire and completely provision a Linux Server for both Laravel API and Nuxt Client
How to add SSL Certificate Security to your own Linux Server
Implement Geographic Search (Location Based) in MySQL
Requirements
Knowledge of Laravel and PHP will be very useful
Working knowledge of Vuejs for client-side applications will be helpful
Any experience with Linux will be useful but not required
Description
NOTE: WE ARE STILL WORKING ON UPDATING THIS COURSE TO THE CURRENT VERSIONS OF LARAVEL. THE COURSE IS STILL BASED ON LARAVEL 6.0, SO THERE IS WORK IN PROGRESS TO UPDATE IT.Take your PHP Laravel skills to the NEXT LEVEL with this hands-on, real-world project on developing a clone of Dribbble. The entire course is focused on the development of this single application, which gives you explanation of various concepts usually overlooked by most Laravel developers. Here's what you will learn:Repository Pattern: Learn how to organize your code in repositories and contracts, which will make you ready to develop enterprise-grade applications with Laravel.API Authentication management: Everything is API-driven. Learn how to authenticate users using JWT, as well as account confirmation and password recovery. These are foundations to any data-driven application.Geo-search in MySQL: You see search based on user location in many applications - real-estate, food delivery etc. In this course you will learn how to implement location-based search in Laravel and MySQL.Working with Policies and Authorzation: Learn how to authorize actions in your Laravel application using Policies.Image Upload and Server-side resizing: You will learn how to upload images to your local server and to Amazon s3, as well as how to resize / crop images on the server before saving to either Amazon s3 or Local server.Implement Teams: Learn how to implement teams in your application without using a third-party package. Build your own team management from scratch.Chat Messaging - learn how to implement a basic but very effective chat messaging systemConfiguring NuxtJS for client siteUsing GoogleMap API for location autocomplete in Nuxt / VueBuying and provisioning a web server from scratch - without using any third party tool like Laravel ForgeAcquiring and setting up a domain nameConfiguring both API and Nuxt Client using NginxUsing a Nodejs process manager to run the client appAcquiring and installing a free SSL Certificate on your server.

Overview

Section 1: Getting Started

Lecture 1 Introduction

Lecture 2 What we will develop and How the course is structured

Lecture 3 Making the most out of this course

Lecture 4 Setting up Laravel on Mac (using Laravel Valet and MySQL)

Lecture 5 Setting up Laravel on Windows (WAMP and Virtual Host)

Section 2: Setting up the New Laravel Project

Lecture 6 Complete source code

Lecture 7 Creating and configuring a Laravel Project

Lecture 8 Setup POSTMAN

Lecture 9 Setup Database Connection

Lecture 10 SMTP Setting

Section 3: Authenticating API users in Laravel with JWT

Lecture 11 Setting up JWT Authentication

Lecture 12 User Registration I: Setting up the registration fields

Lecture 13 User Registration II: Registering the user

Lecture 14 Email Verification I: Setting up the user activation process

Lecture 15 Email Verification II: Customizing the verification email notification

Lecture 16 Email Verification III: Resending the verification email

Lecture 17 Email Verification IV: Activating the user's account

Lecture 18 User Login: Issuing JWT tokens

Lecture 19 Email Verification Test

Lecture 20 User Logout

Lecture 21 The famous "ME" endpoint

Lecture 22 Introducing API Resources

Lecture 23 Password Reset - Customising the Email Notification

Lecture 24 Password Reset - Sending the reset email

Lecture 25 Password Reset - Resetting the Password

Lecture 26 Section conclusion

Section 4: Updating User Profile Information

Lecture 27 User Profile Update

Lecture 28 User Password Update

Lecture 29 Committing our code to GitHub

Section 5: Creating and managing Designs

Lecture 30 Section Introduction

Lecture 31 The Design Model and Migrations

Lecture 32 Setting up image upload Disks

Lecture 33 Uploading image to Temporary Disk

Lecture 34 Installing Image Manipulation Library

Lecture 35 Resizing uploaded images

Lecture 36 Saving images to Local Disk

Lecture 37 Saving images to Amazon s3

Lecture 38 Setting up Queues to handle uploads

Lecture 39 Updating design information

Lecture 40 Creating a Policy for Updating designs and customising Exception

Lecture 41 API Resource for Designs and generating image URL's

Lecture 42 Deleting records and images from the File system

Lecture 43 Adding Tags to Designs

Section 6: Laravel Repository Pattern

Lecture 44 Introduction to the repository pattern

Lecture 45 Add Index Methods to Users and Designs

Lecture 46 Create a simple Repository

Lecture 47 Create the Base Repository and Interface

Lecture 48 Implementing common Repository Methods

Lecture 49 Introducing Criteria to the Repository

Lecture 50 Setup and test Filter Criteria

Lecture 51 Create Criterion for User's designs

Lecture 52 Setup Debugging to profile API SQL Queries

Lecture 53 Adding Eager-Loading Criteria to the Repository

Lecture 54 Overview on Repository Pattern

Section 7: Adding Comment and Likes to the Application

Lecture 55 Setting up Comment model and Repository

Lecture 56 Create Comments and Comment API Resource

Lecture 57 Updating and deleting comments

Lecture 58 Solving the famous N+1 problem with Eagerloading

Lecture 59 Setting up Likes Model and Trait

Lecture 60 Unliking and Bootable Trait method

Lecture 61 One last endpoint and conclusion on Likes and Comments

Section 8: Setting up Designer Teams

Lecture 62 Section Overview

Lecture 63 Creating the Team Models and Migrations

Lecture 64 Setting up the Team Repository, Contract and Controller

Lecture 65 Creating teams with CREATED and DELETING Boot methods

Lecture 66 Update Team Information with Policies (Authorization)

Lecture 67 Associate Teams to Designs

Lecture 68 Team Invitations Setup - Model, routes, controllers, migration and repository

Lecture 69 Sending out team invitations

Lecture 70 Sending out the Invitation Emails to Guest and Existing users

Lecture 71 Resending Invitation to join teams

Lecture 72 Responding to and deleting an Invitation

Lecture 73 Removing users from Teams

Section 9: Chat Messaging between users

Lecture 74 Setup the Chat and Messaging Model

Lecture 75 Create the Chat Controller and Repositories

Lecture 76 Setup the Chat and Message Migrations

Lecture 77 Sending chat messages between users

Lecture 78 Fetching chats for the current user

Lecture 79 Fetching messages for a Chat Including Trashed messages

Lecture 80 Marking messages as Read and Soft-Deleting

Lecture 81 Refactor the API Resource Classes and Section wrap

Section 10: Searching Shots and Designers

Lecture 82 Searching Designs by multiple filters

Lecture 83 Geographic Search - Setup the GeoSearch

Lecture 84 Testing GeoSearch in Postman

Section 11: A few Clean up and getting ready for the UI

Lecture 85 Fetching Designs by Slug

Lecture 86 Get Designs for a given team

Lecture 87 Get Designs for a given user and User by Username

Lecture 88 Add Gravatar as User Profile Image

Lecture 89 CORS and wrap on API

Section 12: Getting started with the Frontend

Lecture 90 Introduction to the UI - NuxtJS and VueJS

Lecture 91 Install Nodejs and create new NuxtJs Application

Lecture 92 Exploring the structure of the Nuxt Application

Lecture 93 Install base packages and setup the folder structure

Lecture 94 Bringing in the HTML Template to NuxtJS

Lecture 95 Custom routing in NuxtJS

Lecture 96 Configure Authentication Module in NuxtJS

Lecture 97 Install and configure VForm for API Requests

Section 13: Implementing Authentication in the UI

Lecture 98 Registration Part I

Lecture 99 Registration Part II

Lecture 100 Login with Local Strategy

Lecture 101 Resend Account Verification Email

Lecture 102 Activate User account and Logout

Lecture 103 Send Password Recovery Email

Lecture 104 Reset User's Password and Section conclusion

Section 14: Creating Global Dynamic Components and Route Middleware

Lecture 105 Setting up Dynamic Component Registration

Lecture 106 Base Button Component

Lecture 107 Base Input Component

Lecture 108 Creating Route Middleware

Section 15: Uploading Designs from the User Interface

Lecture 109 Setting up the Upload pages and components

Lecture 110 Completing the Fancy Image Upload from Client Side

Lecture 111 Updating Design Information after upload

Lecture 112 Custom Error Page

Lecture 113 Implement the update form and Tagging Package

Lecture 114 Submitting the Update Form

Lecture 115 Preventing Unauthorized Access to the Design Edit Page

Lecture 116 Configure Nested Routes in Nuxt

Lecture 117 Redirecting designers after Update process

Lecture 118 User Dashboard - Design Listing

Lecture 119 User Dashboard - Profile Update Form

Lecture 120 Google Maps Location API - Autocomplete

Lecture 121 Complete User profile Update

Section 16: Listing and Searching Designs

Lecture 122 Searching Designs

Lecture 123 Displaying the search results

Lecture 124 Displaying Design Details Page

Lecture 125 Adding comments to designs

Lecture 126 Comment Form

Lecture 127 Liking and Unliking designs

Lecture 128 Display Tags on details page and wrap on UI

Section 17: Deploying the Application to Remote Server

Lecture 129 Section Introduction

Lecture 130 Create a Digital Ocean Server and an SSH Key

Lecture 131 Resource - Commands we will be using in this section

Lecture 132 SSH into our new Server

Lecture 133 Buy a domain name and configure DNS Records

Lecture 134 Disable Root SSH and create new Sudo User

Lecture 135 Enable FireWall (UFW)

Lecture 136 Install Nginx

Lecture 137 Install and configure MySQL

Lecture 138 Setup PHP for Nginx

Lecture 139 Setup Composer and create MySQL Database for Laravel

Lecture 140 Pull the API code from GitHub and setup Laravel permissions

Lecture 141 Configure Nginx to serve Laravel Application

Lecture 142 Pull the client application from GitHub

Lecture 143 Launch Nuxt App with PM2 Process Manager

Lecture 144 Configure Free SSL Certificate

Lecture 145 Conclusion

Any Web Developer looking to develop an effective API in Laravel,Anyone looking to develop end-to-end applications with Laravel, MySQL and Nuxt,Anyone looking to learn how to provision a Linux Server for Laravel or any other PHP framework