The Complete 2019 Web Development Bootcamp

The Complete 2019 Web Development Bootcamp
The Complete 2019 Web Development Bootcamp

English | MP4 | AVC 1280×720 | AAC 44KHz 2ch | 43 Hours | 19.3 GB
eLearning | Skill level: All Levels


The only course you need to learn to code and become a full-stack web developer. HTML, CSS, Javascript, Node and more!

Welcome to the Complete Web Development Bootcamp, the only course you need to learn to code and become a full-stack web developer.

This is without a doubt the most comprehensive web development course available online. Even if you have zero programming experience, this course will take you from beginner to mastery. Here’s why:

The course is a taught by the lead instructor at the App Brewery, London’s leading in-person programming bootcamp.
The course has been updated to be 2019 ready and you’ll be learning the latest tools and technologies that are used in large companies such as Apple, Google and Netflix.
This course doesn’t cut any corners, there are beautiful animated explanation videos and tens of real-world projects which you will get to build.
The curriculum was developed over a period of three years, with student testing and feedback.
We’ve taught over 100,000 students how to code and many have gone on to change their lives by becoming professional developers or start their own tech startup.
You’ll save yourself over $12,000 by enrolling, but still get access to the same teaching materials and learn from the same instructor and curriculum as our in-person programming bootcamp.
The course is constantly updated with new content, with new projects and modules determined by students – that’s you!

We’ll take you step-by-step through engaging video tutorials and teach you everything you need to know to succeed as a web developer.

The course includes over 30 hours of HD video tutorials and builds your programming knowledge while making real world websites and web apps.

Throughout the course, we cover a massive amount of tools and technologies, including:

  • Front-End Web Development
  • HTML 5
  • CSS 3
  • Bootstrap 4
  • Javascript ES6
  • DOM Manipulation
  • jQuery
  • Bash Command Line
  • Git, GitHub and Version Control
  • Backend Web Development
  • Node.js
  • NPM
  • Express.js
  • EJS
  • REST
  • APIs
  • Databases
  • SQL
  • MongoDB
  • Mongoose
  • Web Design
  • Deployment with GitHub Pages, Heroku and MongoDB Atlas

By the end of this course, you will be fluently programming and be ready to make any website you can dream of.

You’ll also build a portfolio of over 15+ websites that you can show off to any potential employer.

What you’ll learn

  • Be able to build ANY website you want
  • Craft a portfolio of websites to apply for junior developer jobs
  • Build fully-fledged websites and web apps for your startup or business
  • Work as a freelance web developer
  • Understand the latest frameworks and technologies, including Bootstrap 4, MongoDB, NodeJS, Express, .
  • Learn professional developer best practices
+ Table of Contents

Front-End Web Development
1 What You’ll Get in This Course
2 Syllabus Download
3 The Giant List of Resources
4 How to Get the Most Out of the Course
5 What You’ll Need to Get Started – Setup Your Local Web Development Environment
6 How Does the Internet Actually Work?
7 How Do Websites Actually Work?
8 Download the 12 Rules to Learn to Code eBook
9 Pathfinder

Introduction to HTML
10 Introduction to HTML
11 The Anatomy of an HTML Tag
12 What we’re building – HTML Personal Site
13 What is The HTML Boilerplate?
14 How to Structure Text in HTML
15 HTML Lists
16 HTML Image Elements
17 The Anchor Tag Download Attribute
18 HTML Links and Anchor Tags
19 Join the Student Community

Intermediate HTML
20 HTML Tables
21 Using HTML Tables for Layout
22 HTML Tables Code Challenge
23 How to Type Emojis
24 HTML Tables Solution Walkthrough
25 HTML Forms
26 Forms in Practice – Create a Contact Me Form
27 Publish Your Website!
28 Get Monthly Tips and Tools to Level Up as a Developer

Introduction to CSS
29 Introduction to CSS
30 Inline CSS
31 A Quick Note About the Next Lesson
32 Internal CSS
33 External CSS
34 How to Debug CSS Code
35 The Anatomy of CSS Syntax
36 CSS Selectors
37 Classes vs. Ids

Intermediate CSS
38 What We’ll Make – Stylised Personal Site
39 What Are Favicons?
40 HTML Divs
41 The Box Model of Website Styling
42 CSS Display Property
43 Learn More About Web Design
44 CSS Static and Relative Positioning
45 Absolute positioning
46 The Dark Art of Centering Elements with CSS
47 Font Styling in Our Personal Site
48 Learn More About Typography
49 Adding Content to Our Website
50 CSS Sizing
51 Font Properties Challenge 1 – Change the Font Colour
52 Font Properties Challenge 2 – Change the Font Weight
53 Font Properties Challenge 3 – Change the Line Height
54 CSS Font Property Challenge Solutions
55 CSS Float and Clear
56 CSS Challenge
57 Stylised Personal Site Solution Walkthrough
58 [Optional] Get More Practice HTML and CSS

Introduction to Bootstrap 4
59 What is Bootstrap?
60 Installing Bootstrap
61 Web Design 101 – Wireframing
62 The Bootstrap Navigation Bar
63 What We’ll Make: TinDog
64 Download the Starting Files
65 Setting Up Our New Project
66 Bootstrap Grid Layout System
67 Getting Montserrat Black and other Font Weights
68 Adding Grid Layouts to Our Website
69 A Note About CSS Link Order
70 Bootstrap Containers
71 Bootstrap Buttons & Font Awesome
72 Styling Our Website Challenges and Solutions
73 Bootstrap Challenge 1
74 Solution to Bootstrap Challenge 1

Intermediate Bootstrap
75 The Bootstrap Carousel Part 1
76 The Bootstrap Carousel Part 2
77 Bootstrap Cards
78 The CSS Z-Index and Stacking Order
79 Media Query Breakpoints
80 Bootstrap Challenge 2
81 Bootstrap Challenge 2 Solution
82 How to become a Better Programmer – Code Refactoring
83 Put it into Practice – Refactor our Website Part 1
84 Advanced CSS – Combining Selectors
85 Refactoring our Website Part 2
86 Advanced CSS – Selector Priority
87 Completing the Website
88 Download the Completed Website

Introduction to Javascript ES6
89 Introduction to Javascript
90 Javascript Alerts – Adding Behaviour to Websites
91 Data Types
92 Javascript Variables
93 Naming and Naming Conventions for Javascript Variables
94 String Concatenation
95 String Lengths and Retrieving the Number of Characters
96 Slicing and Extracting Parts of a String
97 Challenge: Changing Casing in Text
98 Challenge: Changing String Casing Solution
99 Basic Arithmetic and the Modulo Operator in Javascript
100 Increment and Decrement Expressions
101 Functions Part 1: Creating and Calling Functions
102 Functions Part 1 Challenge – The Karel Robot
103 The Karel Chess Board Solution
104 A Quick Note About the Next Lesson
105 Functions Part 2: Parameters and Arguments
106 Functions Part 3: Outputs & Return Values
107 Challenge: Create a BMI Calculator
108 Challenge: BMI Calculator Solution

Intermediate Javascript
109 Random Number Generation in Javascript: Building a Love Calculator
110 Control Statements: Using If-Else Conditionals & Logic
111 Comparators and Equality
112 Combining Comparators
113 Collections: Working with Javascript Arrays
114 Adding Elements and Intermediate Array Techniques
115 Control Statements: While Loops
116 Solution to the 99 Bottles Challenge
117 Control Statements: For Loops

The Document Object Model (DOM)
118 Adding Javascript to Websites
119 Introduction to the Document Object Model (DOM)
120 Solution to the DOM Challenge
121 Selecting HTML Elements with Javascript
122 Manipulating and Changing Styles of HTML Elements with Javascript
123 The Separation of Concerns: Structure vs Style vs Behaviour
124 Text Manipulation and the Text Content Property
125 Manipulating HTML Element Attributes

Boss Level Challenge 1 – The Dicee Game
126 Challenge: The Dicee Challenge
127 Dicee Challenge Step 0 – Download the Skeleton Project
128 Dicee Challenge Step 1 – Create an External Javascript File
129 Dicee Challenge Step 2 – Add Dice Images
130 Dicee Challenge Step 3 – Create a Random Number
131 Dicee Challenge Step 4 – Change the to a Random Dice
132 Dicee Challenge Step 5 – Change both Elements
133 Dicee Challenge Step 6 – Change the Title to Display a Winner
134 The Solution to the Dicee Challenge
135 Download the Completed Website

Advanced Javascript and DOM Manipulation
136 What We’ll Make: Drum Kit
137 Download the Starting Files
138 Adding Event Listeners to a Button
139 Higher Order Functions and Passing Functions as Arguments
140 Higher Order Function Challenge Solution
141 How to Play Sounds on a Website
142 A Deeper Understanding of Javascript Objects
143 How to Use Switch Statements in Javascript
144 Objects, their Methods and the Dot Notation
145 A Quick Note About the Next Lesson
146 Using Keyboard Event Listeners to Check for Key Presses
147 Understanding Callbacks and How to Respond to Events
148 Adding Animation to Websites
149 Download the Completed Website

