Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/camillamendess/apis-node-express


https://github.com/camillamendess/apis-node-express

express mongodb mongoose nodejs postman

Last synced: about 1 month ago
JSON representation

Awesome Lists containing this project

README

        

# Projeto de API REST com Express e MongoDB

## Descrição
Este projeto consiste no desenvolvimento de uma API seguindo o estilo arquitetural **REST**, utilizando o framework **Express** e conectando-a ao banco de dados **MongoDB**.

## Aprendizados

### 1. Criar uma API REST
Desenvolvi uma **API REST** do zero, compreendendo os princípios do estilo arquitetural REST, como a separação entre cliente e servidor e o uso de endpoints.

### 2. Funcionamento das Requisições HTTP
Entendi como funcionam as **requisições HTTP** (GET, POST, PUT, DELETE) e a importância de cada método para a interação com a API. Cada requisição é usada para uma operação específica:
- **GET**: Buscar dados.
- **POST**: Criar novos dados.
- **PUT**: Atualizar dados existentes.
- **DELETE**: Remover dados.

### 3. Express: Framework para Aplicações Escaláveis
Utilizei o framework **Express**, que oferece uma estrutura simples e flexível para desenvolver aplicações web. O Express facilita o gerenciamento de rotas e a implementação de middlewares.

### 4. Conexão com MongoDB
Aprendi a **conectar a API ao MongoDB**, permitindo o armazenamento e a recuperação de dados. A integração com o MongoDB foi feita usando o Mongoose, um ODM (Object Data Modeling) que simplifica as interações com o banco de dados.

### 5. Tratamento de Erros
Aprendi a tratar erros, garantindo que a API forneça respostas claras e seguras ao usuário. O tratamento de erros é essencial para a estabilidade da API e para melhorar a experiência do usuário final.

### 6. Buscas, Filtros e Operadores do MongoDB
Aprofundei o conhecimento em **buscas avançadas e filtros**, utilizando os operadores do MongoDB para realizar consultas complexas e extrair informações específicas.

### 7. Paginação
Implementei **paginação** nas rotas, permitindo que a API lide de forma eficiente com grandes volumes de dados. A paginação foi estruturada de forma reutilizável, permitindo sua aplicação em diferentes endpoints.

### 8. Middlewares
Entendi e implementei **middlewares no Express**, que são funções intermediárias usadas para tratar e modificar dados antes de chegar às rotas finais. Os middlewares foram essenciais para a reutilização de código e para adicionar camadas de validação, autenticação e tratamento de erros de forma centralizada.

## Tecnologias Utilizadas
- **Node.js**
- **Express**
- **MongoDB**
- **Mongoose**

# API REST Project with Express and MongoDB

## Description
This project involves the development of an API following the **REST architectural style**, using the **Express** framework and connecting it to a **MongoDB** database.

## Learnings

### 1. Creating a REST API
I developed a **REST API** from scratch, understanding the principles of the REST architectural style, such as the separation between client and server and the use of endpoints.

### 2. Understanding HTTP Requests
I learned how **HTTP requests** (GET, POST, PUT, DELETE) work and the importance of each method for interacting with the API. Each request is used for a specific operation:

- **GET**: Retrieve data.
- **POST**: Create new data.
- **PUT**: Update existing data.
- **DELETE**: Remove data.

### 3. Express: Framework for Scalable Applications
I used the **Express** framework, which offers a simple and flexible structure for developing web applications. Express simplifies route management and the implementation of middlewares.

### 4. Connecting with MongoDB
I learned how to connect the API to **MongoDB**, allowing for data storage and retrieval. The integration with MongoDB was done using **Mongoose**, an ODM (Object Data Modeling) that simplifies interactions with the database.

### 5. Error Handling
I learned how to handle errors, ensuring the API provides clear and secure responses to the user. Error handling is essential for API stability and improving the user experience.

### 6. Searches, Filters, and MongoDB Operators
I deepened my knowledge in **advanced searches and filters**, using MongoDB operators to perform complex queries and extract specific information.

### 7. Pagination
I implemented **pagination** in the routes, allowing the API to efficiently handle large volumes of data. Pagination was structured in a reusable way, making it applicable to different endpoints.

### 8. Express Middlewares
I understood and implemented **middlewares in Express**, which are intermediary functions used to handle and modify data before reaching the final routes. Middlewares were essential for code reuse and for adding layers of validation, authentication, and error handling in a centralized way.

## Technologies Used
- **Node.js**
- **Express**
- **MongoDB**
- **Mongoose**