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
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