jQuery
150 What is jQuery?
151 How to Incorporate jQuery into Websites
152 How Minification Works to Reduce File Size
153 Selecting Elements with jQuery
154 Manipulating Styles with jQuery
155 Manipulating Text with jQuery
156 Manipulating Attributes with jQuery
157 Adding Event Listeners with jQuery
158 Adding and Removing Elements with jQuery
159 Website Animations with jQuery

Boss Level Challenge 2 – The Simon Game
160 What You’ll Make: The Simon Game
161 Play the Game
162 Step 0 – Download the Starting Files
163 Step 1 – Add Javascript and jQuery
164 Step 1 – Answer
165 Step 2 – Create A New Pattern
166 Step 2 – Answer
167 Step 3 – Show the Sequence to the User with Animations and Sounds
168 Step 3 – Answer
169 Step 4 – Check Which Button is Pressed
170 Step 4 – Answer
171 Step 5 – Add Sounds to Button Clicks
172 Step 5 – Answer
173 Step 6 – Add Animations to User Clicks
174 Step 6 – Answer
175 Step 7 – Start the Game
176 Step 7 – Answer
177 Step 8 – Check the User’s Answer Against the Game Sequence8
178 Step 8 – Answer
179 Step 9 – Game Over
180 Step 9 – Answer
181 Step 10 – Restart the Game
182 Step 10 – Answer
183 Download the Completed Project Code

The Unix Command Line
184 Command Line Hyper Setup
185 Understanding the Command Line. Long Live the Command Line!
186 Command Line Techniques and Directory Navigation
187 A Quick Note About the Next Lesson
188 Creating, Opening, and Removing Files through the Command Line

Backend Web Development
189 Backend Web Development Explained

Node.js
190 What is Node.js?
191 Install Node.js on Mac
192 Install Node.js on Windows
193 The Power of the Command Line and How to Use Node
194 The Node REPL (Read Evaluation Print Loops)
195 How to Use the Native Node Modules
196 The NPM Package Manager and Installing External Node Modules

Express.js with Node.js
197 What is Express?
198 Creating Our First Server with Express
199 Handling Requests and Responses: the GET Request
200 Nodemon Installation
201 Understanding and Working with Routes
202 What We’ll Make: A Calculator
203 Calculator Setup Challenge
204 Calculator Setup: Challenge Solution
205 Responding to Requests with HTML Files
206 Processing Post Requests with Body Parser
207 BMI Routing Challenge
208 Solution to the BMI Routing Challenge

Git, Github and Version Control
209 Introduction to Version Control and Git
210 Version Control Using Git and the Command Line
211 GitHub and Remote Repositories
212 GitHub Private Repos are now Free! ?
213 Gitignore
214 Cloning
215 Branching and Merging
216 Forking and Pull Requests
217 Optional Git Challenge

APIs – Application Programming Interfaces
218 What are APIs? Application Programming Interfaces Demystified
219 Using the Request Module to Get Data from an API
220 Understanding the JSON Format and Working with JSON
221 API Calls with Parameters
222 What We’ll Make: A MailChimp Newsletter Sign Up Page
223 Setting Up the Newsletter Page
224 Posting Data to MailChimp’s Servers
225 Adding Success and Failure Pages to the Website
226 Deploy the Project to Heroku and Make it Live!

EJS
227 What We’ll Make: A ToDoList
228 Linter Errors with EJS
229 Templates? Why Do We Need Templates?
230 Creating Your First EJS Templates
231 Running Code Inside the EJS Template
232 Passing Data from Your Webpage to Your Server
233 The Concept of Scope in the Context of Javascript
234 Adding Pre-Made CSS Stylesheets to Your Website
235 Understanding Templating vs. Layouts
236 Understanding Node Module Exports: How to Pass Functions and Data between Files

Boss Level Challenge 3 – Blog Website
237 A New Challenge Format and What We’ll Make: A Blog
238 Setting Up the Blog Project
239 Challenge 1
240 Challenge 1 Solution
241 Challenge 2
242 Challenge 2 Solution
243 Challenge 3
244 Challenge 3 Solution
245 Challenge 4
246 Challenge 4 Solution
247 Challenge 5
248 Challenge 5 Solution
249 Challenge 6
250 Challenge 6 Solution
251 Challenge 7
252 Challenge 7 Solution
253 Challenge 8
254 Challenge 8 Solution
255 Challenge 9
256 Challenge 9 Solution
257 Challenge 10
258 Challenge 10 Solution
259 Challenge 11
260 Challenge 11 Solution
261 Challenge 12
262 Challenge 12 Solution
263 Challenge 13
264 Challenge 13 Solution
265 Challenge 14 and Solution
266 Challenge 15
267 Challenge 15 Solution
268 Express Routing Parameters
269 Challenge 16
270 Challenge 16 Solution
271 Challenge 17
272 Challenge 17 Solution
273 Challenge 18
274 Challenge 18 Solution
275 Challenge 19
276 Challenge 19 Solution
277 Challenge 20
278 Challenge 20 Solution
279 Challenge 21
280 Challenge 21 Solution

