Course Contents
-
Section 1: Front-End Web Development
-
1 The Complete Full-Stack Web Development Bootcamp03:06
-
2 What You'll Get in This Course03:08
-
3 How Does the Internet Actually Work?05:27
-
4 How Do Websites Actually Work?08:22
-
5 How to Get the Most Out of the Course09:33
-
6 How to Get Help When You're Stuck06:39
-
-
Section 2: Introduction to HTML
-
7 What is HTML?04:18
-
8 How to Download the Course Resources02:43
-
9 HTML Heading Elements14:24
-
10 HTML Paragraph Elements08:40
-
11 Self Closing Tags11:40
-
12 [Project] Movie Ranking05:43
-
13 How to Ace this Course01:24
-
-
Section 3: Intermediate HTML
-
14 The List Element10:32
-
15 Nesting and Indentation14:09
-
16 Anchor Elements10:45
-
17 Image Elements08:17
-
18 [Project] Birthday Invite04:01
-
19 Tip from Angela - Habit Building with the Calendar Trick02:52
-
-
Section 4: Multi-Page Websites
-
20 Computer File Paths19:20
-
21 What are Webpages?12:55
-
22 The HTML Boilerplate12:53
-
23 [Project] Portfolio Website08:34
-
24 How to Host Your Website for Free with GitHub08:33
-
25 Introduction to Capstone Projects05:05
-
-
Section 5: Introduction to CSS
-
26 Why do we need CSS?08:44
-
27 How to add CSS15:19
-
28 CSS Selectors22:56
-
29 [Project] Colour Vocab Website09:08
-
30 Tip from Angela - Dealing with Distractions02:28
-
-
Section 6: CSS Properties
-
31 CSS Colours07:05
-
32 Font Properties21:26
-
33 Inspecting CSS11:52
-
34 The CSS Box Model - Margin, Padding and Border20:45
-
35 [Project] Motivational Poster Website07:37
-
-
Section 7: Intermediate CSS
-
36 The Cascade - Specificity and Inheritance25:28
-
37 Combining CSS Selectors23:12
-
38 CSS Positioning22:50
-
39 [Project] CSS Flag17:54
-
40 Tip from Angela - Nothing Easy is Worth Doing!03:35
-
-
Section 8: Advanced CSS
-
41 CSS Display11:30
-
42 CSS Float11:39
-
43 How to Create Responsive Websites18:44
-
44 Media Queries10:32
-
45 [Project] Web Design Agency Website07:06
-
46 Tip from Angela - How to Deal with Procrastination04:08
-
-
Section 9: Flexbox
-
47 Display: Flex14:21
-
48 Flex Direction13:43
-
49 Flex Layout19:22
-
50 Flex Sizing24:27
-
51 [Project] Pricing Table10:08
-
52 Tip from Angela - Building a Programming Habit02:46
-
-
Section 10: Grid
-
53 Display: Grid14:55
-
54 Grid Sizing23:32
-
55 Grid Placement26:17
-
56 [Project] Mondrian Painting06:45
-
-
Section 11: Bootstrap
-
57 What is Bootstrap?15:35
-
58 Bootstrap Layout21:13
-
59 Bootstrap Components31:39
-
60 [Project] TinDog Startup Website31:22
-
-
Section 12: Web Design School - Create a Website that People Love
-
61 Introduction to Web Design03:55
-
62 Understanding Colour Theory09:04
-
63 Understanding Typography and How to Choose a Font10:28
-
64 Manage ATTENTION with effective User Interface (UI) Design10:27
-
65 User Experience (UX) Design13:39
-
66 Web Design in Practice - Let's apply what we've learnt!18:20
-
-
Section 13: Capstone Project 2 - Personal Site
-
Section 14: Introduction to Javascript ES6
-
67 Introduction to Javascript11:49
-
68 Javascript Alerts - Adding Behaviour to Websites14:20
-
69 Data Types04:06
-
70 Javascript Variables09:35
-
71 Javascript Variables Exercise Start02:48
-
72 Javascript Variables Exercise Solution03:27
-
73 Naming and Naming Conventions for Javascript Variables07:09
-
74 String Concatenation03:07
-
75 String Lengths and Retrieving the Number of Characters06:24
-
76 Slicing and Extracting Parts of a String08:56
-
77 Challenge: Changing Casing in Text03:39
-
78 Challenge: Changing String Casing Solution08:59
-
79 Basic Arithmetic and the Modulo Operator in Javascript06:14
-
80 Increment and Decrement Expressions02:28
-
81 Functions Part 1: Creating and Calling Functions10:35
-
82 Functions Part 1 Challenge - The Karel Robot09:08
-
83 Functions Part 2: Parameters and Arguments09:52
-
84 Life in Weeks Solution03:44
-
85 Functions Part 3: Outputs & Return Values11:16
-
86 Challenge: Create a BMI Calculator01:49
-
87 Challenge: BMI Calculator Solution05:39
-
88 Tip from Angela - Set Your Expectations02:35
-
-
Section 15: Intermediate Javascript
-
89 Random Number Generation in Javascript: Building a Love Calculator11:15
-
90 Control Statements: Using If-Else Conditionals & Logic04:48
-
91 Comparators and Equality02:51
-
92 Combining Comparators02:46
-
93 Introducing the Leap Year Code Challenge04:16
-
94 Leap Year Solution03:03
-
95 Collections: Working with Javascript Arrays09:01
-
96 Adding Elements and Intermediate Array Techniques15:58
-
97 Who's Buying Lunch Solution03:43
-
98 Control Statements: While Loops07:52
-
99 Control Statements: For Loops06:10
-
100 Introducing the Fibonacci Code Challenge06:37
-
101 Fibonacci Solution08:16
-
102 Tip from Angela - Retrieval is How You Learn02:52
-
-
Section 16: The Document Object Model (DOM)
-
103 Adding Javascript to Websites10:44
-
104 Introduction to the Document Object Model (DOM)12:28
-
105 Selecting HTML Elements with Javascript14:17
-
106 Manipulating and Changing Styles of HTML Elements with Javascript05:01
-
107 The Separation of Concerns: Structure vs Style vs Behaviour05:57
-
108 Text Manipulation and the Text Content Property02:37
-
109 Manipulating HTML Element Attributes02:27
-
110 Tip from Angela - The 20 Minute Method02:39
-
-
Section 17: Boss Level Challenge 1 - The Dicee Game
-
111 Challenge: The Dicee Challenge02:14
-
112 The Solution to the Dicee Challenge14:43
-
113 Tip from Angela - Learning Before you Eat02:06
-
-
Section 18: Advanced Javascript and DOM Manipulation
-
114 What We'll Make: Drum Kit01:19
-
115 Adding Event Listeners to a Button14:29
-
116 Higher Order Functions and Passing Functions as Arguments12:40
-
117 How to Play Sounds on a Website11:11
-
118 How to Use Switch Statements in Javascript05:22
-
119 A Deeper Understanding of Javascript Objects12:04
-
120 Objects, their Methods and the Dot Notation06:29
-
121 Using Keyboard Event Listeners to Check for Key Presses07:37
-
122 Understanding Callbacks and How to Respond to Events11:35
-
123 Adding Animation to Websites08:31
-
124 Tip from Angela - Dealing with Lack of Progress03:08
-
-
Section 19: jQuery
-
125 What is jQuery?03:44
-
126 How to Incorporate jQuery into Websites09:08
-
127 How Minification Works to Reduce File Size03:58
-
128 Selecting Elements with jQuery02:01
-
129 Manipulating Styles with jQuery05:13
-
130 Manipulating Text with jQuery03:36
-
131 Manipulating Attributes with jQuery03:44
-
132 Adding Event Listeners with jQuery07:47
-
133 Adding and Removing Elements with jQuery02:58
-
134 Website Animations with jQuery08:13
-
135 Tip from Angela - Mixing Knowledge02:20
-
-
Section 20: Boss Level Challenge 2 - The Simon Game
-
136 What You'll Make: The Simon Game01:00
-
137 Tip from Angela - Dealing with Frustration02:31
-
-
Section 21: The Unix Command Line
-
138 Install Git Bash on Windows02:46
-
139 Understanding the Command Line. Long Live the Command Line!05:25
-
140 Command Line Techniques and Directory Navigation09:44
-
141 Creating, Opening, and Removing Files through the Command Line08:38
-
142 Tip from Angela - Sleep is My Secret Weapon03:48
-
-
Section 22: Backend Web Development
-
143 Backend Web Development Explained15:13
-
144 Backend Tools and Technologies - Which one to learn?05:40
-
-
Section 23: Node.js
-
145 What is Node.js?10:39
-
146 Using Node.js08:23
-
147 How to Use the Native Node Modules12:12
-
148 The NPM Package Manager and Installing External Node Modules16:21
-
149 [Project] QR Code Generator15:49
-
150 Tip from Angela - Step Up to the Challenge01:14
-
-
Section 24: Express.js with Node.js
-
151 What is Express?06:59
-
152 Creating Our First Server with Express21:35
-
153 HTTP Requests23:44
-
154 Postman19:15
-
155 Introduction to Middlewares18:25
-
156 Custom Middlewares19:28
-
157 Secrets Access Project08:21
-
158 Tip from Angela - How to Solidify Your Knowledge02:55
-
-
Section 25: EJS
-
159 What is EJS?22:54
-
160 EJS Tags17:43
-
161 Passing Data to EJS Templates16:45
-
162 EJS Partials and Layouts18:08
-
163 Band Generator Project12:01
-
164 Tip from Angela - Location, Location, Location!02:06
-
-
Section 26: Capstone Project - Create a Blog web application
-
Section 27: Git, Github and Version Control
-
165 Introduction to Version Control and Git02:04
-
166 Version Control Using Git and the Command Line14:18
-
167 GitHub and Remote Repositories10:22
-
168 Gitignore10:59
-
169 Cloning09:28
-
170 Branching and Merging10:29
-
171 Forking and Pull Requests15:17
-
172 Tip from Angela - Spaced Repetition04:01
-
-
Section 28: Application Programming Interfaces (APIs)
-
173 Introduction to APIs19:27
-
174 Structuring API Requests14:22
-
175 What is JSON?17:56
-
176 Making Server-Side API Requests with Axios18:00
-
177 API Authentication37:45
-
178 REST APIs25:17
-
179 Secrets Project12:01
-
180 Tip from Angela - Use Accountability in your Favour02:56
-
-
Section 29: Capstone Project - Use a Public API
-
Section 30: Build Your Own API
-
181 Building your own APIs17:49
-
182 Creating GET Routes20:57
-
183 Creating POST, PUT, and PATCH Routes14:36
-
184 Creating the DELETE Route06:32
-
185 Build your own API for a Blog14:54
-
186 Tip from Angela - How to Get a Job as Programmer02:06
-
-
Section 31: Databases
-
187 Databases Explained: SQL vs. NoSQL15:44
-
188 Tip from Angela - When Life Gives You Lemons06:01
-
-
Section 32: SQL
-
189 SQL Commands: CREATE Table and INSERT Data13:48
-
190 SQL Commands: READ, SELECT, and WHERE03:10
-
191 Updating Single Values and Adding Columns in SQL04:42
-
192 SQL Commands: DELETE01:32
-
193 Understanding SQL Relationships, Foreign Keys and Inner Joins11:13
-
194 Tip from Angela - Find All the Hard Working People02:01
-
-
Section 33: PostgreSQL
-
195 Introduction to Postgres08:10
-
196 Understand how to use keys, Postgres types and keywords10:31
-
197 Use pgAdmin to CREATE a TABLE17:05
-
198 READ data from a Postgres database23:08
-
199 Query data using SELECT, WHERE, and LIKE19:18
-
200 UNIQUE and NOT NULL | Travel Tracker Part 118:50
-
201 INSERT and add Data | Travel Tracker Part 217:12
-
202 Travel Tracker Part 311:25
-
203 One to One Relationships & Inner Joins11:59
-
204 One to Many Relationships13:23
-
205 Many to Many Relationships & Aliases12:28
-
206 The Family Travel Tracker34:49
-
207 How to update and delete data & tables18:57
-
208 Permalist Project29:59
-
209 Tip from Angela - Daily Routines02:34
-
-
Section 34: Capstone Project - Book Notes
-
Section 35: Authentication and Security - Handling Credentials & Designing a Secure Login
-
210 Introduction to Authentication05:41
-
211 Level 1 - Registering Users with Email and Password22:00
-
212 Level 2 - Encryption and Hashing16:01
-
213 How to Hack Passwords12:26
-
214 Level 3 - How to Salt Passwords for Improved Encryption18:51
-
215 Managing Cookies and Sessions33:27
-
216 Level 5 - Hide your Secrets with Environment Variables17:17
-
217 Level 6 - OAuth: Implement "Sign In with Google"30:56
-
218 Finish the app: let users submit secrets15:40
-
219 Tip from Angela - How to Work as a Freelancer01:37
-
-
Section 36: React.js
-
220 What is React?07:28
-
221 What we will make in this React module01:34
-
222 Introduction to Code Sandbox and the Structure of the Module05:45
-
223 Introduction to JSX and Babel16:59
-
224 JSX Code Practice07:30
-
225 Javascript Expressions in JSX & ES6 Template Literals11:42
-
226 Javascript Expressions in JSX Practice08:34
-
227 JSX Attributes & Styling React Elements16:58
-
228 Inline Styling for React Elements08:41
-
229 React Styling Practice09:59
-
230 React Components15:47
-
231 React Components Practice05:01
-
232 Javascript ES6 - Import, Export and Modules11:10
-
233 Javascript ES6 Import, Export and Modules Practice04:04
-
234 Keeper App Project - Part 1 Challenge04:57
-
235 Keeper App Part 1 Solution14:07
-
236 React Props16:44
-
237 React Props Practice13:19
-
238 React DevTools17:19
-
239 Mapping Data to Components10:20
-
240 Mapping Data to Components Practice17:30
-
241 Javascript ES6 Map/Filter/Reduce20:21
-
242 Javascript ES6 Arrow functions09:56
-
243 Keeper App Project - Part 210:23
-
244 React Conditional Rendering with the Ternary Operator & AND Operator19:24
-
245 Conditional Rendering Practice06:33
-
246 State in React - Declarative vs. Imperative Programming09:38
-
247 React Hooks - useState18:09
-
248 useState Hook Practice07:24
-
249 Javascript ES6 Object & Array Destructuring17:44
-
250 Javascript ES6 Destructuring Challenge Solution05:48
-
251 Event Handling in React11:10
-
252 React Forms13:40
-
253 Class Components vs. Functional Components06:24
-
254 Changing Complex State19:43
-
255 Changing Complex State Practice07:08
-
256 Javascript ES6 Spread Operator10:58
-
257 Javascript ES6 Spread Operator Practice12:20
-
258 Managing a Component Tree22:37
-
259 Managing a Component Tree Practice08:27
-
260 Keeper App Project - Part 325:05
-
261 React Dependencies & Styling the Keeper App16:38
-
262 Tip from Angela - How to Build Your Own Product02:14
-
-
Section 37: Web3 Decentralised App (DApp) Development with the Internet Computer
-
263 What is Web3?07:38
-
264 How does the Blockchain actually work?25:45
-
265 What are DApps (Decentralised Apps) and how do you develop them?09:18
-
266 What is the Internet Computer (ICP)?09:18
-
267 [Mac Users] Installation and Setup for Web3 Development07:03
-
268 [Windows Users] Installation and Setup for Web3 Development12:45
-
-
Section 38: Build Your First Defi (Decentralised Finance) DApp - DBANK
-
269 What You'll Build - DBANK (Inspired by Compound)02:16
-
270 Introduction to the Motoko Language12:36
-
271 Motoko Functions and the Candid User Interface16:00
-
272 Motoko Conditionals and Type Annotations05:34
-
273 Query vs. Update Methods08:09
-
274 Orthogonal Persistance08:03
-
275 Tracking Time and Calculating Compound Interest17:35
-
276 Adding HTML and CSS to Create the Frontend for DBANK07:35
-
277 Connecting the Motoko Backend to our JS Frontend27:07
-
-
Section 39: Deploying to the ICP Live Blockchain
-
278 What are Cycles and the ICP Token?07:07
-
279 How to Deploy to the ICP Network03:03
-
280 How to Convert ICP into Cycles?05:57
-
281 [Optional] How to Deploy a Static Website onto the ICP Blockchain for Hosting07:37
-
-
Section 40: Building DApps on ICP with a React Frontend
-
282 How to Configure a DFX Created Project to Use React11:25
-
283 Storing Data on a Canister16:04
-
284 Retrieving Data from a Canister11:58
-
285 Deleting and Persistance16:35
-
-
Section 41: Create Your Own Crypto Token
-
286 Tokens and Coins: What are they and how are they used?09:17
-
287 Download and Configure the Skeleton Project06:10
-
288 Using Motoko Hashmaps to Store Token Balances19:34
-
289 Showing the User's Token Balance on the Frontend13:58
-
290 Creating the Faucet Functionality Using the Shared Keyword15:16
-
291 Creating the Transfer Functionality20:52
-
292 Using the Transfer Functionality in the Faucet06:39
-
293 Persisting Non-Stable Types Using the Pre- and Postupgrade Methods15:43
-
294 What is the Internet Identity?05:30
-
295 Authenticating with the Internet Identity07:56
-
296 [Optional] Live Deployment to Test Internet Identity Authentication18:27
-
-
Section 42: Minting NFTs and Building an NFT Marketplace like OpenSea
-
297 What You'll Build - A Website to Mint, Buy and Sell NFTs10:23
-
298 Minting NFTs16:43
-
299 Viewing the NFT on the Frontend20:02
-
300 Enabling the Minting Functionality on the Frontend30:38
-
301 Displaying Owned NFTs Using the React Router36:39
-
302 Listing NFTs for Sale33:48
-
303 Styling the Listed NFTs11:16
-
304 Creating the "Discover" Page22:37
-
305 Buying NFTs32:02
-
-
Section 43: Optional Module: Ask Angela Anything
-
306 AAA 1 - How to Soak in Programming Concepts and more...39:42
-
307 AAA 2 - Schedule for Learning to Code and more...39:08
-
308 AAA 3 - How to Start Freelancing and more...25:19
-
309 AAA 4 - The Live AMA59:52
-
-
Section 44: Next Steps
This comprehensive course aims to equip you with the skills necessary to become a full-stack web developer. By covering technologies like HTML, CSS, JavaScript, Node.js, React, PostgreSQL, and Web3 concepts, this course offers a complete package for aspiring developers. You’ll learn to build both the front-end and back-end of modern web applications from scratch, including decentralized applications.
This course was originally published on Udemy and is being provided here for free streaming. If you find the content valuable and want support the creator, why not buy the original course?
Course Details
- Instructor: Dr. Angela Yu, Developer and Lead Instructor
- Total Sections: 44
- Total Lectures: 373
- Original Content URL: https://udemy.com/course/the-complete-web-development-bootcamp/
- Contributor: Jarin Tasnim
A big thanks to Jarin Tasnim for sharing this course!
By the end of the course, you'll be able to:
- Build responsive and interactive user interfaces using HTML and CSS.
- Implement dynamic functionality using JavaScript for front-end development.
- Master Node.js to create server-side applications.
- Work with Express.js to build robust APIs.
- Integrate databases like PostgreSQL for persistent data.
- Understand and use version control with Git and GitHub.
- Learn about APIs and how to interface with them using different methods.
- Develop decentralized applications using Web3 concepts and the Internet Computer.
- Use React.js to build modern and complex interfaces.
- Implement Authentication and Security in your web applications.
The Complete 2024 Web Development Bootcamp provides a full stack learning experience, taking you from the basics of HTML to mastering cutting edge technologies. It covers fundamental concepts to advanced techniques in web development, ensuring a holistic learning experience. This comprehensive course begins with front-end technologies such as HTML, CSS, and JavaScript. It then progresses to back-end development using Node.js and Express.js. The course also touches on important databases using PostgreSQL and other database concepts in SQL. Furthermore, this course introduces contemporary trends and includes the development of decentralized Web3 applications, providing a detailed view of these innovative technologies.
The course incorporates practical learning through projects, which allow you to apply these concepts. You’ll participate in mini projects and complete several capstone projects to help in your learning. Each module builds upon the previous one, making learning a step-by-step process. This holistic approach means you'll gain a practical understanding of how different technologies work together in a real project.
Happy learning!