Mastering REST APIs in Node.js: Zero To Hero

8h 31m 29s
English
Paid
August 20, 2024

Have you ever wondered about how REST APIs work? Have you tried to understand all the components that are required to create REST APIs? Are you a developer coming from a Java/PHP/Perl/Python background but now interested in Node.js? Did you want to know how relational databases work? Or how NoSQL works? How are they different - or even similar?

More

Have you heard about JSON Web Tokens and token based authentication but wasn't sure how they work? Have you heard the latest buzzword GraphQL but wondered how it works?

Look no further -- this course answers all your questions! It teaches the very basics of REST APIs including its architecture and HTTP methods, to adding relational database and/or NoSQL support while also covering authentication via tokens as well as GraphQL. As a bonus, Section 10 (Appendix B) has an entire section on how to implement the REST API in an example application - including authentication for users.

The course is broken up into 10 distinctive sections.

SECTION 1 - Introduction to REST

An overview of the true basics of REST - including the architecture, HTTP methods and status codes and it also discusses why you'd want to develop a REST API at the first place.

SECTION 2 - Our first REST API in Node.js

This section takes a look at the basics around REST API and implements a simple API service using Node.js without using any external dependencies (yes, it only uses some of the built-in Node.js modules)

SECTION 3 - Express - a versatile web server for Node.js

In this section we learn about Express - the most popular web server framework for Node.js. We learn how to install it, how to handle routes, how to utilise the Router object for advanced routing. Later on we also take a look at how to work with static files, how to utilise query strings and query parameters - we'll implement these features later on when  we create a REST API.

SECTION 4 - Relational Database Management Systems

It is crucial to understand data storage before we can create a functional REST API. This section shows us how to work with Relational Database Management Systems (MySQL, to be more precise) and also teaches us how SQL queries work, and how to manipulate data.

SECTION 5 - Create a REST API using a Relational Database

In this section of the course we learn about creating a REST API instance where we utilise the previously gathered knowledge about relational databases. The course uses MySQL, the native MySQL driver but later on we change to Knex.js which is a SQL Query Builder for Node.js

SECTION 6 - Creating a REST API using NoSQL

This part of the course takes a look at NoSQL - it introduces the student to NoSQL databases, compares them with Relational Databases. During this section we learn how to use MongoDB (the most popular NoSQL database) and utilise it to create another REST API.

SECTION 7 - Securing a REST API

Security plays an important factor in REST APIs. During this section we learn how token based authentication works, we get an introduction to JSON Web Tokens (JWT) and we take the previously created two REST APIs - one that uses a relational database, and the other that uses a NoSQL database - and we add JWT support for both.

SECTION 8 - GraphQL

GraphQL is gaining popularity and often times it is seen as a competitor for REST APIs. During this section we take a look at the basics of GraphQL and see how it can complement an existing REST API. The videos in this section not only show us the basics but it also shows us how to add the previously implemented authentication to GraphQL.

Section 9 (Appendix A) - Tooling

This section has a single video that introduces Insomnia - a tool that can be seen throughout the course for testing the REST API

Section 10 (Appendix B) - Application creation

Although not strictly related to REST APIs - this section teaches us how to create an application to consume the REST API created throughout the previous sections of the course. It walks us through CORS and its importance, describes environment variables and finally creates a rudimentary application that allows us to register users, login/logout and check a secret profile - it essentially implements our API including JWT authentication.

Requirements:
  • JavaScript knowledge (including ES2015)
  • Basic NodeJS knowledge
Who this course is for:
  • Junior developers wishing to gather knowledge about REST APIs
  • Senior Developers who want to create REST APIs using NodeJS and a pure JavaScript environment
  • Developers interested in REST API design and GraphQL
  • Developers wanting to understand REST APIs and Relational Databases
  • Developers wanting to understand REST APIs and NoSQL

