AWS, JavaScript, React | Deploy Web Apps on the Cloud


Cloud Computing | Linux Foundations | LAMP Stack | DBMS | Apache | NGINX | AWS IAM | Amazon EC2 | JavaScript | React

What you will learn

Foundations of Cloud Computing on AWS and Linode

Cloud Computing Service Models (IaaS, PaaS, SaaS)

Deploying and Configuring a Virtual Instance on Linode and AWS

Secure Remote Administration for Virtual Instances using SSH

Working with SSH Key Pair Authentication

The Foundations of Linux (Maintenance, Directory Commands, User Accounts, Filesystem)

The Foundations of Web Servers (NGINX vs Apache)

Foundations of Databases (SQL vs NoSQL), Database Transaction Standards (ACID vs CAP)

Key Terminology for Full Stack Development and Cloud Administration

Installing and Configuring LAMP Stack on Ubuntu (Linux, Apache, MariaDB, PHP)

Server Security Foundations (Network vs Hosted Firewalls).

Horizontal and Vertical Scaling of a virtual instance on Linode using NodeBalancers

Creating Manual and Automated Server Images and Backups on Linode

Understanding the Cloud Computing Phenomenon as Applicable to AWS

The Characteristics of Cloud Computing as Applicable to AWS

Cloud Deployment Models (Private, Community, Hybrid, VPC)

Foundations of AWS (Registration, Global vs Regional Services, Billing Alerts, MFA)

AWS Identity and Access Management (Mechanics, Users, Groups, Policies, Roles)

Amazon Elastic Compute Cloud (EC2) – (AMIs, EC2 Users, Deployment, Elastic IP, Security Groups, Remote Admin)

Foundations of the Document Object Model (DOM)

Manipulating the DOM

Foundations of JavaScript Coding (Variables, Objects, Functions, Loops, Arrays, Events)

Foundations of ReactJS (Code Pen, JSX, Components, Props, Events, State Hook, Debugging)

Intermediate React (Passing Props, Destrcuting, Styling, Key Property, AI, Conditional Rendering, Deployment)

Building a Fully Customized E-Commerce Site in React

Intermediate React Concepts (JSON Server, Fetch API, React Router, Styled Components, Refactoring, UseContext Hook, UseReducer, Form Validation)

Description

Welcome to our latest course. Here, you will learn how to deploy fully scalable React web apps on some of the most powerful cloud computing platforms available, including AWS and Linode. The course starts with exploring the foundations of cloud computing where we dive into a comprehensive overview of the three main cloud service models. This includes: Infrastructure as a Service, Platform as a Service, and Software as a Service. From there we offer an in-depth guide to deploying and configuring virtual instances and the foundations of remote server administration and server security using SSH. Students are then introduced to Linux, where we explore various Linux distributions, the Linux filesystem, and essential Linux maintenance and directory commands.

Once students have a handle on working with Linux, we’ll dive into the foundations of Web Servers. Here, we’ll explore two industry leaders in the server software space including Apache and NGINX. Students will learn the benefits and use cases of each server technology, combined with an in-depth technical analysis of their performance in production environments. From there we’ll explore database management systems, including both SQL and NoSQL databases, coupled with database transaction standards. In this section students gain valuable insights into a variety of different database options available, and the best use case for each depending on the project type and complexity.

With a firm handle on the theoretical aspects of web servers and DBMSes, we jump into a practical guide to setting up LAMP stack on Ubuntu through terminal for MacOS and PuTTY for Windows. Here we configure Linux with Apache, MariaDB, and PHP. Students will also learn how to upload data to a MariaDB database, and fetch records from within PHP scripts. The course then takes a theoretical and practical deep dive into server security. Here, we explore both network and hosted firewalls. We emphasize the pitfalls of lax server configurations, and provide a step-by-step guide to enabling and setting up UFW for Ubuntu. Students will also learn how to configure custom ports for SSH tunneling as an added layer of security.


Subscribe to latest coupons on our Telegram channel.

The second half of the course provides a comprehensive guide to Amazon Web Services. We start with demonstrating how to setup, secure, and navigate an AWS account. This includes setting up billing alerts and multi-factor authentication. From there, we take a deep dive into AWS Identity and Access management for enhanced account security, and the management of user accounts for various AWS services. Here we explore IAM User management and permissions, IAM Groups, IAM Policies, and access key rotation. Following the IAM section, we’ll jump into the Amazon Elastic Compute Cloud (EC2) service. In this module students lean to deploy virtual instances on AWS using Amazon Machine Images, Elastic IPs, and Launch Templates. We will also explore IAM roles for EC2, EC2 Security Groups, SSH key pair authentication, and remote administration using both terminal and EC2 Instance connect.

After students have a mastery of cloud computing, the next segment explores the development and deployment of interactive web apps using both JavaScript and React. Here we start with JavaScript foundations including the document object model, and DOM manipulation. From there, we hop into JavaScript variables, arithmetic operations, data types, objects, arrays, loops, functions, and events. The JavaScript section concludes with two hands-on projects where students build a background color changer, and photo gallery. After completion of the JavaScript section, students will use their new found skills to build out dynamic front-end UI components using the React JS library. Through a series of hands-on projects, students will build a calculator, Connect-4 Game clone, and a fully customizable e-commerce site. The react modules start from the basics and work up to several intermediate level concepts. This includes: working with code pen, JSX, Functional components, Props, Callbacks, Events, the React State hook, conditional rendering, Fetch API, Refactoring, and much more.

As you can see this course covers a tremendous bit of ground. Best of all it’s co-authored by Tim Maclachlan – a renowned senior full-stack developer with over 20 years of commercial development experience. As a multi-faceted developer, Tim specializes in algorithmic, analytical and mobile development. To date, he’s written hundreds of applications and worked in a number of industries from commercial aviation and military, to banking and finance. Tim has a genuine passion for teaching others how to become better coders and looks forward to interacting with his students.

With that said, we hope you’re just as excited about this course as we are, if so – hit that enroll button and let’s get started.

English
language

Content

Introduction to Cloud Computing

Intro to Cloud Computing
Benefits of Cloud Computing
Cloud Computing Service Models

Cloud Computing Service Models

Infrastructure as a Service (IaaS)
Platform as a Service (PaaS)
Software as a Service (SaaS)
IaaS vs PaaS vs SaaS

Cloud Server Deployment on Linode

Linode Account Setup
Exploring the Linode Cloud Manager
Enabling TFA on Linode
Deploying a Linode Virtual Instance
Exploring the Linode Instance Dashboard
Remote Server Admin via SSH
Password vs SSH Key Authentication
SSH Key Pair Authentication on Windows
SSH Key Pair Authentication on MacOS
Connecting with LISH
Adding SSH Public Keys to Linode

Linux Foundations

Introduction to Linux
The Linux Filesystem
Linux Maintenance Commands
Linux Directory Commands [Part 1]
Linux Directory Commands [Part 2]
Ubuntu Basic Server Configuration
Introduction to User Accounts
Creating a Non-Root Account
Securing the New User Account
Disabling Root User Access and Password Authentication

Web Server and Database Foundations

Introduction to Web Servers
Self Hosting vs Hosting Provider
Web Server Software (NGINX vs Apache)
Introduction to Databases
SQL vs NoSQL Databases
Database Transaction Standards (ACID vs CAP)
CAP Theorem for NoSQL Databases
Characteristics of SQL vs NoSQL DBMSes
Key Terms: Stacks, Frameworks, & Languages [Part 1]
Key Terms: Stacks, Frameworks, & Languages [Part 2]
Key Terms: Stacks, Frameworks, & Languages [Part 3]

LAMP Stack Installation and Configuration

Installing LAMP Stack on Ubuntu via Command Line
Installing LAMP Stack using Linode Marketplace
Testing PHP on Apache
Testing MariaDB Connection from PHP [Part 1]
Testing MariaDB Connection from PHP [Part 2]
Remote Server Administration using Linode GLISH

Foundations of Server Security

Introduction to Server Security
Introduction to Firewalls
Network Firewalls
Securing SSH with a Network Firewall
Strict Network Firewall Policy
Hosted Software Firewalls UFW

Server Scaling

Introduction to Scaling
Vertical Scaling
Horizontal Scaling with Auto Load Balancers (NodeBalancer)
Instance IP Swaps

Server Images and Backups

Introduction to Images and Backups
Creating a Custom Image
Linode Backup Service

Account Clean-Up and Segment Overview

Linode Account Clean-Up
Segment Overview

The Cloud Computing Phenomenon [AWS Edition]

Before the Cloud
After the Cloud
Cloud Use-Cases
Cloud Case Study: Netflix
Cloud Case Study: Twitter

Cloud Computing Characteristics and Service Models [Revisited]

Characteristics of Cloud Computing (Part 1)
Characteristics of Cloud Computing (Part 2)
Characteristics of Cloud Computing (Part 3)
Cloud Computing: Virtualization
Introduction to Cloud Computing Service Models
Infrastructure as a Service (IaaS) Overview
Platform as a Service (PaaS) Overview
Software as a Service (SaaS) Overview

Cloud Deployment Models

Private Cloud
Community Cloud
Public vs. Hybrid Cloud
Virtual Private Cloud (VPC)

AWS by the Numbers

Cloud Computing Statistics
AWS History
AWS Usage Statistics

Getting Started with AWS

Introduction
AWS Pricing Foundations
AWS Free Tier Overview
AWS Acceptable Use Policy
AWS Account Registration
AWS Cloud Practitioner Exam – Key Topics
AWS Global vs. Regional Services
Global vs. Regional Services Example
Creating Billing Alerts
AWS Multi-Factor Authentication (MFA)
Activate MFA for the Root User Account
Creating IAM Users and Groups
IAM User Custom Sign-In Link
Configure a Custom Password Policy

AWS IAM: Identity and Access Management

Introduction to IAM
IAM Mechanics (Theory)
IAM Users
Introduction to Managing IAM Users
IAM Administration (Guide) (Listing, Deleting Users & Accounts)
Managing Permissions for IAM Users
Changing IAM User Permissions (Method 1)
Changing IAM User Permissions (Method 2)
Changing IAM User Permissions (Method 3)
IAM Groups
IAM Group Administration
IAM Groups (LAB Exercise)
IAM Policies
IAM Inline Policies (Guide)
IAM Custom Policies
IAM Custom Policies (Guide)
IAM Roles
IAM Roles (Practical Guide)
IAM Authentication and Security
Rotating Access Keys
IAM Multi-Factor Authentication (MFA)
IAM Credentials Report (Guide)

Amazon Elastic Compute Cloud (EC2)

Introduction to EC2
EC2 Instance Core Features
EC2 Instance Types
Amazon Machine Images (AMI)
Creating an IAM User for EC2
The EC2 Dashboard
Deploying an EC2 Instance
Deploying an EC2 Instance (Continued)
EC2 Instances Console
Elastic IP (Theory)
Elastic IP (Guide)
EC2 Instance Administration (Guide)
EC2 Instance Launch Templates
Creating an Amazon Machine Image (AMI)
IAM Roles for EC2 (Guide)
Introduction to Security Groups
Security Groups (Guide)
Secure Socket Shell (SSH) Overview
PuTTY (SSH) Client for Windows
EC2 Instance Connect (Guide)

Document Object Model (DOM)

DOM Introduction
DOM Manipulation

JavaScript Development

Introduction
JS Placement
External JavaScript
JavaScript Output
JavaScript InnerHTML
JavaScript Commenting
JavaScript Constants
JavaScript Variables Introduction
JavaScript Assignment Operator
JavaScript Arithmetic Operations
JavaScript Arithmetic Operations Continued
JavaScript Operator Precedence
JavaScript Data Types
JavaScript Objects
JavaScript Object Output
JavaScript Strings
JavaScript String Length
JavaScript Special Characters
JavaScript Random Numbers
JavaScript Min and Max Function
JavaScript Math Round Function
JavaScript Arrays
JavaScript Array Attributes
JavaScript Arrays – Pop – Push – Shift – Unshift
JavaScript Changing and Deleting Elements
JavaScript Splicing an Array
JavaScript Sorting an Array
JavaScript Joining Arrays
JavaScript Conditional Statements
JavaScript Comparisons
JavaScript Booleans
JavaScript For Loops
JavaScript For-In Loop
JavaScript While Loops
JavaScript Do-While Loop
JavaScript Break and Continue
JavaScript Functions
JavaScript Events
JavaScript Project 1 – BG Color Changer
JavaScript Project 2 – Photo Gallery
JavaScript Project 2 – Completion

ReactJS

Skills Required
What is React?

Project: Build a Calculator in React

Project Overview
Hello React
Tools Needed
Code Pen
Intro to JSX
Functional Components in React
Why Components?
Intro to Props in React
React Components, Pops, and Callbacks
Building the Calculator Visuals
OnClick Events in React
Passing Parameters in Callback Functions
Using React State Hook
Implementing the calculator – Display
Implementing the Calculator – Operators
Debugging in React
Project Summary

Project 2 – Build a Connect-4 Clone in React

Project Introduction – What We Will Build
Tools Needed
Creating the Game Board
Game Circle – OnClickEvent
Passing Props – Destructing – React Children
Passing Arguments to Click Events
Inline Styling
Square to Circle Component
Global Styling
Dynamic Styling
Dynamic Classes
Handling Callbacks
Using React State Hook (again)
Updating the Player Circle
Initializing the Game Board
React Key Property
Styling the Game Board – Header and Footer
Calculating the Winner
Displaying the Winner
Determining a Draw Condition
React Lifecycle Events
Initializing the Game
Suggesting a Move – Implementing a Computer Player
Smart Computer Player (Basic AI)
CSS Variables
Conditional Rendering
Deploy to Netlify
Deploy to Surge
Project Summary

Project 3 – Build an E-Commerce Site in React

Project Introduction – What We Build
Scaffolding the Project
Intro to JSON Server
Fetch API
Styling the Store
Rendering the Categories
Binding the Products
Refactor the Fetch API call
Dealing with errors in Fetch API
Tidy the Fetch API call
Styling the Product List
Installing React Router
Fixing the Key Warning
React Router – Detail Page
Fetch API – Get Product By Id
Product Description
Intro to Styled Components
Styled Components – Product Description
Dangerously Set HTML (Yeah Really)
Refactor the Categories
Refactor the Layout
Refactor the Home Page
Intro to Context in React
UseContext Hook and UseReducer Hook in React
Basket Layout
Implementing the Basket
Implementing Basket Icons
Implementing Basket Total
Finishing the Checkout
Checkout – Fixing the State
Implementing the Order Confirmation
Intro to Local Storage
Implementing Search Results
Better Searching with Debouncing
Validating Forms in React – Part 1
Validating Forms in React – Part 2
Validating Forms in React – Part 3
Validating Forms in React – Part 4
Project Summary