Skip to content

lucascdornelas/expenses_server

Repository files navigation

Nest Logo

Expenses Server

Este é um projeto consistem em criar uma api rest em node.js utilizando o framework nestjs. A api possui autenticação de usuário e um 'CRUD' da entidade despesas.

Características do Projeto

  • Node.js
  • Typescript
  • ORM: Sequelize
  • Banco de Dados: SQLite
  • Jest

Testando a API com Swagger:

A API possui uma documentação interativa feita com o Swagger, que permite que você teste os endpoints sem a necessidade de escrever código ou usar ferramentas externas. Para acessá-lo, basta ir até a URL http://localhost:3000/api no seu navegador.

O Swagger irá exibir todos os endpoints disponíveis na API, incluindo a descrição de cada um, quais parâmetros devem ser enviados e o tipo de retorno esperado. Para testar um endpoint, basta clicar na sua descrição, preencher os parâmetros necessários (se houver) e clicar em "Try it out". O Swagger irá fazer uma chamada para o endpoint e exibir a resposta na tela.

Protegendo a API com JWT:

A API está protegida com o uso de Tokens JWT (JSON Web Tokens). Isso significa que a maioria dos endpoints só poderá ser acessada com um token válido, que deve ser enviado no cabeçalho da requisição com a chave Authorization e o valor <access_token>.

Para obter um token, você deve fazer uma chamada para o endpoint de autenticação, passando as credenciais corretas (email e senha). Em resposta, você receberá um token, que deve ser usado nas requisições subsequentes.

Importante lembrar que:

  • Usuário deve ser registrado antes de solicitar um token.
  • Tokens possuem uma data de expiração de duração 1 hora, então você precisará obter um novo token após a expiração do anterior.

Scripts

Instalação

git clone https://github.com/lucascdornelas/onfly-technical-test.git
$ npm install

Rodando a aplicação

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Teste

# unit tests
$ npm run test

# test coverage
$ npm run test:cov

License

Nest is MIT licensed.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published