Skip to main content
CF

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

Related courses

Frequently asked questions

What prerequisites are required for this course?
This course is designed for complete beginners and does not assume any prior computer programming experience. It starts from the very basics of JavaScript, making it accessible to anyone with an interest in learning full-stack development using JavaScript.
What projects will I build during the course?
You will build several projects, including a To-Do application and a more complex app that involves user registration, profile photo uploads, and post creation. These projects cover both front-end and back-end development, incorporating JavaScript, Node.js, Express, and database management.
Who is the target audience for this course?
The course is suitable for beginners who want to learn full-stack JavaScript development. It is also ideal for those who have some experience in programming but want to dive deeper into JavaScript for both client-side and server-side applications.
What tools or platforms will I learn to use?
You will learn to use Node.js for server-side development, Express.js for building web applications, and various database technologies. The course also covers the use of text editor software for writing and managing your code efficiently.
What topics are not covered in the course?
The course does not cover non-JavaScript programming languages or frameworks. It is focused solely on JavaScript and its ecosystem, including Node.js and Express. Front-end frameworks like React or Angular are not part of the curriculum.
How much time should I expect to commit to this course?
The course consists of 106 lessons. While the runtime is not specified, students should expect to spend several hours each week reviewing lessons and working on projects, depending on their personal pace and prior experience.
How will the skills learned in this course apply to other areas?
The skills gained in this course, such as understanding JavaScript fundamentals, building full-stack applications, and database management, are applicable in various web development roles. They also lay the foundation for learning additional JavaScript frameworks and libraries like React or Vue.js.