Learn to setup virtual cloud servers and develop database-driven websites using the latest web technologies.

What you will learn

Understand the essentials of Local and Wide Area Networks

Setup a basic network.

Register a domain name with Domain Privacy

Forward a domain, renew and administer a domain

Configure Nameservers and DNS Zone Files

Create and Configure a Testing server on a Local Windows or MAC System.

Configure a Production web server on popular cloud hosting platforms.

Create disk backups and install disk images on a virtual server

Setup Ubuntu on a Virtual Machine

Install and configure WAMP for Windows

Install and configure MAMP for MAC

Administer a remote server using PuTTY or Terminal

Proficiently navigate the Linode Virtual Server Dashboard

Configure Security Settings on a Virtual Ubuntu Server

Scale a virtual server up and down depending on needs

Install LAMP Stack (Linux, Apache, MySQL, PHP, PhpMyAdmin) on a local and remote server

Setup users and access privileges on an Ubuntu server

Upload files using FileZilla FTP Client

Proficiently Program in HTML, CSS, JavaScript, jQuery, Bootstrap, PHP, and AJAX

Create mobile responsive web applications using Bootstrap

Create unique animated objects using jQuery

Create and administer MySQL databases using PhpMyAdmin

Create Web-based Login Authentication using PHP and MySQL

Create the famous “Google Search Suggest” Feature using AJAX and PHP

Create server and client side validation algorithms for web forms.

Use Google Apps for Work to setup a customized business email address

Description

This course is fully compatible with the latest versions of Ubuntu (20.04 LTS, 18.04 LTS). You can also continue using 14.04 LTS or 16.04 LTS if you prefer, as the content is compatible with all versions.

This course offers a comprehensive look into the entire web development process – from local server configuration using WAMP and MAMP (Apache, MySQL, PHP) to production deployment using the latest web technologies including: LAMP Stack (Linux, Apache, PHP and MySQL) for Ubuntu, HTML5, CSS, Bootstrap, JavaScript, jQuery, XML, and AJAX.

The content is ideal for those interested in working as a web developer, launching a web application, or devoted enthusiasts. The concepts explored in this course are suitable for individuals of all skill levels. Each module starts with the fundamental concepts and gradually transitions into more advanced material.

What makes this course unique?

This course is specifically intended to teach students to develop web applications using the most efficient methods and the latest web technologies. Through live demonstrations we teach the importance of using scalable cloud hosting infrastructures during the development process. This includes small informational websites of only a few pages to advanced ‘big data’ style, dynamic web applications. We go through several live examples of web development and Linux based server configurations on popular Cloud hosting providers such as Linode.

Section 1 & 2 (Introduction, How the Internet Works)

The course begins with with an overview of learning objectives. We then explore how the internet works, including the composition and transmission of data packets over both local and wide-area Networks. Next we take a look at the HTTP and HTTPS protocols as applicable to client and server side communications – including DNS Lookups. This section will also teach students how email exchange works over SMTP and IMAP. The role of Network Ports and Firewalls are also introduced.

Section 3, 4: (The Web Development Process, Planning a Website)

Students will gain an understanding of all the steps involved in the web development process.

Section 5: Web Hosting and System Requirements

We conduct an in-depth case analysis of web hosting solutions including: Shared, Virtual Private, Dedicated and Cloud Hosting.

We provide an overview of various packages offered by different web hosting companies and weigh the pros and cons of each one.

Students are also introduced to the importance of web server scalability and the advantages of cloud hosting over traditional hosting services. We also examine the infrastructure requirements of popular, resource intensive applications such as Netflix and Facebook to emphasize the importance of avoiding costly mistakes in the initial stages of development.

Section 6: Domain Names

We provide an overview of the domain name registration process. This includes the role of registrars and TLD (Top Level Domain) administration by ICANN. ccTLD’s (Country Code Top Level Domains) are also explored.

Students gain hands-on experience with the registration process using popular domain registrars. We provide a comparison of different registrars and register a sample domain name using GoDaddy. Other topics of discussion include: domain name privacy and administration, auto-renewal, domain forwarding, and name server assignment.

Section 7: Testing Environment

Students are introduced to configuring a local testing server on a PC or MAC system using WAMP (Windows) or MAMP (MAC). The lessons provide a detailed guide on installation of the packages and an overview of the interface.

Section 8: Production Environment

Students acquire the skills needed to optimally configure a live production environment for securely hosting web applications on a cloud server (Linode). The section starts with an overview of different cloud hosting providers such as Amazon Web Services, Microsoft Azure, Linode and Digital Ocean.

We then provide a live demonstration of server setup using Linode. This includes deployment of Ubuntu and installation of LAMP Stack (Linux) on the Linode Server using remote access consoles such as Terminal (MAC) and PuTTY for Windows.

