Mastering REST APIs in Node.js: Zero To Hero

8h 31m 29s
English
Paid

Course description

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?

Read more about the course

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

This is a demo lesson (10:00 remaining)

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

View Pricing

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

0:00
/
#1: Introduction to REST

All Course Lessons (66)

#Lesson TitleDurationAccess
1
Introduction to REST Demo
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

Unlock unlimited learning

Get instant access to all 65 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

Instagram Clone Coding 3.0

Instagram Clone Coding 3.0

Sources: Nomad Coders
nstagram: backend + frontend + application + server. NodeJS, Prisma, GraphQL, Hooks, React Native. You implement almost all Instagram features, including taking
20 hours 48 minutes 39 seconds
React Node AWS - Build infinitely Scaling MERN Stack App

React Node AWS - Build infinitely Scaling MERN Stack App

Sources: udemy
Master the art of building a highly scalable real world project using MERN Stack for a new startup that will scale infinitely. I will demonstrate how you could launch a project...
25 hours 1 minute 19 seconds
React and NodeJS: A Practical Guide with Typescript

React and NodeJS: A Practical Guide with Typescript

Sources: udemy
I'm a FullStack Developer with 10+ years of experience. I'm obsessed with clean code and I try my best that my courses have the cleanest code possible. My teach
6 hours 54 minutes 59 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
Just Express (with a bunch of node and http). In detail.

Just Express (with a bunch of node and http). In detail.

Sources: udemy
You have some notion of what Node, Express, and http are or you wouldn't be here. Node and back-end JavaScript have taken the world by storm, [SOME BIG COMPANY] moved to node an...
12 hours 33 minutes 3 seconds