Test Driven Development with Node js

22h 5m 3s
English
Paid

Course description

Build a fully functional backend rest application with express.js by testing nodejs with jest. In this course we will be building a fully functional backend service with express js. we will call our application as hoaxify.
Read more about the course

while building this application, we will learn

  • how we can build a restful web service with express js, with all necessary functionalities like validation, internationalization, static resource serving, caching, json manipulation, interacting with external services

  • how we can handle database operations with orm package, sequelize.

  • how we can manage database version history and migrations

and we will see

  • how test driven development works.

  • how it's affecting our code quality, reusability

  • how it's giving us the confidence about refactoring our implementation

  • how we can deploy the application to heroku

  • how we can create an instance in google cloud and deploy our application to it

  • and how we can automate the deployment with github actions.

This course is purely built on practice. Each code piece we write, will be for our actual application implementation.

In each section we will gradually build our application. We will not jump ahead and add functionality not needed for that moment. We will implement one requirement at a time. Each implementation will bring the next requirement to us.

And following this practice, will help you to get a solid foundation about overall rest web services requirements and how to implement one of them with node js by following test driven development methodology.

Watch Online

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

Watch Online Test Driven Development with Node js

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

Comments

0 comments

Want to join the conversation?

Sign in to comment

Similar courses

Full Stack Isomorphic JavaScript with Vue.js & Node.js

Full Stack Isomorphic JavaScript with Vue.js & Node.js

Sources: udemy
Learn to build full-stack isomorphic JavaScript web applications with Vue and Node.js along with the MEVN stack. The MEVN stack is a collection of great tools—M
5 hours 33 minutes 49 seconds
Build and Deploy a B2B SaaS AI Support Platform

Build and Deploy a B2B SaaS AI Support Platform

Sources: Code With Antonio
In this course, we will build a customer support platform powered by AI from scratch: we will set up a live chat using Convex Agents, add voice support through.
22 hours 20 minutes 55 seconds
Node Fundamentals Authentication

Node Fundamentals Authentication

Sources: leveluptutorials
Welcome to Node Fundamentals Authentication! In this series, we will dive into Node foundations and build an authentication system from scratch.
4 hours 49 minutes 28 seconds