Students gain an in-depth knowledge of server maintenance, file and directory commands. We also explore SSH Authentication for multiple users and file permissions to reduce security vulnerabilities. Remote Desktop connections for server administration are taught, using Tight VNC (Windows) and RealVNC (MAC).

A thorough overview of the Linode server management console is conducted, to show students how to scale servers, change root passwords, manage the DNS Zone file and create back-ups.

Section 9: FTP Setup

Students learn the role of an FTP (File Transfer Protocol) client to connect to a remote server, through a local machine. We provide a live demonstration on file upload using FileZilla and explore the FileZilla Interface for connection management.

Section 10: HTML Development

This section explores HTML. HTML is a key fundamental building block when learning to develop websites. Students initially learn the basics of HTML page structure and gradually transition into working with spacing, text formatting, lists, images, videos, links, anchors, tables, forms and much more. We include several projects, where students are shown first-hand, how to develop and code html web pages from scratch.

Section 11: CSS Development

Students learn to use CSS to create stylish, responsive web page layouts. We start by discussing the parts and types of CSS rules, followed by CSS classes, DIVS, and ID’s. Students gain significant exposure to various formatting options, including margins, padding, font properties, backgrounds, transparency, positioning, link styling and CSS tables. This section includes a hands-on web development project where students utilize the concepts explored in the lesson.

Section 12: Document Object Model (DOM)

As a precursor to JavaScript, we explore the DOM (Document Object Model). We explain its usage and application in manipulating HTML and CSS elements.

Section 13: JavaScript Development

We introduce students to JavaScript coding to add interactivity to static HTML and CSS pages. The section starts with discussing JavaScript placement, using both internal and external scripts. We then take a look at JavaScript output, variable declarations, arithmetic operators, objects, strings, math functions, arrays, conditional statements, loops, functions and events. Students also go through two hands-on projects that will further solidify their knowledge of the concepts explored in the lessons.

Section 14: JQuery Library

We explore the jQuery library and many of its unique features, used to create stunning, animated web pages. We start with the basics, from embedding jQuery into web pages to working with Selectors. Students then explore working with events, toggling, fading, sliding, and other forms of animation. The lessons also teach students how to work with callbacks, chaining, dragables, accordion menus and many other functions.

Section 15: Bootstrap Framework

Students are taught to use the Bootstrap framework for responsive, mobile-first – front-end development. As one of the leading open-source development libraries, Bootstrap is an essential part of the developers coding arsenal. The section begins with teaching students how to include essential Bootstrap files into web pages. It then explores the Bootstrap Grid system and popular layout strategies for optimal cross-device and cross-browser compatibility.

Students gain exposure to just about every Bootstrap component, from typography, tables and images, to jumbotrons, wells, alerts, buttons, glyphicons and progress bars. The section includes several hands-on exercises that will walk students through the process of creating stunning layouts, complete with modals, carousels, popovers, drop-down menus, forms and much more.

Section 16: PHP Development

Students gain exposure to creating dynamic web applications and functionality using PHP. We start with the basics, including variable declaration and data output. The lessons then transition into working with objects, conditional statements, loops, functions, arrays and form validation.

Section 17: MySQL Database Integration

Students learn to unleash the true power of web application development with MySQL database integration. We start with the basics from database and table creation, to user management. Next we explore the execution of commonly used SQL statements for database modification and administration. Students are also taught how to create database connections and execute SQL statements from PHP scripts.

Section 18, 19 (XML, AJAX, & Development)

We explore XML and AJAX integration to create dynamic content, without page refresh. The lessons cover several hands-on training exercises that will encompass many of the exciting functions AJAX offers. Students will build a website complete with database integration, registration forms with server-side validation, user authentication, and a SMTP-based contact submit form.

Section 20: Google Apps for Work

Students learn to create a customized business email address using Google Apps for Work. Email administration is also explored, along with alias creation.

English

Language

Content

Introduction

Course Learning Objectives

How the Internet Works

The Internet Overview

The HTTP Protocol

The HTTPS Protocol

The SMTP Protocol and Local Mail Delivery

Outbound Mail Delivery

Network Basics – LAN and WAN

Network Ports and Firewalls

The Web Development Process

Web Development Process Overview

Planning a Website

Web Application Planning Overview

Quiz 1

Web Hosting and System Requirements

Web Hosting Packages Overview

Shared Hosting

Dedicated Hosting

VPS Hosting

Cloud Hosting and Case Study

Domain Names

Introduction to Domain Names

Domain Name Registrars

Domain Registration

Registration and Privacy Protection

Control Panel Sign-In

Auto-Renewal and Domain Lock

Domain Forwarding

Nameservers

Update Registration Information

Quiz 2

Testing Environment

Introduction to Testing Servers

Installing WampServer – WAMP

Installing MampServer – MAMP

