Ecosyste.ms: Awesome

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

Awesome Lists | Featured Topics | Projects

https://github.com/sergiovieirawebb/project-backend-nodejs

Base inicial para projetos de Backend NodeJS.
https://github.com/sergiovieirawebb/project-backend-nodejs

api-rest backend docker dotenv express express-async-errors jsonwebtoken mysql2 nodejs sequelize sequelize-cli

Last synced: about 2 months ago
JSON representation

Base inicial para projetos de Backend NodeJS.

Awesome Lists containing this project

README

        

# Backend NodeJS


Preview

## Projeto

Base inicial para projetos de Backend NodeJS, utilizando as seguintes tecnologias:

- [Docker](https://www.docker.com/)
- [NodeJs](https://nodejs.org/)
- [DotEnv](https://www.npmjs.com/package/dotenv)
- [Express](https://expressjs.com/)
- [ExpressAsyncErrors](https://www.npmjs.com/package/express-async-errors)
- [Mysql2](https://www.npmjs.com/package/mysql2)
- [Sequelize](https://sequelize.org/)
- [SequelizeCli](https://www.npmjs.com/package/sequelize-cli)
- [JsonWebToken](https://jwt.io/)

## Como executar

- Faça o download do [Docker](https://www.docker.com/) para rodar o banco de dados
- Clone o repositório `git clone [email protected]:sergiovieirawebb/backend-nodejs.git`
- Renomei a pasta `backend-nodejs` para o `nome-do-seu-projeto`
- Entre na pasta `nome-do-seu-projeto` com o comando `cd nome-do-seu-projeto`
- Rode o `npm install` para baixar as dependências
- Rode o `docker-compose up -d` para iniciar o banco de dados pelo docker
- Rode o `npm run database` para criar as tabelas do banco de dados
- Rode o `npm run dev` para iniciar a aplicação

Por fim, a aplicação estará disponível em `http://localhost:3001/login`

## Rotas da aplicação

- Dica: faça o download do [insomnia](https://insomnia.rest/) para acessar as rotas.


Preview

#### Fazer login `POST /login`

> body do envio
```json

{
"email": "[email protected]",
"password": "1234567"
}

```

> body da resposta
```json

{
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJwYXlsb2FkIjp7ImlkIjoxLCJmdWxsTmFtZSI6Ikxlb25hcmRvIiwiZW1haWwiOiJsZW9AdGVzdC5jb20ifSwiaWF0IjoxNjYzNjg5MTI1LCJleHAiOjE2NjQxMjExMjV9.q7shs9V8hHnXJ5HOHy-0vvOS1intyc43rnT6uCzk9sQ"
}

```

- Atenção: inserir em Authorization o token gerado no login para acessar a rota abaixo.


Preview

#### Buscar todos usuários `GET /users`

> body da resposta
```json
[
{
"id": 1,
"fullName": "Leonardo",
"email": "[email protected]",
"phoneNum": "11942079043"
},
{
"id": 2,
"fullName": "Eduardo",
"email": "[email protected]",
"phoneNum": "11942079043"
}
]
```

## Licença

Projeto criado por [Sérgio Vieira](https://www.linkedin.com/in/sergiovieirawebb/). E está sob a licença MIT, veja o arquivo [LICENSE](./LICENSE.md) para mais detalhes... :rocket: