# 3: Backend

## Learning Objectives

1. Backend refers to non-client computers that perform logic, store and serve data
2. Servers are computers without a screen that receive requests from clients and respond with data
3. SQL is the language for querying relational databases; PostgreSQL is a popular dialect
4. Sequelize is an ORM (Object-Relational Mapping) that enables us to write code that generates SQL
5. JWT authentication is the de-facto authentication standard
6. Sockets allow us to transmit data and update UIs in real-time
7. Deploy a backend server to Heroku that can store and serve data for our frontends

## Introduction

![We will now build the backend portion of our app architecture. Source: Rocket Academy](/files/YJdh1QzHGRfPm4jn0e5i)

In Module 3: Backend we will build a backend server that performs logic, stores and serves data to our frontends using the JavaScript server framework Express.js. Our backends will use relational (tabled-based) databases (aka SQL databases, pronounced "sequel") instead of the JSON-like databases we used with Firebase. Most companies use SQL databases for the majority of their use cases because SQL can be more structured has less potential for human error.


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://bc.rocketacademy.co/3-backend.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
