项目作者: Guilheeeerme

项目描述 :
API de transferência entre contas internas de um banco digital.
高级语言: TypeScript
项目地址: git://github.com/Guilheeeerme/digital-bank-transfer-api.git
创建时间: 2021-03-03T12:47:32Z
项目社区:https://github.com/Guilheeeerme/digital-bank-transfer-api

开源协议:

下载


Projeto realizado com base Nesse Desafio

O desafio é criar uma API de transferencia entre contas internas de um banco digital.

Regras gerais

  • Usar formato JSON para leitura e escrita (ex: GET /accounts/ retorna Json, POST /accounts/ {name: "John Doe"})

Rotas esperadas

/accounts

A entidade Account possui os seguintes atributos:

  • id
  • name
  • cpf
  • secret
  • balance
  • created_at

Espera-se as seguintes ações:

  • GET /accounts - obtém a lista de contas
  • GET /accounts/{account_id}/balance - obtém o saldo da conta
  • POST /accounts - cria uma Account

Regras para esta rota

  • balance pode iniciar com 0 ou algum valor para simplificar
  • secret deve ser armazenado como hash

/login

A entidade Login possui os seguintes atributos:

  • cpf
  • secret

Espera-se as seguintes ações:

  • POST /login - autentica o usuário

Regras para esta rota

  • Deve retornar token para ser usado nas rotas autenticadas

/transfers

A entidade Transfer possui os seguintes atributos:

  • id
  • account_id
  • account_destination_id
  • amount
  • created_at

Espera-se as seguintes ações:

  • GET /transfers - obtém a lista de transferência do usuario autenticado
  • POST /transfers - faz transferência de uma Account para outra

Regras para esta rota

  • Quem fizer a transferência precisar estar autenticado
  • O account_id deve ser obtido no Token enviado
  • Caso Account de origem não tenha saldo, retornar um código de erro apropriado
  • Atualizar o balance das contas

Tecnologias utilizadas:

  • Nodejs
  • TypeScript
  • TypeORM
  • PostgresSQL
  • Bcrypt
  • Jsonwebtoken