The Complete Full-Stack Web Development Bootcamp

Categories:Web DevelopmentSoftware Development
Course preview
5 Free Lessons

Upgrade to Pro for full access

What's included
Certificate of completion
Sign In to Start Learning

Create an account to access all courses

What You'll Get in This CourseFree Preview
3:08Click to preview
Download the Course Syllabus
Download the 12 Rules to Learn to Code eBook [Latest Edition]
Download the Required Software
How Does the Internet Actually Work
5:27
How Do Websites Actually Work
8:22
How to Get the Most Out of the Course
9:33
How to Get Help When You're Stuck
6:39
Pathfinder

A Note About 2023 Course Updates
What is HTMLFree Preview
4:18Click to preview
How to Download the Course Resources
2:43
HTML Heading Elements
14:24
HTML Paragraph Elements
8:41
Self Closing Tags
11:41
[Project] Movie Ranking
5:43
How to Ace this Course
1:24

The List Element
10:32
Nesting and Indentation
14:09
Anchor Elements
10:45
Image Elements
8:17
[Project] Birthday Invite
4:01
Tip from Angela - Habit Building with the Calendar Trick
2:52
Get Monthly Tips and Tools to Level Up as a Developer

Computer File Paths
19:20
What are Webpages
12:55
The HTML Boilerplate
12:53
[Project] Portfolio Website
8:34
How to Host Your Website for Free with GitHub
8:33
Introduction to Capstone Projects
5:05
Instructions for Capstone Project 1 - Online Resume

Why do we need CSS
8:44
How to add CSS
15:20
CSS Selectors
22:56
[Project] Colour Vocab Website
9:08
Tip from Angela - Dealing with Distractions
2:28
Join the Student Community

CSS Colours
7:05
Font Properties
21:26
Inspecting CSS
11:52
The CSS Box Model - Margin, Padding and Border
20:46
[Project] Motivational Poster Website
7:37

The Cascade - Specificity and Inheritance
25:28
Combining CSS Selectors
23:13
CSS Positioning
22:50
[Project] CSS Flag
17:55
Tip from Angela - Nothing Easy is Worth Doing!
3:35

CSS Display
11:30
CSS Float
11:39
How to Create Responsive Websites
18:44
Media Queries
10:32
[Project] Web Design Agency Website
7:07
Tip from Angela - How to Deal with Procrastination
4:08

Display Flex
14:21
Flex Direction
13:43
Flex Layout
19:22
Flex Sizing
24:27
[Project] Pricing Table
10:08
Tip from Angela - Building a Programming Habit
2:47

Display Grid
14:55
Grid Sizing
23:32
Grid Placement
26:17
[Project] Mondrian Painting
6:45

What is Bootstrap
15:35
Bootstrap Layout
21:14
Bootstrap Components
31:39
[Project] TinDog Startup Website
31:22

Introduction to Web Design
3:55
Understanding Colour Theory
9:04
Understanding Typography and How to Choose a Font
10:28
Manage ATTENTION with effective User Interface (UI) Design
10:27
User Experience (UX) Design
13:39
Web Design in Practice - Let's apply what we've learnt!
18:20

Instructions

Download the Course Resources PDF
Introduction to Javascript
11:49
Javascript Alerts - Adding Behaviour to Websites
14:21
Data Types
4:06
Javascript Variables
9:35
Javascript Variables Exercise Start
2:48
Javascript Variables Exercise Solution
3:28
Naming and Naming Conventions for Javascript Variables
7:10
String Concatenation
3:07
String Lengths and Retrieving the Number of Characters
6:24
Slicing and Extracting Parts of a String
8:56
Challenge Changing Casing in Text
3:39
Challenge Changing String Casing Solution
9:00
Basic Arithmetic and the Modulo Operator in Javascript
6:14
Increment and Decrement Expressions
2:28
Functions Part 1 Creating and Calling Functions
10:35
Functions Part 1 Challenge - The Karel Robot
9:08
The Karel Chess Board Solution
A Quick Note About the Next Lesson
Functions Part 2 Parameters and Arguments
9:52
Life in Weeks Solution
3:44
Functions Part 3 Outputs & Return Values
11:16
Challenge Create a BMI Calculator
1:49
Challenge BMI Calculator Solution
5:39
Tip from Angela - Set Your Expectations
2:35

