Skip to main content
CourseFlix

Learn JavaScript: Full-Stack from Scratch

27h 6m 45s
English
Paid

Learn the incredibly popular and in demand JavaScript language. This course makes no assumptions of prior computer programming experience. We begin with the very basics and slowly but surely work our way up to writing JavaScript code to power every aspect of an application.

Requirements:
  • No prerequisite knowledge required; the only thing you need is a computer (that you are allowed to install software on) and an internet connection.

There are countless JavaScript courses in the world; here's what makes this one unique:

  • A strong emphasis on the "why" and not just the "how"

  • As few assumptions as possible; it's a pet peeve of mine when instructors assume I know something I don't

  • As few "just download my existing project to get you up and running" moments as possible. It's another pet peeve of mine when instructors have you use an existing solution that just "automagically" works and you miss a potential learning experience of setting it up yourself.  We do copy-and-paste HTML templates (since the focus of the course is not about HTML) but aside from that I explain things from the ground up.

This course may be brand new, but this isn’t my first time teaching. I’ve led training sessions for Fortune 500 companies and I’ve already helped over 65,000 people on Udemy and received the following feedback:

Become highly valuable and relevant to the companies that are hiring JavaScript developers; in one convenient place alongside one instructor. If you're ready to begin coding your own applications from the ground up - I'll see you on the inside!

Who this course is for:
  • Anyone who might be interested in starting a career in computer programming (no experience required).

What you'll learn:

  • The JavaScript language itself
  • How to control a database (MongoDB) with JavaScript
  • How to control the Web Browser with JavaScript
  • How to implement user registration, log-in, log-out & user generated content
  • How to setup a server by using Node JS and Express

About the Author: Udemy

Udemy thumbnail

Udemy is the largest open marketplace for online courses on the internet. Founded in 2010 by Eren Bali, Oktay Caglar, and Gagan Biyani and headquartered in San Francisco, the company went public on the Nasdaq in 2021 under the ticker UDMY. The platform hosts well over two hundred thousand courses across software development, IT and cloud, data science, design, business, marketing, and creative skills, taught by tens of thousands of independent instructors. Roughly seventy million learners use it worldwide, and the corporate arm — Udemy Business — supplies a curated subset of that catalog to enterprise customers.

Because Udemy is a marketplace rather than a single editorial publisher, the catalog is uneven by design. The strongest material lives in the long-form, project-based courses authored by working engineers — full-stack JavaScript, React, Node.js, Python data science, AWS, Docker and Kubernetes, mobile development with Flutter and React Native, and cloud certification preparation. The CourseFlix listing under this source is the slice of that catalog that has been mirrored here for offline-friendly viewing, organized by topic and updated as new releases land. Pricing on Udemy itself swings dramatically with the site's near-permanent sales, which is why the platform is best treated as a deep reference catalog: pick instructors with strong reviews and a track record of updating their material rather than buying on the headline price alone.

Watch Online 106 lessons

This is a demo lesson (10:00 remaining)

You can watch up to 10 minutes for free. Subscribe to unlock all 106 lessons in this course and access 10,000+ hours of premium content across all courses.