WampServer Menu

Localhost File Test

Production Environment

Overview

Cloud Hosting Registration

Creating a Virtual Server

Linode Settings and Configuration

Deploying an Image – Ubuntu 14.04 LTS

Linode Dashboard

Remote Access

Download PuTTY and PuTTYgen – Windows

Launch Terminal – MAC

Intro to Command Console

Connecting with PuTTY – Windows

Connecting with Terminal – MAC

Maintenance Commands

File and Directory Commands

Installing LAMP Stack

Server Host Name and Date

Creating a User – Ubuntu

Ubuntu SSH Authentication – Windows

Ubuntu SSH Authentication – MAC

Web Root Permissions

Remote Dekstop Connection

Installing Tight VNC Viewer – Windows

Installing RealVNC Viewer – MAC

Ubuntu Desktop Basics

Disable Root and Password Access

Re-sizing a Linode Server

Creating Backups on Linode

Changing Root Password through Linode

Linode DNS Manager

Amending GoDaddy Name Servers

FTP Setup

FTP Client Installation

FileZilla Overview

FileZilla Uploading

FileZilla Interface Basics

Quiz 3

HTML Development

Introduction to HTML

Basic Structure of a Web Page

HTML Head Tags

HTML Body Tag

HTML Paragraph Spacing

HTML Line Breaks

HTML Non-Breaking Space

HTML Header Tags

HTML Text Formatting and Decoration

HTML Inline Text Formatting

HTML Unordered Lists

HTML Ordered Lists

HTML Image Insertion

HTML Embedding Videos

HTML Absolute vs. Relative File Referencing

HTML Link Creation

HTML Anchor Tags

HTML Tables

HTML Nested Tables

HTML Merging Cells

HTML Text Wrapping

HTML Table Background Image

HTML Table Cell Alignment

HTML – Introduction to Forms

HTML Form Tags and Attributes

HTML Forms – Post vs. Get

HTML Forms – Input Text Fields

HTML Forms – Select Menus

HTML Forms – Check Boxes and Radio Buttons

HTML Forms – Text Areas and Buttons

HTML Iframes

HTML Project – Introduction

HTML Project – Header

HTML Project – Callout

HTML Project – Image Insertion

HTML Project – Text Insertion

HTML Project – Links and Form

HTML Project – Tabular Data

HTML Project – Footer

Quiz 4

CSS Development

Introduction to CSS

Parts of a CSS Rule

Types of CSS Rules

CSS – Color Names and Codes

CSS Classes and Spans

CSS Divisions – DIVs

CSS IDs

CSS Margins

CSS Padding

CSS Text Properties

CSS Font Properties

CSS Borders

CSS Backgrounds

CSS Transparency

CSS Width and Height Properties

CSS Text on Top of Images

CSS Display Properties

CSS Static Positioning

CSS Relative Positioning

CSS Absolute Positioning

CSS Fixed Positioning

CSS Float Property

CSS Clear Property

CSS Z-Index

CSS Styling Links

CSS Tables

CSS Project – Introduction

CSS Project – CSS Rules

CSS Project – Navigation Rules

CSS Project – Responsive CSS

CSS Project – Page Elements

Quiz 5

Document Object Model (DOM)

DOM Introduction

DOM Manipulation

JavaScript Development

JavaScript – Introduction

JavaScript Placement

External JavaScript

JavaScript Output

JavaScript InnerHTML

JavaScript Commenting

JavaScript Constants

JavaScript Variables Introduction

JavaScript Assignment Operator

JavaScript Arithmetic Operations

JavaScript Arithmetic Operations Continued


Get Instant Notification of New Courses on our Telegram channel.


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

Quiz 6

jQuery Library

Introduction to jQuery

Embedding jQuery

jQuery Syntax and Selector Intro

jQuery ID Selector

jQuery Class Selector

jQuery Other Selectors

External jQuery File

jQuery Events Intro

jQuery Events – mouseenter and mouseleave

jQuery Events – mousedown and mouseup

jQuery Multiple Event Handlers

jQuery Hiding-Showing

jQuery Toggle

jQuery Fade In-Out

jQuery Fade Toggle

jQuery Fade To

jQuery Slide Down

jQuery Slide Up

jQuery Slide Toggle

jQuery Animate

jQuery Animate – Multiple Params

jQuery Animate – Relative Values

jQuery Animate – Queue Functionality

jQuery Stop Method

jQuery Callback Functions

jQuery Chaining

jQuery Draggables

jQuery Accordian Menu

jQuery Get Content – text and html

jQuery Get Content – Val

jQuery Get Content – attr

jQuery Set Content – text – html – val

jQuery Set Attributes – attr

jQuery Append and Preprend

jQuery – After and Before

jQuery Remove and Empty

jQuery Filter Remove

