https://github.com/dhdsouza/nodejs-rest-api
Esta é uma implementação simples de API Rest de usuários em Node.js. Desenvolvida como atividade do programa de estágio na Compass UOL.
https://github.com/dhdsouza/nodejs-rest-api
api-rest docker-compose eslint express githook husky-hooks lintstaged nodejs postman-collection
Last synced: 7 months ago
JSON representation
Esta é uma implementação simples de API Rest de usuários em Node.js. Desenvolvida como atividade do programa de estágio na Compass UOL.
- Host: GitHub
- URL: https://github.com/dhdsouza/nodejs-rest-api
- Owner: dhDSouza
- License: mit
- Created: 2023-07-10T22:47:19.000Z (about 2 years ago)
- Default Branch: main
- Last Pushed: 2024-12-04T13:18:12.000Z (10 months ago)
- Last Synced: 2025-01-17T09:30:16.795Z (9 months ago)
- Topics: api-rest, docker-compose, eslint, express, githook, husky-hooks, lintstaged, nodejs, postman-collection
- Language: JavaScript
- Homepage:
- Size: 199 KB
- Stars: 0
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
# nodejs-rest-api
## Sumário
- [Descrição do Projeto](#descrição-do-projeto)
- [Tecnologias Utilizadas](#tecnologias-utilizadas)
- [Pré-requisitos](#pré-requisitos)
- [Como Utilizar](#como-utilizar)
- [Licença](#licença)## Descrição do Projeto
Esta é uma implementação simples de API Rest de usuários em Node.js.
## Tecnologias Utilizadas
- [Git Hooks](https://git-scm.com/book/en/v2/Customizing-Git-Git-Hooks): Utilizado para automatizar tarefas relacionadas ao Git. Neste projeto, os Git Hooks são implementados usando as seguintes ferramentas:
- [Husky](https://typicode.github.io/husky/#/): Husky é uma ferramenta que permite a execução de scripts e gatilhos antes de confirmar alterações no repositório Git.
- [ESLint](https://eslint.org/): O ESLint é uma ferramenta de linting e formatação de código JavaScript, usada para manter um código consistente e sem erros.
- [lint-staged](https://github.com/okonet/lint-staged): O lint-staged é uma ferramenta usada em conjunto com o Husky e o ESLint para executar o linting e a formatação de código apenas nos arquivos modificados antes de confirmar as alterações no Git.- [NPM (Node.js Package Manager)](https://www.npmjs.com/): O NPM é o gerenciador de pacotes padrão para projetos em Node.js. Ele é usado para instalar as dependências do projeto e gerenciar scripts personalizados.
- [Docker](https://www.docker.com/): O Docker é uma plataforma que permite criar e executar contêineres de aplicativos. Neste projeto, é utilizado para facilitar a configuração e execução do ambiente do MongoDB.
- [Postman](https://www.postman.com/): O Postman é uma ferramenta de desenvolvimento de APIs que permite testar e documentar APIs. Neste projeto, é utilizado para importar uma coleção de solicitações HTTP pré-configuradas e facilitar os testes da API REST.
## Pré-requisitos
Antes de começar, verifique se você possui os seguintes pré-requisitos instalados:
- Docker (opcional): [Instale o Docker](https://docs.docker.com/get-docker/)
- Node.js: [Instale o Node.js](https://nodejs.org/)## Como Utilizar
Siga as etapas abaixo para configurar e executar o projeto localmente:
1. **Clone o repositório:**
```shell
git clone https://github.com/dhDSouza/nodejs-rest-api.git
```2. **Instale as dependências:**
```shell
npm install
```3. **Execute o MongoDB usando o Docker Compose:**
Certifique-se de ter o Docker instalado em sua máquina. Em seguida, execute o arquivo `mongodb-script.sh` localizado na pasta `scripts`. Isso iniciará um contêiner do MongoDB configurado de acordo com o arquivo `docker-compose.yml` fornecido. Se preferir pode simplesmente executar o seguinte comando em seu terminal na pasta `scripts` onde contém o arquivo `docker-compose.yml`:
```shell
docker-compose up -d
```4. **Importe a coleção do Postman:**
Certifique-se de ter o Postman instalado em sua máquina. Em seguida, abra o Postman e importe o arquivo `nodejs-rest-api-postman-collection.json` localizado na pasta `collection`. Isso importará as solicitações HTTP pré-configuradas para testar a API REST.
5. **Configure as variáveis de ambiente:**
Renomeie o arquivo `.env.example` para `.env` e preencha as informações de configuração, se necessário.
```shell
DB_DIALECT=
DB_HOST=
DB_PORT=
DB_NAME=
PORT=
```
`DB_DIALECT`: Dialeto do banco de dados utilizado. Para este projeto está sendo utilizado o MongoDB então preencha com `mongodb`.
`DB_HOST`: Local onde o banco de dados está hospedado, se estiver rodadando em sua máquina, como no exemplo deste projeto o valor é `localhost`.
`DB_PORT`: Por padrão o MongoDB utiliza a porta `27017` então preencha este campo com este valor.
`DB_NAME`: Nome do banco de dados, dê o nome que você preferir.
`PORT`: Variável resposável por definir a porta em que a aplicação irá rodar, colque a porta de sua preferência. Caso esta variável esteja vazia, por padrão a aplicação irá rodar na porta `3000`.6. **Execute a aplicação:**
```shell
npm start
```Isso iniciará a aplicação e o servidor estará disponível no endereço `http://localhost:3000`.
7. **Teste a API:**
Use o Postman importado para enviar solicitações HTTP à [API](./src/README.md) e testar suas funcionalidades.
## Licença
Este projeto está licenciado nos termos da Licença MIT. Consulte o arquivo [LICENSE](LICENSE) para obter mais informações.