Random Number Generation in Javascript Building a Love Calculator
11:15
Solution to the 99 Bottles Challenge
Control Statements Using If-Else Conditionals & Logic
4:48
Comparators and Equality
2:51
Combining Comparators
2:46
Introducing the Leap Year Code Challenge
4:16
Leap Year Solution
3:03
Collections Working with Javascript Arrays
9:02
Adding Elements and Intermediate Array Techniques
15:58
Who's Buying Lunch Solution
3:43
Control Statements While Loops
7:53
Solution to the 99 Bottles Challenge
Control Statements For Loops
6:10
Introducing the Fibonacci Code Challenge
6:37
Fibonacci Solution
8:16
Tip from Angela - Retrieval is How You Learn
2:52

Adding Javascript to Websites
10:44
Introduction to the Document Object Model (DOM)
12:28
Solution to the DOM Challenge
Selecting HTML Elements with Javascript
14:17
Manipulating and Changing Styles of HTML Elements with Javascript
5:01
The Separation of Concerns Structure vs Style vs Behaviour
5:57
Text Manipulation and the Text Content Property
2:37
Manipulating HTML Element Attributes
2:27
Tip from Angela - The 20 Minute Method
2:39

Challenge The Dicee Challenge
2:14
Dicee Challenge Step 0 - Download the Skeleton Project
Dicee Challenge Step 1 - Create an External Javascript File
Dicee Challenge Step 2 - Add Dice Images
Dicee Challenge Step 3 - Create a Random Number
Dicee Challenge Step 4 - Change the img to a Random Dice
Dicee Challenge Step 5 - Change both img Elements
Dicee Challenge Step 6 - Change the Title to Display a Winner
The Solution to the Dicee Challenge
14:43
Download the Completed Website
Tip from Angela - Learning Before you Eat
2:06

Adding Animation to Websites
8:31
Download the Completed Website
What We'll Make Drum Kit
1:19
Download the Starting Files
Adding Event Listeners to a Button
14:29
Higher Order Functions and Passing Functions as Arguments
12:40
Higher Order Function Challenge Solution
How to Play Sounds on a Website
11:11
A Deeper Understanding of Javascript Objects
12:04
How to Use Switch Statements in Javascript
5:23
Objects, their Methods and the Dot Notation
6:29
A Quick Note About the Next Lesson
Using Keyboard Event Listeners to Check for Key Presses
7:37
Understanding Callbacks and How to Respond to Events
11:35
Tip from Angela - Dealing with Lack of Progress
3:08

What is jQuery
3:44
How to Incorporate jQuery into Websites
9:08
How Minification Works to Reduce File Size
3:59
Selecting Elements with jQuery
2:01
Manipulating Styles with jQuery
5:13
Manipulating Text with jQuery
3:36
Manipulating Attributes with jQuery
3:44
Adding Event Listeners with jQuery
7:47
Adding and Removing Elements with jQuery
2:58
Website Animations with jQuery
8:13
Tip from Angela - Mixing Knowledge
2:20

What You'll Make The Simon Game
1:00
Play the Game
Step 0 - Download the Starting Files
Step 1 - Add Javascript and jQuery
Step 1 - Answer
Step 2 - Create A New Pattern
Step 2 - Answer
Step 3 - Show the Sequence to the User with Animations and Sounds
Step 3 - Answer
Step 4 - Check Which Button is Pressed
Step 4 - Answer
Step 5 - Add Sounds to Button Clicks
Step 5 - Answer
Step 6 - Add Animations to User Clicks
Step 6 - Answer
Step 7 - Start the Game
Step 7 - Answer
Step 8 - Check the User's Answer Against the Game Sequence8
Step 8 - Answer
Step 9 - Game Over
Step 9 - Answer
Step 10 - Restart the Game
Step 10 - Answer
Download the Completed Project Code
Tip from Angela - Dealing with Frustration
2:31

Install Git Bash on Windows
2:46
Understanding the Command Line. Long Live the Command Line!
5:25
Command Line Techniques and Directory Navigation
9:44
Creating, Opening, and Removing Files through the Command Line
8:38
Tip from Angela - Sleep is My Secret Weapon
3:49

Backend Web Development Explained
15:13
Backend Tools and Technologies - Which one to learn
5:41

What is Node.js
10:39
Install Node.js on Mac
Install Node.js on Windows
Using Node.js
8:23
How to Use the Native Node Modules
12:12
The NPM Package Manager and Installing External Node Modules
16:21
[Project] QR Code Generator
15:49
Tip from Angela - Step Up to the Challenge
1:14

What is Express
7:00
Creating Our First Server with Express
11:29
Handling Requests and Responses the GET Request
8:12
Nodemon Installation
Understanding and Working with Routes
9:23
What We'll Make A Calculator
1:52
Calculator Setup Challenge
Calculator Setup Challenge Solution
5:43
Responding to Requests with HTML Files
7:40
Processing Post Requests with Body Parser
14:19
BMI Routing Challenge
Solution to the BMI Routing Challenge
6:29
Tip from Angela - How to Solidify Your Knowledge
2:55

Posting Data to Mailchimp's Servers via their API
18:37
Why Do We Need APIs
8:50
API Endpoints, Paths and Parameters
10:59
API Authentication and Postman
11:34
What is JSON
4:54
Making GET Requests with the Node HTTPS Module
13:00
How to Parse JSON
13:05
Using Express to Render a Website with Live API Data
8:23
Using Body Parser to Parse POST Requests to the Server
10:05
The Mailchimp API - What You'll Make
2:41
Setting Up the Sign Up Page
20:52
Posting Data to Mailchimp's Servers via their API
18:37
Adding Success and Failure Pages
8:55
Deploying Your Server with Heroku
18:39
Tip from Angela - Location, Location, Location!
2:07

Introduction to Version Control and Git
2:04
Version Control Using Git and the Command Line
14:18
GitHub and Remote Repositories
10:22
Gitignore
10:59
Cloning
5:05
Branching and Merging
17:25
Optional Git Challenge
Forking and Pull Requests
17:09
Tip from Angela - Spaced Repetition
4:01

What We'll Make A ToDoList
00:45
Linter Errors with EJS
Templates Why Do We Need Templates
15:10
Creating Your First EJS Templates
17:53
Running Code Inside the EJS Template
6:33
Passing Data from Your Webpage to Your Server
25:05
The Concept of Scope in the Context of Javascript
8:40
Adding Pre-Made CSS Stylesheets to Your Website
16:14
Understanding Templating vs. Layouts
13:35
Understanding Node Module Exports How to Pass Functions and Data between Files
21:45
Tip from Angela - Use Accountability in your Favour
2:56

A New Challenge Format and What We'll Make A Blog
6:18
Setting Up the Blog Project
7:06
Challenge 1
4:04
Challenge 1 Solution
2:37
Challenge 2
4:07
Challenge 2 Solution
2:09
Challenge 3
2:37
Challenge 3 Solution
2:31
Challenge 4
2:05
Challenge 4 Solution
1:52
Challenge 5
2:47
Challenge 5 Solution
4:16
Challenge 6
1:24
Challenge 6 Solution
1:15
Challenge 7
00:59
Challenge 7 Solution
1:54
Challenge 8
3:26
Challenge 8 Solution
3:36
Challenge 9
4:43
Challenge 9 Solution
6:33
Challenge 10
2:24
Challenge 10 Solution
3:13
Challenge 11
3:21
Challenge 11 Solution
3:00
Challenge 12
1:55
Challenge 12 Solution
2:35
Challenge 13
2:46
Challenge 13 Solution
3:37
Challenge 14 and Solution
6:28
Challenge 15
1:41
Challenge 15 Solution
3:14
Express Routing Parameters
6:38
Challenge 16
1:55
Challenge 16 Solution
2:32
Challenge 17
3:54
Challenge 17 Solution
5:30
Challenge 18
6:04
Challenge 18 Solution
4:19
Challenge 19
2:57
Challenge 19 Solution
4:54
Challenge 20
2:58
Challenge 20 Solution
3:18
Challenge 21
2:15
Challenge 21 Solution
3:44
Tip from Angela - When Life Gives You Lemons
6:01

Databases Explained SQL vs. NOSQL
19:58

