Ever wondered how REST APIs function? Do you wish to understand the intricate components needed to build REST APIs? Whether you're a developer transitioning from Java, PHP, Perl, or Python to Node.js, or curious about how relational and NoSQL databases operate, this course is for you!
Understanding REST APIs and More
Want to demystify JSON Web Tokens and token-based authentication? Curious about the buzzword GraphQL? Look no further — this comprehensive course covers the essentials of REST APIs, their architecture, HTTP methods, and extends your learning to include relational and NoSQL database support, authentication through tokens, and an introduction to GraphQL. As a bonus, Section 10 (Appendix B) guides you through implementing these concepts in a practical application, including user authentication.
Course Breakdown
Section 1 - Introduction to REST
Explore the fundamentals of REST, including its architecture, HTTP methods, status codes, and the reasons for developing a REST API.
Section 2 - Building Your First REST API in Node.js
Develop a simple API service using built-in Node.js modules, focusing on the core basics of REST API.
Section 3 - Express: Versatile Web Server for Node.js
Learn about Express, a leading web server framework for Node.js. Discover how to install and set it up for advanced routing, handle static files, and utilize query strings and parameters.
Section 4 - Relational Database Management Systems
Gain crucial insights into data storage with a focus on MySQL. Understand SQL queries and data manipulation to create functional REST APIs.
Section 5 - Crafting REST APIs with Relational Database Support
Use MySQL and later transition to Knex.js, a SQL Query Builder for Node.js, to design a REST API leveraging relational database knowledge.
Section 6 - NoSQL and REST API Creation
Dive into NoSQL databases, comparing them with relational systems. Utilize MongoDB, the most popular NoSQL database, to create effective REST APIs.
Section 7 - Securing REST APIs
Explore the importance of security in REST APIs. Learn token-based authentication and implement JWT for both relational and NoSQL REST APIs.
Section 8 - Introduction to GraphQL
Investigate GraphQL's role alongside REST APIs. Learn its basics and how to incorporate existing authentication into GraphQL.
Section 9 (Appendix A) - Tooling Overview
Get introduced to Insomnia, a vital tool for testing REST APIs, presented clearly in a single video segment.
Section 10 (Appendix B) - Application Development
Learn to build applications consuming the REST APIs taught in the course. Understand CORS' significance, environment variables, and create an app supporting user registration, login/logout, and a secure profile with JWT.
Course Requirements
- Understanding of JavaScript (including ES2015)
- Basic knowledge of NodeJS
Target Audience
- Junior developers seeking REST API knowledge
- Senior developers wanting to create REST APIs using NodeJS
- Developers interested in REST API and GraphQL design
- Developers interested in understanding REST APIs with Relational and NoSQL databases
Learning Outcomes
- Architect and design a REST API from scratch
- Master HTTP methods, verbs, and status codes
- Introduction to MongoDB NoSQL queries
- Introduction to MySQL Relational Databases and SQL
- ExpressJS essentials: route handling and middleware
- Secure REST APIs using JWT
- Fundamental GraphQL concepts
- Create an application consuming a REST API