jQuery Add Class

jQuery Remove Class

jQuery Toggle Class

Quiz 7

Bootstrap Framework

Introduction to Bootstrap

Embedding Bootstrap

Bootstrap – Basic Page Structure

Bootstrap Grid System

Bootstrap Three Column Layouts

Bootstrap Typography

Bootstrap Tables

Bootstrap Styling Images

Bootstrap Jumbotron

Bootstrap Wells

Bootstrap Alerts

Bootstrap Buttons

Bootstrap Button Groups

Bootstrap Justified Button Groups

Bootstrap Glyphicons

Bootstrap Badges and Labels

Bootstrap Progress Bars

Bootstrap Pagination

Bootstrap Pager Pagination

Bootstrap List Groups

Bootstrap Panels

Bootstrap Dropdown Menus

Bootstrap Collapsibles

Bootstrap Collapse Panel

Bootstrap Collapse List Group

Bootstrap Accordian

Bootstrap Tab Menus

Bootstrap Pill Menus

Bootstrap Dynamic Tabs and Pills

Bootstrap Navigation Bar

Bootstrap Collapsible Navigation Bar

Bootstrap Forms – Vertical and Inline

Bootstrap Inputs

Bootstrap Form Control States

Bootstrap Input Sizing

Bootstrap Carousel

Bootstrap Modal

Bootstrap Tooltip

Bootstrap Popover

Bootstrap Scrollspy

Bootstrap Project – Themes Intro

Bootstrap Project – File Overview

Bootstrap Project – Script Overview

Bootstrap Project – Script Overview Continued

Quiz 8

PHP Development

PHP Introduction

PHP Preparation

PHP File Test

PHP Syntax

PHP Variables

PHP Variable Scope

PHP Global Keyword

PHP Static Keyword

PHP Echo vs Print

PHP Data Types

PHP Objects

PHP Strings

PHP Constants

PHP Operators

PHP Conditional Statements

PHP ElseIf Statement

PHP Switch Statement

PHP While Loops

PHP For Loops

PHP Functions

PHP Functions Continued

PHP Arrays

PHP Multidimensional Arrays

PHP Sorting Arrays

PHP Superglobal Variables

PHP Forms Introduction

PHP POST vs GET Basics

PHP Form Output and Validation

PHP Form Required Fields

PHP Validation Continued

Quiz 9

MySQL Database Integration

Introduction to MySQL Databases

Introduction PhpMyAdmin

PhpMyAdmin Interface Overview

MySQL Security and Root Superuser

MySQL Creating a Database and Table

MySQL Creating a New User

MySQL Database and Table Specific Privileges

MySQL Modifying and Deleting a Table

MySQL Modifying and Deleting a Database

Introduction to SQL

SQL Statements in PhpMyAdmin

Connect to MySQL Database using PHP

MySQL Database – Import Data

SQL Select

SQL Distinct Keyword

SQL Where Clause

SQL And Operator

SQL Or Operator

SQL Order By

MySQL Insert Into

MySQL Get Last ID

MySQL Insert Multiple Records

MySQL Prepared Statements

MySQL Delete Records

PHP Header Function

PHP Isset

MySQL Update Records

XML l AJAX

Introduction to XML

XML Basics

XML Schema

XML Parsing

XML Parsing Continued

Introduction to AJAX

AJAX – Search Suggest Tutorial

AJAX – Database Select Menu Tutorial

Quiz 10

Development Project

Development Overview

Project Setup

Index Page Overview

Home Page Mods

About Page Mods

Blog Page Mods

MySQL Database Creation

Creating a Registration Form

Registration Status using JavaScript and AJAX

PHP Validation – Encryption – Session

Login Authentication – Part 1

Login Authentication – Part 2

Login Authentication – Part 3

Login Authentication – Part 4

Logout – Terminate Session

Contact Page – Google Maps API

Contact Form – AJAX Integration

PHPMailer Installation

PHP Form Validation and Email Transmission

Production Server Migration

Google Apps for Work

Google Apps for Work – Introduction

Google Apps for Work – Registration

Google Apps for Work – Admin Console

Final Exam

Course Exam

Bonus: SSL Certificates – How to Secure your Server

Introduction to SSL Certificates

Traditional vs. Digital Certificate

Types of SSL Certificates

How SSL Certificates Work

Obtaining a SSL Certificate

Introduction to Lets Encrypt

Preparation

Domain Name Server Administration

Introduction to Digital Ocean

Droplet Configurations

Creating a Droplet

Install PuTTY-Terminal and Connect

Install LAMP Stack – Apache, MySQL, PHP

Configure DNS on Digital Ocean

Droplet Basic Configurations

Installing Lets Encrypt

SSL Certificate Status Reports

Redirect all Domain Variations to HTTPS

Auto Renewal with cron jobs