An application programming interface (API) is software that acts as an intermediary, allowing two applications to communicate. This project will teach you how to develop an API step by step and connect it to a database.
We just published a course on the freeCodeCamp.org Spanish YouTube channel that is designed to teach you how to develop REST APIs step by step. You will also learn how to connect them to databases.
You will develop your API with TypeScript, Node.js, Express, MySQL, and TypeORM and you will test it using Postman, a platform for testing APIs.
You will start from the basics of Node.js and Express and gradually dive into more advanced concepts that will prepare you for connecting your API to a database. By the end of the course, you will be able to create your own APIs with Node.js and Express.
If you have Spanish-speaking friends, you are welcome to share the Spanish version of this article with them.
This course was created by Leonardo José Castillo. Leonardo is a software developer and content creator who loves teaching programming and sharing his knowledge.
Are you ready? Let's see a quick overview of APIs and what you will learn during the course.
What is an API?
If you ever need to make two applications communicate with each other, APIs are exactly what you are looking for. They are software that you can use to send data between two applications through requests and responses.
💡 Tip: API stands for Application Programming Interface.
The developers of the application that will send the data to the other application will implement an API and document its functionality and endpoints, so other developers can use it and access its resources and data.
💡 Tip: An endpoint is a location in the API that accepts requests and sends back responses.
The developers of the application that will receive data from the API will write code for making these requests, specifying the endpoints and handling the response received from the API appropriately.
Weather API Example
For example, a weather application may access an API to get the current weather data of a location entered by the user.
The developers of the weather app write code to make requests to the weather API, following its guidelines and documentation. The API will then access the data on a database and send it to the client who made the request.
This is the role of APIs. It's a very important role in the world of back-end web development.
You can implement them with many different technologies, including Node.js and Express.
Let's see what they are:
Node.js is a JavaScript runtime environment that allows you to run JavaScript code outside of the browser.
Express is a Node.js framework that makes developing servers and APIs much easier.
Learning how to design and implement APIs can open many career opportunities for you.
Career Opportunities
Talking about career opportunities – TypeScript, Node.js, Express, and MySQL, the technologies that you will be practicing in this project, are very popular and in high demand in the programming industry.
To show you how important they are, here we have the results of the Stack Overflow 2023 Developer Survey.
Node.js and Express were the first and fourth most popular web frameworks and technologies:
MySQL was also very high in the rankings. It was the second most popular database:
TypeScript was the fifth most popular language among all respondents:
These results show you how relevant these technologies are are will be for web development in 2024 and beyond.
💡 Tip: During the project, you will also use TypeORM, an Object-Relational Mapping tool that helps you to work with databases in JavaScript, TypeScript, and other programming languages.
APIs Course with Node.js and Express
Great. Now that you know why APIs are so important, let's check out the topics that you will learn about during the course:
Introduction to Node.js and Express
Application Architecture
Dynamic routing
Controllers
Database structure
Connecting the API to a database
Implementing CRUD operations in TypeScript
Modeling with TypeORM
Implementing controllers with TypeORM
And more!
💡 Tip: To build this project, it's recommended to have a basic understanding of TypeScript and web development. If you need to review these topics, we have these courses on the channel:
If you are ready to start building this API, check out the course in Spanish on the freeCodeCamp.org Spanish YouTube channel:
✍️ Course created by Leonardo José Castillo.
Youtube: @LeonardoCastillo79
LinkedIn: Leonardo José Castillo Lacruz
Twitter: @ljcl79
GitHub: @ljcl79