Databases
281 Databases Explained: SQL vs. NOSQL

SQL
282 SQL Commands: CREATE Table and INSERT Data
283 SQL Commands: READ, SELECT, and WHERE
284 Updating Single Values and Adding Columns in SQL
285 SQL Commands: DELETE
286 Understanding SQL Relationships, Foreign Keys and Inner Joins

MongoDB
287 Installing MongoDB on Mac
288 Installing MongoDB on Windows
289 MongoDB CRUD Operations in the Shell: Create
290 MongoDB CRUD Operations in the Shell: Reading & Queries
291 MongoDB CRUD Operations in the Shell: Update
292 MongoDB CRUD Operations in the Shell: Delete
293 Relationships in MongoDB
294 Working with The Native MongoDB Driver
295 If You Have Forgotten to Quit the Mongod Server

Mongoose
296 Introduction to Mongoose
297 Reading from Your Database with Mongoose
298 Data Validation with Mongoose
299 Updating and Deleting Data Using Mongoose
300 Establishing Relationships and Embedding Documents using Mongoose

Putting Everything Together
301 Let’s take the ToDoList Project to the Next Level and Connect it with Mongoose
302 Rendering Database Items in the ToDoList App
303 Adding New Items to our ToDoList Database
304 Deleting Items from our ToDoList Database
305 Creating Custom Lists using Express Route Parameters
306 Adding New Items to the Custom ToDo Lists
307 Revisiting Lodash and Deleting Items from Custom ToDo Lists

Deploying Your Web Application
308 How to Deploy Web Apps with a Database
309 How to Setup MongoDB Atlas
310 Deploying an App with a Database to Heroku

Boss Level Challenge 4 – Blog Website Upgrade
311 Challenge: Give your Blog a Database
312 Step 0 – Download the Starting Files
313 Step 1 – Save Composed Posts with MongoDB
314 Step 2 – Get the Home Page to Render the Posts
315 Step 3 – Fix the bug
316 Step 4 – Render the correct blog post based on post _id
317 Completed Blog with Database Solution

Build Your Own RESTful API From Scratch
318 What is REST?
319 Creating a Database with Robo 3T
320 Set Up Server Challenge
321 Set Up Server Solution
322 GET All Articles
323 POST a New Article
324 DELTE All Articles
325 Chained Route Handlers Using Express
326 GET a Specific Article
327 PUT a Specific Article
328 PATCH a Specific Article
329 DELETE a Specific Article
330 Download the Completed Project Code

Authentication & Security
331 Introduction to Authentication
332 Getting Set Up
333 Level 1 – Register Users with Username and Password
334 How to Review the Source Code
335 Level 2 – Database Encryption
336 Using Environment Variables to Keep Secrets Safe
337 Level 3 – Hashing Passwords
338 Hacking 101
339 Level 4 – Salting and Hashing Passwords with bcrypt
340 What are Cookies and Sessions?
341 Using Passport.js to Add Cookies and Sessions
342 Level 6 – OAuth 2.0 & How to Implement Sign In with Google
343 Finishing Up the App – Letting Users Submit Secrets
344 Download the Completed Project Code

Bonus Module: Design School 101
345 Designer vs. Non-Designer Thinking
346 Understanding the Mood of Your Colour Palette
347 How to Combine Colours to Create Colour Palettes
348 Tools for Designing with Colour
349 Introduction to Typography
350 The Serif Type Family – Origin and Use
351 The Sans-Serif Type Family – Origin and Use
352 How Typography Determines Readability
353 How to Combine Fonts Like a Pro
354 What is User Interface (UI) Design?
355 The Tour Guide Approach to UI Design
356 The Importance of Alignment
357 What is Good Practice in Interaction Design
358 Colour in User Interface Design
359 The Many Ways of Designing Text Overlays
360 How to Be an Attention Architect

Bonus Module: Ask Angela Anything
361 AAA 1 – How to Soak in Programming Concepts and more…
362 AAA 2 – Schedule for Learning to Code and more…
363 AAA 3 – How to Start Freelancing and more…

Next Steps
364 Vote for the Next Module!