Legacy Complete Web Development Course
This is the outdated version of the Complete Web Development Course from 2018
This is the legacy (outdated) version of our Complete Web Development Bootcamp. It is hosted here for free so that our students who are working through the old course can still access the legacy content. It is completely free, you don't need to sign up or give us your email to view it. Just click on preview for the lessons.
You can find the new version of the course here:
https://www.udemy.com/course/the-complete-web-deve...
Course Curriculum
-
PreviewWhat You'll Get in This Course (3:08)
-
PreviewDownload the Course Syllabus
-
PreviewDownload the Course Resources
-
PreviewHow Does the Internet Actually Work? (5:42)
-
PreviewHow Do Websites Actually Work? (6:20)
-
PreviewDownload the Required Software
-
PreviewWhat You'll Need to Get Started - Setup Your Local Web Development Environment (4:38)
-
PreviewSetup Packages (2:58)
-
PreviewHow to Get Help When You're Stuck (6:44)
-
PreviewPathfinder
-
PreviewIntroduction to HTML (10:51)
-
PreviewThe Anatomy of an HTML Tag (10:55)
-
PreviewWhat we're building - HTML Personal Site (2:52)
-
PreviewWhat is The HTML Boilerplate (17:01)
-
PreviewHow to Structure Text in HTML (11:00)
-
PreviewHTML Lists (5:24)
-
PreviewHTML Image Elements (7:32)
-
PreviewHTML Links and Anchor Tags (11:55)
-
PreviewHow to Ace this Course (1:24)
-
PreviewHTML Tables (12:03)
-
PreviewUsing HTML Tables for Layout (2:16)
-
PreviewHTML Tables Code Challenge (1:44)
-
PreviewHTML Tables Solution Walkthrough (6:44)
-
PreviewHTML Forms (9:17)
-
PreviewForms in Practice - Create a Contact Me Form (7:29)
-
PreviewPublish Your Website! (6:48)
-
PreviewTip from Angela - Habit Building with the Calendar Trick (2:52)
-
PreviewGet Monthly Tips and Tools to Level Up as a Developer
-
PreviewIntroduction to CSS (3:04)
-
PreviewInline CSS (9:56)
-
PreviewInternal CSS (20:22)
-
PreviewExternal CSS (8:29)
-
PreviewHow to Debug CSS Code (13:37)
-
PreviewThe Anatomy of CSS Syntax (13:08)
-
PreviewCSS Selectors (6:23)
-
PreviewClasses vs. Ids (11:44)
-
PreviewCSS Quiz
-
PreviewTip from Angela - Dealing with Distractions (2:28)
-
PreviewWhat We'll Make - Stylised Personal Site (4:57)
-
PreviewWhat Are Favicons? (3:47)
-
PreviewHTML Divs (13:33)
-
PreviewThe Box Model of Website Styling (19:25)
-
PreviewCSS Display Property (15:11)
-
PreviewLearn More About Web Design
-
PreviewCSS Static and Relative Positioning (14:36)
-
PreviewAbsolute positioning (12:12)
-
PreviewThe Dark Art of Centering Elements with CSS (9:03)
-
PreviewFont Styling in Our Personal Site (13:59)
-
PreviewLearn More About Typography
-
PreviewAdding Content to Our Website (6:53)
-
PreviewCSS Sizing (15:39)
-
PreviewFont Properties Challenge 1 - Change the Font Colour
-
PreviewFont Properties Challenge 2 - Change the Font Weight
-
PreviewFont Properties Challenge 3 - Change the Line Height
-
PreviewCSS Font Property Challenge Solutions (3:57)
-
PreviewCSS Float and Clear (15:14)
-
PreviewCSS Challenge
-
PreviewStylised Personal Site Solution Walkthrough (21:22)
-
Preview[Optional] Get More Practice with CSS and HTML
-
PreviewTip from Angela - Nothing Easy is Worth Doing! (3:35)
-
PreviewWhat is Bootstrap? (14:36)
-
PreviewInstalling Bootstrap (7:55)
-
PreviewWeb Design 101 - Wireframing (11:38)
-
PreviewThe Bootstrap Navigation Bar (20:40)
-
PreviewWhat We'll Make: TinDog (0:56)
-
PreviewDownload the TinDog Starting Files
-
PreviewSetting Up Our New project (7:41)
-
PreviewBootstrap Grid Layout System (20:17)
-
PreviewAdding Grid Layouts to Our Website (9:39)
-
PreviewBootstrap Containers (5:54)
-
PreviewBootstrap Buttons & Font Awesome (11:30)
-
PreviewStyling Our Website Challenges and Solutions (20:20)
-
PreviewBootstrap Challenge 1
-
PreviewSolution to Bootstrap Challenge 1 (17:01)
-
PreviewTip from Angela - How to Deal with Procrastination (4:07)
-
PreviewThe Bootstrap Carousel Part 1 (9:39)
-
PreviewThe Bootstrap Carousel Part 2 (17:20)
-
PreviewBootstrap Cards (16:31)
-
PreviewCSS Z-Index and Stacking Order (21:28)
-
PreviewMedia Query Breakpoints (22:03)
-
PreviewBoostrap Challenge 2
-
PreviewBootstrap Challenge 2 Solution (11:46)
-
PreviewHow to become a Better Programmer - Code Refactoring (7:48)
-
PreviewPut it into Practice - Refactor our Website Part 1 (19:20)
-
PreviewAdvanced CSS - Combining Selectors (11:43)
-
PreviewRefactoring our Website Part 2 (5:21)
-
PreviewAdvanced CSS - Selector Priority (5:51)
-
PreviewCompleting the Website (2:34)
-
PreviewDownload the Complete Website
-
PreviewTip from Angela - Building a Programming Habit (2:46)
-
PreviewWhat is Node.js? (5:40)
-
PreviewInstall Node on Mac
-
PreviewInstall Node on Windows
-
PreviewThe Power of the Command Line and How to Use Node (6:27)
-
PreviewThe Node REPL (Read Evaluation Print Loops)
-
PreviewHow to Use the Native Node Modules (8:19)
-
PreviewThe NPM Package Manager and Installing External Node Modules (13:44)
-
PreviewTip from Angela - Step Up to the Challenge (1:14)
-
PreviewWhat is Express? (3:24)
-
PreviewCreating Our First Server with Express (11:29)
-
PreviewHandling Requests and Responses: the GET Request (8:12)
-
PreviewUnderstanding and Working with Routes (9:23)
-
PreviewWhat We'll Make: A Calculator (1:52)
-
PreviewCalculator Setup Challenge
-
PreviewCalculator Setup: Challenge Solution (5:43)
-
PreviewResponding to Requests with HTML Files (7:40)
-
PreviewProcessing Post Requests with Body Parser (14:19)
-
PreviewBMI Routing Challenge
-
PreviewSolution to the BMI Routing Challenge (6:29)
-
PreviewTip from Angela - How to Solidify Your Knowledge (2:55)
-
PreviewWhat are APIs? Application Programming Interfaces Demystified (29:33)
-
PreviewUsing the Request Module to Get Data from an API (17:39)
-
PreviewUnderstanding the JSON Format and Working with JSON (22:20)
-
PreviewAPI Calls with Parameters (14:53)
-
PreviewWhat We'll Make: A MailChimp Newsletter Sign Up Page (2:41)
-
PreviewSetting Up the Newsletter Page (21:08)
-
PreviewPosting Data to MailChimp's Servers (26:45)
-
PreviewAdding Success and Failure Pages to the Website (10:20)
-
PreviewDeploy the Project to Heroku and Make it Live! (19:28)
-
PreviewWhy Do We Need APIs? (8:50)
-
PreviewAPI Endpoints, Paths and Parameters. (10:59)
-
PreviewAPI Authentication and Postman (11:34)
-
PreviewWhat is JSON? (4:54)
-
PreviewMaking GET Requests with the Node HTTPS Module (13:00)
-
PreviewHow to Parse JSON (13:05)
-
PreviewUsing Express to Render a Website with Live API Data (8:23)
-
PreviewUsing Body Parser to Parse POST Requests to the Server (10:05)
-
PreviewThe Mailchimp API - What You'll Make (2:41)
-
PreviewSetting Up the Sign Up Page (20:52)
-
PreviewPosting Data to Mailchimp's Servers via their API (18:37)
-
PreviewAdding Success and Failure Pages (8:55)
-
PreviewDeploying Your Server with Heroku (18:38)
-
PreviewTip from Angela - Location, Location, Location! (2:06)
-
PreviewIntroduction to Version Control and Git (2:35)
-
PreviewVersion Control Using Git and the Command Line (15:02)
-
PreviewGitHub and Remote Repositories (11:00)
-
PreviewGitignore (12:02)
-
PreviewCloning (5:05)
-
PreviewBranching and Merging (17:25)
-
PreviewOptional Git Challenge
-
PreviewForking and Pull Requests (17:08)
-
PreviewTip from Angela - Spaced Repetition (4:01)
-
PreviewWhat We'll Make: A ToDoList (0:46)
-
PreviewLinter Errors with EJS
-
PreviewTemplates? Why Do We Need Templates? (15:10)
-
PreviewCreating Your First EJS Templates (17:53)
-
PreviewRunning Code Inside the EJS Template (6:33)
-
PreviewPassing Data from Your Webpage to Your Server (25:05)
-
PreviewThe Concept of Scope in the Context of Javascript (8:40)
-
PreviewAdding Pre-Made CSS Stylesheets to Your Website (16:14)
-
PreviewUnderstanding Templating vs. Layouts (13:35)
-
PreviewUnderstanding Node Module Exports: How to Pass Functions and Data between Files (21:45)
-
PreviewTip from Angela - Use Accountability in your Favour (2:56)
-
PreviewA New Challenge Format and What We'll Make: A Blog (6:18)
-
PreviewSetting Up the Blog Project (7:06)
-
PreviewChallenge 1 (4:04)
-
PreviewChallenge 1 Solution (2:37)
-
PreviewChallenge 2 (4:07)
-
PreviewChallenge 2 Solution (2:09)
-
PreviewChallenge 3 (2:37)
-
PreviewChallenge 3 Solution (2:31)
-
PreviewChallenge 4 (2:05)
-
PreviewChallenge 4 Solution (1:52)
-
PreviewChallenge 5 (2:47)
-
PreviewChallenge 5 Solution (4:16)
-
PreviewChallenge 6 (1:24)
-
PreviewChallenge 6 Solution (1:15)
-
PreviewChallenge 7 (0:59)
-
PreviewChallenge 7 Solution (1:54)
-
PreviewChallenge 8 (3:26)
-
PreviewChallenge 8 Solution (3:36)
-
PreviewChallenge 9 (4:42)
-
PreviewChallenge 9 Solution (6:33)
-
PreviewChallenge 10 (2:24)
-
PreviewChallenge 10 Solution (3:13)
-
PreviewChallenge 11 (3:21)
-
PreviewChallenge 11 Solution (3:00)
-
PreviewChallenge 12 (1:55)
-
PreviewChallenge 12 Solution (2:34)
-
PreviewChallenge 13 (2:46)
-
PreviewChallenge 13 Solution (3:37)
-
PreviewChallenge 14 and Solution (6:28)
-
PreviewChallenge 15 (1:41)
-
PreviewChallenge 15 Solution (3:14)
-
PreviewExpress Routing Parameters (6:38)
-
PreviewChallenge 16 (1:55)
-
PreviewChallenge 16 Solution (2:32)
-
PreviewChallenge 17 (3:54)
-
PreviewChallenge 17 Solution (5:30)
-
PreviewChallenge 18 (6:04)
-
PreviewChallenge 18 Solution (4:19)
-
PreviewChallenge 19 (2:57)
-
PreviewChallenge 19 Solution (4:54)
-
PreviewChallenge 20 (2:58)
-
PreviewChallenge 20 Solution (3:18)
-
PreviewChallenge 21 (2:15)
-
PreviewChallenge 21 Solution (3:44)
-
PreviewTip from Angela - When Life Gives You Lemons (6:01)
-
PreviewInstalling MongoDB on Mac (12:34)
-
PreviewInstalling MongoDB on Windows (9:20)
-
PreviewMongoDB CRUD Operations in the Shell: Create (9:37)
-
PreviewMongoDB CRUD Operations in the Shell: Reading & Queries (6:22)
-
PreviewMongoDB CRUD Operations in the Shell: Update (4:07)
-
PreviewMongoDB CRUD Operations in the Shell: Delete (1:45)
-
PreviewRelationships in MongoDB (6:12)
-
PreviewWorking with The Native MongoDB Driver (19:03)
-
PreviewIf You Have Forgotten to Quit the Mongod Server
-
PreviewTip from Angela - Daily Routines (2:34)
-
PreviewIntroduction to Mongoose (20:26)
-
PreviewReading from Your Database with Mongoose (7:28)
-
PreviewData Validation with Moongoose (7:56)
-
PreviewUpdating and Deleting Data Using Mongoose (10:06)
-
PreviewEstablishing Relationships and Embedding Documents Using Mongoose (6:45)
-
PreviewTip from Angela - Deep Work (3:01)
-
PreviewLet's take the ToDoList Project to the Next Level and Connect it with Mongoose (16:46)
-
PreviewRendering Database Items in the ToDoList App (13:25)
-
PreviewAdding New Items to our ToDoList Database (3:56)
-
PreviewDeleting Items from our ToDoList Database (13:48)
-
PreviewCreating Custom Lists using Express Route Parameters (16:12)
-
PreviewAdding New Items to the Custom ToDo Lists (7:31)
-
PreviewRevisiting Lodash and Deleting Items from Custom ToDo Lists (19:10)
-
PreviewTip from Angela - One Step at a Time (2:54)
-
PreviewChallenge: Give your Blog a Database (2:31)
-
PreviewStep 0 - Download the Starting Files
-
PreviewStep 1 - Save Composed Posts with MongoDB
-
PreviewStep 2 - Get the Home Page to Render the Posts
-
PreviewFix the bug
-
PreviewStep 4 - Render the correct blog post based on post _id
-
PreviewCompleted Blog with Database Solution
-
PreviewTip from Angela - Dealing with Limitations (5:22)
-
PreviewREST Explained (17:08)
-
PreviewCreating a Database with Robo 3T (9:29)
-
PreviewSet Up Server Challenge (2:09)
-
PreviewSet up Server Solution (7:30)
-
PreviewGET All Articles (6:50)
-
PreviewPOST a New Article (12:51)
-
PreviewDELETE All Articles (5:11)
-
PreviewChained Route Handlers Using Express (7:07)
-
PreviewGET a Specific Article (14:02)
-
PreviewPUT a Specific Article (10:32)
-
PreviewPATCH a Specific Article (7:17)
-
PreviewDELETE a Specific Article (4:04)
-
PreviewDownload the Completed Project
-
PreviewTip from Angela - How to Get a Job as Programmer (2:06)
-
PreviewIntroduction to Authentication (5:46)
-
PreviewGetting Set Up (7:26)
-
PreviewNew Lecture
-
PreviewLevel 1 - Authentication with Username and Password (14:43)
-
PreviewLevel 2 - Database Encryption (16:35)
-
PreviewSecurity and Environment Variables (17:40)
-
PreviewLevel 3 - Hashing Passwords (15:25)
-
PreviewHacking 101 (12:28)
-
PreviewLevel 4 - Hashing and Salting with bcrypt (20:41)
-
PreviewCookies and Sessions (8:19)
-
PreviewLevel 5 - Passport.js Local & Sessions (29:30)
-
PreviewLevel 6 - OAuth 2.0 and Social Login with Google (47:46)
-
PreviewFinishing the App - Allowing Users to Submit Secrets (13:40)
-
PreviewHow to Review the Source Code for Each Lesson
-
PreviewTip from Angela - How to Work as a Freelancer (1:37)
Your Instructor
Hi, I'm Angela. I'm the lead mobile instructor at the App Brewery where we have over 2,000,000 students worldwide.
My first foray into programming was when I was just 12 years old, wanting to build my own Space Invaders. Since then, I've made hundreds of apps and some awesome games to boot. In my courses, you'll find lots of geeky humour but also detailed explanations and plenty of animations to make sure everything is easy to understand. I'll be there for you every step of the way.
As seen in: