Skip to main content
CF

Test Driven Development with Node js

22h 5m 3s
English
Paid

Test Driven Development with Node js is a 104-lesson 22 hours 5 minutes self-paced course by Udemy. Build a fully functional backend REST application with Express.

Course facts

Lessons
104
Duration
22 hours 5 minutes
Level
All levels
Language
English
Updated
Instructor
Udemy
Price
Premium

Build a fully functional backend REST application with Express.js by testing Node.js with Jest. In this course, we will create a comprehensive backend service using Express.js. Our application will be called Hoaxify.

Course Objectives

While building this application, you will learn:

  • How to build a RESTful web service with Express.js, covering essential functionalities such as validation, internationalization, static resource serving, caching, JSON manipulation, and interaction with external services.

  • How to handle database operations using the ORM package, Sequelize.

  • How to manage database version history and migrations.

Test Driven Development Insights

In addition, we will explore:

  • How test-driven development (TDD) works.

  • The effects of TDD on code quality and reusability.

  • The confidence TDD provides in refactoring implementations.

  • How to deploy the application to Heroku.

  • How to create an instance in Google Cloud and deploy our application.

  • How to automate deployments using GitHub Actions.

Practical Approach

This course is fundamentally practice-oriented. Every code snippet you write will contribute to your actual application implementation.

In each section, we will progressively build our application. We will focus on one requirement at a time, ensuring that we implement only what's necessary for that stage. Each implementation leads to the next requirement.

Following this practice will equip you with a solid foundation in the overall requirements for REST web services and how to implement them in Node.js using the test-driven development methodology.

Who teaches Test Driven Development with Node js? 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.

What lessons are included in Test Driven Development with Node js?

This is a demo lesson (10:00 remaining)

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

View Pricing
0:00
/
#1: Introduction
All Course Lessons (104)
#Lesson TitleDurationAccess
1
Introduction Demo
12:41
2
Tools
02:15
3
Methodology
01:10
4
Creating Project
09:02
5
Development Environment Dependencies
15:04
6
Web Client
05:43
7
First Test: Sign Up Request
16:47
8
Saving User to Database
23:48
9
Password Hashing
09:25
10
Refactor
12:17
11
Configuration and Environment
10:42
12
Validation
14:01
13
Validatior Middleware
15:49
14
Express Validator
07:22
15
Dynamic Tests
11:44
16
Remaining Validations
14:21
17
Custom Validation: Unique Email Validation
16:19
18
Internationalization - i18n
22:27
19
Account Activation Intro
10:10
20
Activation Email
13:17
21
Email Transport Failures
15:03
22
Refactoring Tests
16:46
23
Activating Account
21:00
24
Testing on Web Client
08:05
25
Error Handler
11:32
26
Error Body
11:43
27
User Page Response
08:23
28
Page Content
11:31
29
Total Page Info
04:12
30
Changing Page
11:06
31
Changing Page Size
12:42
32
Get User
18:15
33
Authentication
12:48
34
Authentication Failure
22:08
35
Refactoring Tests
07:29
36
Update User - Authentication Failure
27:56
37
Update User Success
20:11
38
Authorization Aware User List
08:32
39
JWT Token Generation
08:57
40
Authorization
16:18
41
JWT Practices
08:18
42
Opaque Token
09:56
43
Logout
08:10
44
Delete User
14:43
45
Token User Relationship
12:16
46
Expiring Token
19:20
47
Token Cleanup
14:37
48
Password Reset Request
16:57
49
Password Reset Success Response
13:51
50
Sending Password Reset Email
16:40
51
Refactoring Rest Endpoint
01:34
52
Updating Password - Error Cases
20:22
53
Updating Password - Success
14:56
54
Testing on Client
02:27
55
User Profile Image
05:19
56
Image in Responses
06:54
57
Upload Folder
11:21
58
Storing Images in Folder
18:39
59
Serving Static Resources
14:58
60
Cleaning up the Folders
04:25
61
Replacing Old Image
04:02
62
Username Validation
06:08
63
File Size Validation
17:05
64
File Type Validation
24:26
65
Testing on Client
02:00
66
Migration Demo
30:41
67
Creating Latest Migration Scripts
05:26
68
Running Tests Against Shared Database
14:06
69
Refactoring Configuration
06:58
70
Using PostgreSQL
04:40
71
Organizing NPM Scripts
09:27
72
Logger
14:03
73
Logging App Version
01:53
74
Production Configuration
04:15
75
Deploying to Heroku
10:22
76
Preparing VM on Google Cloud
12:46
77
Deploying App to VM
14:07
78
Automating Deployment
21:12
79
Submitting Hoax
19:37
80
Saving Hoax to Database
13:39
81
Validation
13:08
82
Hoax Migration Scripts
05:46
83
Hoax User Relationship
13:12
84
Listing Hoaxes
24:22
85
Listing Hoaxes of a User
24:34
86
Running Tests with PostgreSQL
04:43
87
Deployment
06:04
88
Attachment Folder
03:36
89
Storing Attachment info in DB
16:54
90
Storing Attached File
10:46
91
Serving Attachment Folder
03:24
92
Storing File Type
17:37
93
File Size Limit
14:35
94
Attachment Hoax Relationship
17:05
95
Attachment in Hoax Listing
19:47
96
Migration Scripts
27:14
97
Scheduled Service for Unused Attachments
25:34
98
Hoax Delete - Error Cases
11:37
99
Hoax Delete - Success Cases
09:39
100
Hoax Delete - Cascade
14:05
101
Migrating Constraint
16:56
102
User Delete
17:42
103
Updating Dependencies
07:47
104
Deployment
07:19
Unlock unlimited learning

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

Learn more about subscription

What courses are similar to Test Driven Development with Node js?

Frequently asked questions

What prerequisites are needed for this course?
Before enrolling in this course, you should have a basic understanding of JavaScript and familiarity with Node.js. Some experience with web development and RESTful services would be beneficial, as the course delves into building a backend service using Express.js and testing with Jest.
What will I build during the course?
You will build a fully functional backend REST application named Hoaxify using Express.js. This application will incorporate functionalities such as user authentication, password reset, email activation, and image upload. The project emphasizes test-driven development practices, ensuring each part of the application is thoroughly tested.
Who is the target audience for this course?
The course is aimed at developers who want to deepen their understanding of test-driven development (TDD) and backend development with Node.js and Express.js. It is particularly suitable for those interested in building scalable RESTful services and improving code quality through testing.
How does the depth of this course compare to similar courses?
This course provides a practical, project-driven approach to understanding test-driven development with Node.js. It covers a wide range of topics, including database operations with Sequelize, application deployment to Heroku and Google Cloud, and continuous deployment using GitHub Actions. This makes it more comprehensive compared to courses that focus solely on TDD or Express.js.
What specific tools and platforms are covered in the course?
The course covers several tools and platforms, including Express.js for building the backend service, Jest for testing, Sequelize for handling database operations, Heroku for application deployment, Google Cloud for instance creation, and GitHub Actions for automating deployments.
What topics are not covered in this course?
The course does not cover frontend development in detail, as it focuses on backend services with Node.js and Express.js. While there is mention of testing on a web client, the primary emphasis is on backend functionality and testing practices.
What is the expected time commitment for completing this course?
The course consists of 104 lessons. Although the exact runtime is unspecified, students should expect to dedicate several hours to complete the lessons, work on exercises, and implement the project. Due to its practical nature, additional time for coding and testing may also be required.