Here are some of the questions we need to ask before we can start working with Nodejs:
- What is backend development and do I always need a backend?
- Terminology you might have heard
- What are the key pillars of backend development?
- What are some of the key principles of backend development?
- What are some of the common tools used in backend development?
So let's start first by talking about the pillars that form the backbone of backend development.
Backend development is the process of building the server-side of a website or application. It is the part of the application that handles the logic and data of the application. Think of any website that you may have visited. Think of some of the actions that you had to perform as a user, e.g logging in, searching for a product, adding a product to your cart, etc.
The Frontend is responsible for the user interface, the button that you click to submit, the form that you fill out, etc. The Backend is responsible for consuming this data, processing it, and returning the appropriate response to the user.
In very simple terms, this is what the backend does. The bigger and more complex an application gets, the more complicated the backend becomes.
It is important to note that a backend is not always needed. If you are building a static website that never changes for example, and is simply for presentation purposes, you don't need a backend. For example most portfolio websites don't need a backend. Try to think of websites that are static and never change.
- API
- CRUD
- HTTP
The acronym API stands for Application Programming Interface. It is a way for two different software applications to communicate with each other. In the real world, this could be compared to a restaurant where you order food. You don't know how the food is prepared or what the kitchen looks like. You just know that you give them an order and they will give you food back. In the same way, an API is a messenger between your application and the other application. You send a message to the API and the API will send the data back to you. It is a way of hiding the complexity of how the data is prepared and only giving you the information that you need.
In the frontend - backend relationship, you Frontend is the consumer of the API and the Backend is the provider of the API.
The acronym CRUD stands for Create, Read, Update, and Delete. It is a way of defining the actions that you can perform on a database.
- Create: Adding a new record to the database.
- Read: Getting a record from the database.
- Update: Updating a record in the database.
- Delete: Deleting a record from the database.
The acronym HTTP stands for Hypertext Transfer Protocol. It is a standard protocol used for transferring data, including web pages, over the internet. It is a request-response protocol, meaning that a client, such as a web browser, sends a request to a server, and the server sends a response back to the client. It is a way of defining the actions that you can perform on a website.
- GET: Getting a record from the database.
- POST: Adding a new record to the database.
- PUT: Updating a record in the database.
- DELETE: Deleting a record from the database.
💡What other protocals can you think of?
- Data Management: How do we store and manage data?
- Security: How do we protect our data?
- Scalability: How do we scale our backend?
- Performance: How do we optimize our backend for performance?
- Reliability: How do we ensure our backend is reliable?
- Separation of Concerns: How do we separate the concerns of our backend?
- Modularity: How do we design our backend in a modular way?
- Testability: How do we make our backend testable?
- Scalability: How do we design our backend to be scalable?
- Performance: How do we optimize our backend for performance?
- Nodejs: What is Nodejs?
- Express: What is Express?
- MongoDB: What is MongoDB?
- PostgreSQL: What is PostgreSQL?
- Redis: What is Redis?
- Docker: What is Docker?
- Kubernetes: What is Kubernetes?
- AWS: What is AWS?
- GCP: What is GCP?
- Azure: What is Azure?
- ETC