API Design in Node.js, v4 Introduction
Transcript from the "Introduction" Lesson
>> Hello, how's it going? I'm Scott Moss, and welcome to API Design with Node.js V4. Now, V4 means we had a V3, but by no means is it necessary that you would have had to taken V3 to take this course. It's just an upgraded version using some of the latest things that have come out since then.
[00:00:19] And also because I've been using a lot of these technologies for the last couple years and I have different opinions and different techniques that I wanna share, and that's what this course is about. So if you wanna go back and check out V3, you can, there's different things there.
[00:00:35] But you don't need to actually have taken that course to come back and use this one. And speaking of this course, this course is really all about designing APIs in Node.js. And we're gonna be covering a bunch of really cool stuff. So if you actually take a look at the course website here, here's the URL.
[00:00:54] It's my github/API-design-v4, you can land on this website. You're gonna find a bunch of really cool stuff. And let's just go through the topics, the big broad strokes we're gonna be covering in the course. So we're gonna go over just what exactly we're doing in this course and some of the tools and why we're gonna be using those tools.
[00:01:16] And what we're actually gonna be building and why I prefer to build things when I teach versus just learning things a la carte. We're gonna learn the basics of APIs in Node.js. So building out a Vanilla API without a framework. And then what is the anatomy of an API?
[00:01:32] What are the little bits that make up an API and how do they work together? We're also gonna learn how to use something called Express, which is a framework for Node.js. And everything about Express and how easy it is to build using it. And then using something called Prisma, which I don't wanna spoil for you cuz it's one of my favorite tools, but this is gonna allow us to interact with databases on a really cool level.
[00:01:55] And yeah, I think you're gonna like it. And then getting into data modeling. So how to think about that. How to create models. How to design a schema based off of a design, based off of an idea, based off of something in real life. How do you actually do that, cuz that's necessary for an API.
[00:02:12] And then getting into things like routes and middleware, because without those, our API would not be functional. We couldn't actually use it. So how do you design that in a way where people can actually interact with your API? And what are the design patterns that the community have chosen?
[00:02:30] Authorization, authentication, identification, all those different things are technically challenging when it comes to building APIs. And we're gonna break them down so they're really simple and easy to understand, and you're gonna implement them yourself. Route handlers, the work horses of APIs, the things that actually do the work and talk to the database and get you the information that you need from a client.
[00:02:51] We're gonna build those and walk through those and talk about different trade-offs when building them. Error handlers, there is no point of doing all these if our API is just gonna crush and burn because it is so sensitive. So we need to make sure we handle those errors and write code that is going to withstand user input and different things like that.
[00:03:35] So we're gonna learn about different performance techniques that we can use to take advantage of to make sure our API stays fast, just like it was from the start. And then, of course, everybody's favorite, testing. We're gonna build all this cool stuff. We need to make sure that it continues to work and impress all the people on our team by writing all the tests and make sure those tests work.
[00:03:54] So we're gonna do that as well. And then finally, we're gonna deploy this so you can actually use it, you can show the world, you can connect an app to it if you want to for any further learning or things like that. Are you guys ready to learn how to design some APIs with Node?