View Pricing
0:00
/
#1: Where Do We Begin?
All Course Lessons (106)
#Lesson TitleDurationAccess
1
Where Do We Begin? Demo
10:06
2
Getting Started
16:31
3
Functions
19:59
4
Objects
19:44
5
Arrays
19:48
6
Making Decisions
18:37
7
Higher-Order Functions
18:20
8
Returning vs Mutating
19:39
9
Scope & Context (Part 1)
17:43
10
Scope & Context (Part 2)
14:54
11
Miscellaneous Info (Part 1)
13:33
12
Miscellaneous Info (Part 2)
09:19
13
Building To-Do App (Part 1)
17:21
14
Building To-Do App (Part 2)
10:14
15
Why Do We Need a Server?
11:24
16
Node.js Intro
10:22
17
Text Editor Software
10:49
18
Our First Basic Server
19:54
19
Express Intro (Part 1)
10:14
20
Express Intro (Part 2)
19:49
21
What's Next? (Big Picture)
14:04
22
First Taste of a Database
10:58
23
CRUD: Actually Working With A Database
14:05
24
Initial Setup for App #1
18:03
25
Save Time: Automatic Node App Restarts
09:13
26
Connecting Node App to Database
19:59
27
Reading Data from a Database
17:25
28
Updating a Database Item (Part 1)
19:59
29
Updating a Database Item (Part 2)
19:56
30
Deleting a Database Item
12:56
31
Create New Item Without Page Reload
19:58
32
Client-Side Rendering
10:18
33
What About Security?
19:55
34
Pushing Our App Onto The Internet
19:20
35
What's Next?
08:04
36
Let's Begin App #2
18:40
37
What Is A Router?
14:12
38
What Is A Controller?
17:53
39
What Is A Model?
19:59
40
Adding Validation To Our Model
19:59
41
Quick Misc. Clean Up
08:02
42
Connecting To Database In a Reusable Fashion
17:13
43
Best Practice Time Out: Environment Variables
10:11
44
Letting Users Log In
18:38
45
What is a Promise? (Part 1)
19:33
46
What is a Promise? (Part 2)
14:25
47
Hashing User Passwords
13:54
48
How Can We "Identify" or "Trust" a Request?
19:18
49
Understanding Sessions
19:08
50
Letting Users Logout
11:58
51
Adding Flash Messages
16:29
52
User Registration Improvements (Part 1)
17:42
53
User Registration Improvements (Part 2)
12:02
54
Adding User Profile Photos
15:37
55
Letting Users Create Posts (Part 1)
17:32
56
Letting Users Create Posts (Part 2)
12:18
57
Post Model (Part 1)
20:00
58
Post Model (Part 2)
07:17
59
Viewing a Post (Part 1)
07:46
60
Viewing a Post (Part 2)
19:11
61
Performing a Lookup in MongoDB (Part 1)
16:51
62
Performing a Lookup in MongoDB (Part 2)
08:15
63
User Profile Screen
18:11
64
View Posts by Author
19:48
65
Is the Current Visitor the Owner of the Post?
12:54
66
The "Edit" Screen for a Post
08:51
67
Updating Posts in Database (Part 1)
10:52
68
Updating Posts in Database (Part 2)
18:58
69
Miscellaneous Improvements
14:56
70
Markdown: Safe User Generated HTML
15:45
71
Let Users Delete a Post
13:59
72
Staying Organized: Front-End JavaScript
19:58
73
Showing and Hiding Search Overlay
16:55
74
Responding to Key Press Events
19:13
75
Back-End Aspect of Search
15:41
76
Generating HTML for Search Results (Part 1)
10:06
77
Generating HTML for Search Results (Part 2)
10:48
78
Sanitizing User Generated HTML on the Front-End
08:13
79
Letting Users Follow Each Other
12:26
80
Saving a "Follow" Action Into Our Database
12:26
81
Stop Following a User (Part 1)
13:49
82
Stop Following a User (Part 2)
13:17
83
Profile Followers Screen (Part 1)
10:27
84
Profile Followers Screen (Part 2)
15:26
85
Following Screen (Part 1)
13:30
86
Following Screen (Part 2)
17:31
87
Homepage Feed (Posts From Those You Follow)
19:33
88
Beginning Chat Feature
19:38
89
Socket.IO (Part 1)
10:44
90
Socket.IO (Part 2)
11:43
91
Finishing Chat (Part 1)
13:40
92
Finishing Chat (Part 2)
19:57
93
Quick Misc. Feature: Dynamic Title Tag
07:42
94
Live Form Validation (Part 1)
18:42
95
Live Form Validation (Part 2)
18:23
96
Live Form Validation (Part 3)
19:59
97
Live Form Validation (Part 4)
19:09
98
Preventing Cross-Site Request Forgery (CSRF)
19:59
99
Adjusting Our App To Use CSRF Token
13:05
100
Setting Up The Skeleton for an API
19:42
101
JSON Web Tokens (Part 1)
11:38
102
JSON Web Tokens (Part 2)
13:48
103
Finishing API and Understanding CORS
19:11
104
Pushing Our Complex App Up Onto The Web
14:16
105
Sending Email From Our App
15:26
106
Next Steps & Career Advice
19:54
Unlock unlimited learning

