Tem como objetivo criar um banco comunitário para comunidades quilombolas. Este banco oferecerá serviços financeiros tradicionais juntamente com incentivos adicionais através de uma moeda social circulante local.
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.
- Entender como o TypeScript, uma linguagem de programação superset de JavaScript, se integra naturalmente ao ecossistema do Node.js e NESTjs
- Compreender os princípios e características de uma arquitetura RESTful.
- Identificar os recursos, URIs, métodos HTTP e códigos de status comuns em uma API REST.
- Aprender a projetar e implementar uma API RESTful usando Node.js e NESTjs, seguindo as melhores práticas de REST.
Abaixo estão os requisitos:
-
Cada cliente do banco tem as seguintes informações:
- Nome completo
- Número de identificação (ID)
- Endereço = classe Endereco
- Número de telefone
-
Requisitos de negócio:
- Cada cliente pode ter uma ou mais contas bancárias.
- As contas podem ser do tipo Conta Corrente ou Conta Poupança.
- Para a conta corrente, armazenar o limite do cheque especial.
- Para a conta poupança, é armazenar a taxa de juros.
- As Contas podem fazer tranferencia e saque deposito
- Criei as classe Cliente e Classe Conta e vinculei a conta ao id do cliente
- Criei interfaces para cada transações separadamente, crie classes de saque e depósito implementando os comportamentos dependendo do tipo de conta, cada comportamento foi atribuido a classe conta.
- Crieis as derivadas da Classe Conta( poupança e corrente),
- Implementei a transferencia nas classes
Abaixo estão os requisitos: Ao cliente do banco ser adicionadas as seguintes informações:
- Contas
- Gerente Gerente deve ter as seguintes informações:
- Nome completo
- Número de identificação (ID)
- Clientes Requisitos de negócio:
- Criar classes para representar Cliente e Gerente, incluindo os atributos mencionados no diagrama.
- Implementar métodos nas classes Cliente e Gerente para abrir, fechar e modificar o tipo de conta.
- Atualizar a classe Conta para manter uma referência ao cliente associado a ela.
- Implementar métodos na classe Gerente para adicionar e remover clientes, bem como para abrir, fechar e modificar o tipo de conta para um determinado cliente.
- Organizar a estrutura do projeto de forma apropriada, seguindo as melhores práticas para uma API RESTful.
- Explorar práticas recomendadas para criar um design de código claro e eficiente
- Aplicar SOLID, DRY e KISS
- Implementei padrões de código PD_Factory, PD_Adapter,
- Identificando como os padrões de design influenciam a estrutura e organização de um sistema.
- Refatoração do código
- Ficou explícito durante a semana o quanto a formulação de testes e o TDD são essenciais na construção de código
- Escrevi testes unitários para todas as classes de Contas Service e Contas Factory
- Criei testes de integração para a API, verificando a interação dos endpoints (POST)de Contas e de Cliente, utilizando supertest.
- Ajuste de BUG após teste, refatorando o código pra que um cliente não tenha mais de 1 conta do mesmo tipo Identificação do erro
Após correção, com um código que deveria falhar
- Utilizei do TDD para implementar funcionalidade novas com saque, deposito e atualização de saldo no service
- Desenvolver testes end-to-end
Em comparação a semana anteriores dei uma enxugada no meu código para que ele ficasse mais limpo e de uma forma mais prática de trabalhar, implementei mais testes pra deixar o código mais seguro.
-
Reorganização de pastas;
-
Adição do createUserDto, para validar (class-validator) se as requisições de criação do usuário(clientes e gerentes) estão chegando no padrão do projeto;
-Implementando a comunicação da API do viaCEP através do Interceptador implementando o NestInterceptor