Desenvolvido por NicolasXS.
A aplicação estará disponível em http://localhost:3000/api.
Esta é uma API Rest desenvolvida com a tecnologia NestJS para atender as necessidades do Desafio Técnico - TIVIC. Os serviços disponibilizados pela API incluem a verificação de saldo, depósito e saque em contas correntes.
- Serviço para verificar o saldo de uma conta corrente;
- Serviço para realizar um depósito em uma determinada conta corrente;
- Serviço para realizar um saque de uma determinada conta corrente.
- Verificação de saldo: para verificar o saldo de uma conta corrente, basta enviar uma requisição GET para o endpoint
/bank-account/{id}
, onde:id
é o número da conta desejada. - Depósito em conta: para realizar um depósito em uma conta corrente, envie uma requisição PUT para o endpoint
/bank-account/{id}/deposit
, passando o valor do depósito no corpo da requisição. - Saque em conta: para realizar um saque em uma conta corrente, envie uma requisição PUT para o endpoint
/bank-account/{id}/withdraw
, passando o valor do saque no corpo da requisição. É importante verificar se a conta tem saldo suficiente para realizar o saque.
A arquitetura utilizada neste projeto segue o padrão MVC (Model-View-Controller), com separação clara entre as camadas de controle, serviço e modelo. A camada de controle lida com as requisições HTTP e encaminha para os serviços correspondentes, que, por sua vez, manipulam os dados do modelo. A camada de modelo é responsável por lidar com a persistência dos dados no banco de dados.
Durante o desenvolvimento, foi necessário lidar com questões relacionadas à segurança da API, como autenticação e autorização, além de garantir que a aplicação fosse escalável e tolerante a falhas. Também foi necessário lidar com a integração do backend com o frontend desenvolvido em Angular.
Foi utilizada a arquitetura em camadas com a separação clara entre as responsabilidades de cada camada. Além disso, foi utilizado o padrão DTO (Data Transfer Object) para a transferência de dados entre as camadas e o cliente, e a API foi documentada utilizando o Swagger.
Para executar a aplicação, é necessário ter o Node.js e o instalados em sua máquina. Após clonar o repositório, execute os seguintes comandos:
A progressive Node.js framework for building efficient and scalable server-side applications.
Nest framework TypeScript starter repository.
$ npm install
# development
$ npm run start
# watch mode
$ npm run start:dev
# production mode
$ npm run start:prod
# unit tests
$ npm run test
# e2e tests
$ npm run test:e2e
# test coverage
$ npm run test:cov
Nest is an MIT-licensed open source project. It can grow thanks to the sponsors and support by the amazing backers. If you'd like to join them, please read more here.
- Author - Kamil Myśliwiec
- Website - https://nestjs.com
- Twitter - @nestframework
Nest is MIT licensed.