Get instant access to all 105 lessons in this course, plus thousands of other premium courses. One subscription, unlimited knowledge.

Learn more about subscription

Course content

106 lessons · 27h 6m 45s
Show all 106 lessons
  1. 1 Where Do We Begin? 10:06
  2. 2 Getting Started 16:31
  3. 3 Functions 19:59
  4. 4 Objects 19:44
  5. 5 Arrays 19:48
  6. 6 Making Decisions 18:37
  7. 7 Higher-Order Functions 18:20
  8. 8 Returning vs Mutating 19:39
  9. 9 Scope & Context (Part 1) 17:43
  10. 10 Scope & Context (Part 2) 14:54
  11. 11 Miscellaneous Info (Part 1) 13:33
  12. 12 Miscellaneous Info (Part 2) 09:19
  13. 13 Building To-Do App (Part 1) 17:21
  14. 14 Building To-Do App (Part 2) 10:14
  15. 15 Why Do We Need a Server? 11:24
  16. 16 Node.js Intro 10:22
  17. 17 Text Editor Software 10:49
  18. 18 Our First Basic Server 19:54
  19. 19 Express Intro (Part 1) 10:14
  20. 20 Express Intro (Part 2) 19:49
  21. 21 What's Next? (Big Picture) 14:04
  22. 22 First Taste of a Database 10:58
  23. 23 CRUD: Actually Working With A Database 14:05
  24. 24 Initial Setup for App #1 18:03
  25. 25 Save Time: Automatic Node App Restarts 09:13
  26. 26 Connecting Node App to Database 19:59
  27. 27 Reading Data from a Database 17:25
  28. 28 Updating a Database Item (Part 1) 19:59
  29. 29 Updating a Database Item (Part 2) 19:56
  30. 30 Deleting a Database Item 12:56
  31. 31 Create New Item Without Page Reload 19:58
  32. 32 Client-Side Rendering 10:18
  33. 33 What About Security? 19:55
  34. 34 Pushing Our App Onto The Internet 19:20
  35. 35 What's Next? 08:04
  36. 36 Let's Begin App #2 18:40
  37. 37 What Is A Router? 14:12
  38. 38 What Is A Controller? 17:53
  39. 39 What Is A Model? 19:59
  40. 40 Adding Validation To Our Model 19:59
  41. 41 Quick Misc. Clean Up 08:02
  42. 42 Connecting To Database In a Reusable Fashion 17:13
  43. 43 Best Practice Time Out: Environment Variables 10:11
  44. 44 Letting Users Log In 18:38
  45. 45 What is a Promise? (Part 1) 19:33
  46. 46 What is a Promise? (Part 2) 14:25
  47. 47 Hashing User Passwords 13:54
  48. 48 How Can We "Identify" or "Trust" a Request? 19:18
  49. 49 Understanding Sessions 19:08
  50. 50 Letting Users Logout 11:58
  51. 51 Adding Flash Messages 16:29
  52. 52 User Registration Improvements (Part 1) 17:42
  53. 53 User Registration Improvements (Part 2) 12:02
  54. 54 Adding User Profile Photos 15:37
  55. 55 Letting Users Create Posts (Part 1) 17:32
  56. 56 Letting Users Create Posts (Part 2) 12:18
  57. 57 Post Model (Part 1) 20:00
  58. 58 Post Model (Part 2) 07:17
  59. 59 Viewing a Post (Part 1) 07:46
  60. 60 Viewing a Post (Part 2) 19:11
  61. 61 Performing a Lookup in MongoDB (Part 1) 16:51
  62. 62 Performing a Lookup in MongoDB (Part 2) 08:15
  63. 63 User Profile Screen 18:11
  64. 64 View Posts by Author 19:48
  65. 65 Is the Current Visitor the Owner of the Post? 12:54
  66. 66 The "Edit" Screen for a Post 08:51
  67. 67 Updating Posts in Database (Part 1) 10:52
  68. 68 Updating Posts in Database (Part 2) 18:58
  69. 69 Miscellaneous Improvements 14:56
  70. 70 Markdown: Safe User Generated HTML 15:45
  71. 71 Let Users Delete a Post 13:59
  72. 72 Staying Organized: Front-End JavaScript 19:58
  73. 73 Showing and Hiding Search Overlay 16:55
  74. 74 Responding to Key Press Events 19:13
  75. 75 Back-End Aspect of Search 15:41
  76. 76 Generating HTML for Search Results (Part 1) 10:06
  77. 77 Generating HTML for Search Results (Part 2) 10:48
  78. 78 Sanitizing User Generated HTML on the Front-End 08:13
  79. 79 Letting Users Follow Each Other 12:26
  80. 80 Saving a "Follow" Action Into Our Database 12:26
  81. 81 Stop Following a User (Part 1) 13:49
  82. 82 Stop Following a User (Part 2) 13:17
  83. 83 Profile Followers Screen (Part 1) 10:27
  84. 84 Profile Followers Screen (Part 2) 15:26
  85. 85 Following Screen (Part 1) 13:30
  86. 86 Following Screen (Part 2) 17:31
  87. 87 Homepage Feed (Posts From Those You Follow) 19:33
  88. 88 Beginning Chat Feature 19:38
  89. 89 Socket.IO (Part 1) 10:44
  90. 90 Socket.IO (Part 2) 11:43
  91. 91 Finishing Chat (Part 1) 13:40
  92. 92 Finishing Chat (Part 2) 19:57
  93. 93 Quick Misc. Feature: Dynamic Title Tag 07:42
  94. 94 Live Form Validation (Part 1) 18:42
  95. 95 Live Form Validation (Part 2) 18:23
  96. 96 Live Form Validation (Part 3) 19:59
  97. 97 Live Form Validation (Part 4) 19:09
  98. 98 Preventing Cross-Site Request Forgery (CSRF) 19:59
  99. 99 Adjusting Our App To Use CSRF Token 13:05
  100. 100 Setting Up The Skeleton for an API 19:42
  101. 101 JSON Web Tokens (Part 1) 11:38
  102. 102 JSON Web Tokens (Part 2) 13:48
  103. 103 Finishing API and Understanding CORS 19:11
  104. 104 Pushing Our Complex App Up Onto The Web 14:16
  105. 105 Sending Email From Our App 15:26
  106. 106 Next Steps & Career Advice 19:54

Related courses

Frequently asked questions

What is Learn JavaScript: Full-Stack from Scratch about?
Learn the incredibly popular and in demand JavaScript language. This course makes no assumptions of prior computer programming experience. We begin with the very basics and slowly but surely work our way up to writing JavaScript code to…
Who teaches Learn JavaScript: Full-Stack from Scratch?
Learn JavaScript: Full-Stack from Scratch is taught by Udemy. You can find more courses by this instructor on the corresponding source page.
How long is Learn JavaScript: Full-Stack from Scratch?
Learn JavaScript: Full-Stack from Scratch contains 106 lessons with a total runtime of 27 hours 6 minutes. All lessons are available to watch online at your own pace.
Is Learn JavaScript: Full-Stack from Scratch free to watch?
Learn JavaScript: Full-Stack from Scratch is part of CourseFlix's premium catalog. A CourseFlix subscription unlocks the full video player; the course description, table of contents, and preview information are available to everyone.
Where can I watch Learn JavaScript: Full-Stack from Scratch online?
Learn JavaScript: Full-Stack from Scratch is available to watch online on CourseFlix at https://courseflix.net/course/learn-javascript-full-stack-from-scratch. The page hosts every lesson with the integrated video player; no download is required.