SQL Commands CREATE Table and INSERT Data
13:48
SQL Commands READ, SELECT, and WHERE
3:10
Updating Single Values and Adding Columns in SQL
4:42
SQL Commands DELETE
1:32
Understanding SQL Relationships, Foreign Keys and Inner Joins
11:13
Tip from Angela - Find All the Hard Working People
2:01

Installing MongoDB on Mac
12:34
Installing MongoDB on Windows
9:20
MongoDB CRUD Operations in the Shell Create
9:37
MongoDB CRUD Operations in the Shell Reading & Queries
6:22
MongoDB CRUD Operations in the Shell Update
4:07
MongoDB CRUD Operations in the Shell Delete
1:45
Relationships in MongoDB
6:12
Working with The Native MongoDB Driver
19:03
If You Have Forgotten to Quit the Mongod Server
Tip from Angela - Daily Routines
2:34

Introduction to Mongoose
20:26
Reading from Your Database with Mongoose
7:28
Data Validation with Mongoose
7:56
Updating and Deleting Data Using Mongoose
10:06
Establishing Relationships and Embedding Documents using Mongoose
6:45
Tip from Angela - Deep Work
3:01

Let's take the ToDoList Project to the Next Level and Connect it with Mongoose
16:46
Rendering Database Items in the ToDoList App
13:25
Adding New Items to our ToDoList Database
3:56
Deleting Items from our ToDoList Database
13:48
Creating Custom Lists using Express Route Parameters
16:12
Adding New Items to the Custom ToDo Lists
7:31
Revisiting Lodash and Deleting Items from Custom ToDo Lists
19:10
Tip from Angela - One Step at a Time
2:54

How to Deploy Web Apps with a Database
5:02
How to Setup MongoDB Atlas
13:41
Deploying an App with a Database to Heroku
12:13
Tip from Angela - Discipline Breeds Discipline
2:20

Challenge Give your Blog a Database
2:31
Step 0 - Download the Starting Files
Step 1 - Save Composed Posts with MongoDB
Step 2 - Get the Home Page to Render the Posts
Step 3 - Fix the bug
Step 4 - Render the correct blog post based on post _id
Completed Blog with Database Solution
Tip from Angela - Dealing with Limitations
5:22

PUT a Specific Article
10:32
What is REST
17:08
Creating a Database with Robo 3T
9:29
Set Up Server Challenge
2:09
Set Up Server Solution
7:30
GET All Articles
6:50
POST a New Article
12:51
DELTE All Articles
5:12
Chained Route Handlers Using Express
7:07
GET a Specific Article
14:02
PUT a Specific Article
10:32
PATCH a Specific Article
7:17
DELETE a Specific Article
4:04
Download the Completed Project Code
Tip from Angela - How to Get a Job as Programmer
2:06

Introduction to Authentication
5:46
Getting Set Up
7:26
Level 1 - Register Users with Username and Password
14:43
How to Review the Source Code
Level 2 - Database Encryption
16:35
Using Environment Variables to Keep Secrets Safe
17:40
Level 3 - Hashing Passwords
15:25
Hacking 101 ☣️
12:28
Level 4 - Salting and Hashing Passwords with bcrypt
20:41
What are Cookies and Sessions
8:19
Using Passport.js to Add Cookies and Sessions
29:30
Level 6 - OAuth 2.0 & How to Implement Sign In with Google
47:46
Finishing Up the App - Letting Users Submit Secrets
13:40
Download the Completed Project Code
Tip from Angela - How to Work as a Freelancer
1:37

What is React
7:28
What we will make in this React module
1:34
Introduction to Code Sandbox and the Structure of the Module
5:50
Introduction to JSX and Babel
16:12
JSX Code Practice
7:34
Javascript Expressions in JSX & ES6 Template Literals
11:42
Javascript Expressions in JSX Practice
8:34
JSX Attributes & Styling React Elements
16:58
Inline Styling for React Elements
8:41
React Styling Practice
9:59
React Components
15:47
React Components Practice
5:01
Javascript ES6 - Import, Export and Modules
11:10
Javascript ES6 Import, Export and Modules Practice
4:04
[Windows]​ Local Environment Setup for React Development
13:52
[Mac] Local Environment Setup for React Development​
13:40
Newer Versions of Node Troubleshooting
Keeper App Project - Part 1 Challenge
4:58
Keeper App Part 1 Solution
14:07
React Props
16:44
React Props Practice
13:19
React DevTools
17:19
Mapping Data to Components
10:21
Mapping Data to Components​ Practice
17:30
Javascript ES6 MapFilterReduce
20:21
Javascript ES6 Arrow functions
9:56
Keeper App Project - Part 2
10:23
React Conditional Rendering with the Ternary Operator & AND Operator
19:24
Conditional Rendering Practice
6:33
State in React - Declarative vs. Imperative Programming
9:38
React Hooks - useState
18:09
useState Hook Practice
7:24
Javascript ES6 Object & Array Destructuring
17:45
Javascript ​ES6 Destructuring Challenge Solution
5:48
Event Handling in React
11:10
React Forms
13:40
Class Components vs. Functional Components
6:24
Changing Complex State
19:43
Changing Complex State Practice
7:08
Javascript ES6 Spread Operator
10:58
Javascript ES6 Spread Operator Practice
12:20
Managing a Component Tree
22:38
Managing a Component Tree Practice
8:27
Keeper App Project - Part 3
25:05
React Dependencies & Styling the Keeper App
16:38
Tip from Angela - How to Build Your Own Product
2:14

What is Web3
7:38
How does the Blockchain actually work
25:45
What are DApps (Decentralised Apps) and how do you develop them
9:18
What is the Internet Computer (ICP)
9:18
Read Me!
[Mac Users] Installation and Setup for Web3 Development
7:03
[Windows Users] Installation and Setup for Web3 Development
12:45

What You'll Build - DBANK (Inspired by Compound)
2:16
Introduction to the Motoko Language
12:36
Motoko Functions and the Candid User Interface
16:00
Motoko Conditionals and Type Annotations
5:34
Query vs. Update Methods
8:09
Orthogonal Persistance
8:03
Tracking Time and Calculating Compound Interest
17:35
Adding HTML and CSS to Create the Frontend for DBANK
7:35
Connecting the Motoko Backend to our JS Frontend
27:07
Where to Get Help and Support for Development on the Internet Computer

What are Cycles and the ICP Token
7:07
No Cycles, No Problems!
How to Claim Free Cycles from Dfinity
5:21
How to Deploy to the ICP Network
3:05
How to Convert ICP into Cycles
5:57
[Optional] How to Deploy a Static Website onto the ICP Blockchain for Hosting
7:38

How to Configure a DFX Created Project to Use React
11:25
Storing Data on a Canister
16:04
Retrieving Data from a Canister
11:58
Deleting and Persistance
16:35

Tokens and Coins What are they and how are they used
9:18
Download and Configure the Skeleton Project
6:10
Using Motoko Hashmaps to Store Token Balances
19:34
Showing the User's Token Balance on the Frontend
13:58
Creating the Faucet Functionality Using the Shared Keyword
15:16
Creating the Transfer Functionality
20:52
Using the Transfer Functionality in the Faucet
6:40
Persisting Non-Stable Types Using the Pre- and Postupgrade Methods
15:43
What is the Internet Identity
5:30
Authenticating with the Internet Identity
7:56
[Optional] Live Deployment to Test Internet Identity Authentication
18:27

What You'll Build - A Website to Mint, Buy and Sell NFTs
10:23
Minting NFTs
16:44
Viewing the NFT on the Frontend
20:02
Enabling the Minting Functionality on the Frontend
30:38
Displaying Owned NFTs Using the React Router
36:39
Listing NFTs for Sale
33:48
Styling the Listed NFTs
11:17
Creating the Discover Page
22:37
Buying NFTs
32:02
Join the $6 Million Dollar Supernova Hackathon

AAA 1 - How to Soak in Programming Concepts and more
39:43
AAA 2 - Schedule for Learning to Code and more
39:08
AAA 3 - How to Start Freelancing and more
25:20
AAA 4 - The Live AMA
59:52

Vote for the Next Module!
Bonus Lecture
Course preview
5 Free Lessons

Upgrade to Pro for full access

What's included
Certificate of completion
Sign In to Start Learning

Create an account to access all courses