Build a Backend REST API with Node JS from Scratch
- Description
- Curriculum
- FAQ
- Reviews
Quickly learn the fundamental of building a robust RESTFul API with NodeJS based on an efficient professional architecture pattern, and then, see how to plug your API with a client which you will also learn how to build. A client built with the latest React and Bootstrap versions.
You will learn how to build a backend API from scratch and build a client that will speak to your API through HTTP protocol.
-
Communicate with your backend. HTTP and HTTP methods and codes.
-
How to validate the input data validation.
-
How to request some API endpoints easily
-
How to test your API gradually.
-
How to design a flexible and solid API architecture.
-
How to secure and optimize your API professionally (with the packages you absolutely need to know).
-
CORS on your API.
-
Building a client from scratch with React JS.
-
Calling the CRUD (Create-Read-Update-Delete) endpoints from your client.
-
How to document the API endpoints with JSDoc and OpenAPI.
-
And so much more will be covered in this course.
This JavaScript course will also cover some great packages that will change your life during the development of an API efficiently.
You will learn to create very easily a design in a matter of minutes, without any complicated CSS (just a few reusable components).
You will learn how to embrace your components with Styled-Components and understand the benefits of using it.
You will be able to add as many pages as needed in your React application thanks to React Router Dom.
At the end of this course, you will be comfortable enough to create an API from scratch by yourself, implement new endpoints, being comfortable with many packages (such as logging, rate-limiter, Yup schema validation, …).
Icing on the cake, you will be confident to create a frontend client from scratch and use those endpoints to interact with the backend on your frontend JavaScript application.
At the end of the course, you will even learn how you can create different unit tests for your API.
-
2Create a Node project from scratchVideo lesson
-
3Pre-checks. Environment SetupVideo lesson
-
4NodeJS, NPM, Git, and Git ConfigVideo lesson
-
5Install necessary NPM packagesVideo lesson
-
6Install Nodemon for automatically reload any changesVideo lesson
-
7Our first file (server.js)Video lesson
-
8Let's speak with our backend (API)Video lesson
-
9Insomnia - Postman - REST clients for making HTTP requests very easilyVideo lesson
-
10HTTP Status Codes - Let's make them readableVideo lesson
-
11API EndpointsVideo lesson
-
12Let's design the architecture of our Simple APIVideo lesson
-
13Part 1 - Create a solid and flexible architecture for the APIVideo lesson
-
14Part 2 - Create a solid and flexible architecture for the APIVideo lesson
-
15Validate our endpointsVideo lesson
-
16Secure our API - Potential VulnerabilitiesVideo lesson
-
17Let's briefly see JSDoc and OpenAPIVideo lesson
-
18Let's git commit our simple RESTful APIVideo lesson
-
19Rate limiting and compressing your APIVideo lesson
-
20Adding Pino logging library for our NodeJS APIVideo lesson
-
21Let's create our client React appVideo lesson
-
22UsersList, Axios/Fetch and Installing dependenciesVideo lesson
-
23UsersList component - ImplementationVideo lesson
-
24Enhance UsersLis componentVideo lesson
-
25React Styled-ComponentsVideo lesson
-
26Use React RouterVideo lesson
-
27Create User componentVideo lesson
-
28Toastify messages and hadling error messages from APIVideo lesson
-
29Retrieve a user from our React componentVideo lesson
-
30Refactoring Layout-NavbarVideo lesson
-
31Re-organized React client into multi-tiersVideo lesson
-
32Edit a UserVideo lesson
-
33Delete a UserVideo lesson
-
34Footer and static pagesVideo lesson
Concerning the Footer component, with `{{ span: 3, offset: 1 }}` on the `Col` React-Bootstrap component, need to use curly brackets twice, because we have an object, and an object is declared with curly brackets as well. It would be the same as doing
```
columnMdOptions = { span: 3, offset: 1 };<Col md={columnMdOptions}>
</Col>
```
-
35Optional - Convert axios with native JS FetchVideo lesson
-
36Enhance footer, little CSS/HTML tricksVideo lesson
-
37Handle nicely an error message when no users on homepageVideo lesson
-
38Enhancement, part 1 - Have a loading spinner when retrieving usersVideo lesson
-
39Enhancement, part 2 - Fixing the content loader not showing the error messagesVideo lesson
-
40Usage of the `finally` block in JS and how we can implement itVideo lesson
-
41Enhance UsersList - Fix Bootstrap Row usage and Refactor into new User componentVideo lesson
-
47Where to Follow Me + ResourcesText lesson
-
48List of JavaScript Sandboxes (handy for quick debugging)Text lesson
-
49BONUS #1: The VS Code Extensions!Text lesson
-
50BONUS #2: Apps I use on my macOS (to be efficient and enjoy the work!)Text lesson
-
51BONUS #3: My favorite resources to stay up-to-dateText lesson
-
52BONUS #4: The Chrome / Brave Dev ExtensionsText lesson
External Links May Contain Affiliate Links read more