What you'll learn:

  • Architecting and designing a REST API from scratch
  • HTTP methods, HTTP verbs and HTTP status codes along with their use cases
  • Introduction to NoSQL (MongoDB) - including queries
  • Introduction to Relational Databases and SQL (MySQL)
  • ExpressJS - including route handling and middleware
  • How to secure a REST API using JWT
  • GraphQL essentials
  • Create an application to consume a REST API

Watch Online Mastering REST APIs in Node.js: Zero To Hero

Join premium to watch
Go to premium
# Title Duration
1 Introduction to REST 27:04
2 HTTP Methods and Status Codes 08:04
3 Why develop (and use) a REST API? 01:51
4 Create a REST API without external dependencies 17:20
5 Introduction to Express 01:38
6 Install Express 01:55
7 Basic route handling 05:26
8 Advanced routing via the Router object 03:30
9 Working with Static Files 02:16
10 Utilising Query Strings 02:16
11 Utilising Query Parameters 03:48
12 Introduction to Relational Databases 15:21
13 Introduction to SQL 05:17
14 Install Workbench 05:31
15 Create a database and a table 07:01
16 Insert data 02:37
17 Update data 01:45
18 Delete data 00:43
19 Advanced SQL statements 11:42
20 SQL JOINs - joining information in two tables 06:30
21 Reviewing the final setup 03:17
22 Designing our REST API 07:35
23 Using the MySQL Native Driver 06:59
24 Select data via the MySQL Native Driver (Using SQL's SELECT statement) 04:19
25 Introduction to Knex.js 05:21
26 Extend the REST API by using Knex.js 04:13
27 Using Express Middlewares 05:34
28 Posting data to the database via Knex.js 09:10
29 Patching data in the database with Knex.js 06:37
30 Deleting data from the database with Knex.js 03:21
31 Handling missing routes 02:43
32 Student Challenge: Create the route handlers for Departments 01:52
33 Use JOINs with Knex.js 11:02
34 Utilise Query Strings 06:56
35 Return an object instead of an array 01:42
36 Introduction to NoSQL 11:18
37 Install and load data to MongoDB 10:48
38 Basic queries in MongoDB 17:31
39 Updates and Aggregates 10:37
40 Create a blank application 02:13
41 Display all data from MongoDB 08:28
42 Display a single Document from MongoDB 06:47
43 Insert data in NoSQL 04:32
44 insert() vs insertOne() in MongoDB 02:41
45 HTTP Patch for MongoDB 03:59
46 Delete data from MongoDB 01:35
47 Handling errors 06:18
48 Loading additional documents to MongoDB 07:36
49 Query Parameters for NoSQL 06:12
50 Introduction to JWT (JSON Web Tokens) 08:05
51 Implement JWT for a SQL based REST API 23:47
52 Implement JWT for a NoSQL based REST API 11:48
53 Introduction to GraphQL 14:16
54 Query that returns a collection 20:29
55 Query that returns a single data object 04:34
56 Execute subqueries using GraphQL 10:34
57 Execute subqueries for nested data using GraphQL 04:20
58 A note on performance for RDBMS and GraphQL 05:58
59 Authentication for GraphQL and our REST API 06:34
60 Using GraphQL with NoSQL 20:06
61 Introduction to Insomnia 05:11
62 CORS 05:35
63 Using environment variables the smart way 04:36
64 Create an application to consume our REST API - part 1 06:55
65 Create an application to consume our REST API - part 2 13:55
66 Create an application to consume our REST API - part 3 31:55

Similar courses to Mastering REST APIs in Node.js: Zero To Hero

The Modern GraphQL Bootcamp (with Node.js and Apollo)

The Modern GraphQL Bootcamp (with Node.js and Apollo)udemy

Duration 23 hours 26 minutes 42 seconds
Stripe Payments JavaScript Course

Stripe Payments JavaScript Coursefireship.io

Duration 1 hour 29 minutes 26 seconds
The Complete Node.js Developer Course (3rd Edition)

The Complete Node.js Developer Course (3rd Edition)udemy

Duration 35 hours 4 minutes 4 seconds
Build a Shopping Cart App

Build a Shopping Cart AppReed Barger

Duration 1 hour 41 minutes 52 seconds