Skip to content

Afrobia/ON36-IJS-KONKE-BANK

Repository files navigation

{KONKE} Bank - banco comunitário para comunidades quilombolas

Banco comunitário para comunidades Quilombolas

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.

Nest Logo

A progressive Node.js framework for building efficient and scalable server-side applications.

NPM Version Package License NPM Downloads CircleCI Coverage Discord Backers on Open Collective Sponsors on Open Collective Support us

Description

Nest framework TypeScript starter repository.

Installation

$ npm install

Running the app

# development
$ npm run start

# watch mode
$ npm run start:dev

# production mode
$ npm run start:prod

Test

# unit tests
$ npm run test

# e2e tests
$ npm run test:e2e

# test coverage
$ npm run test:cov

Support

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.

Stay in touch

License

Nest is MIT licensed.

Implementação de Conta

Objetivos de aprendizagem do desafio 🎯

  • 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.

Desafio 02 - {Reprograma}Bank

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

Projeto Inicial

  • 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

Desafio 03 - {Reprograma}Bank

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.

Desafio 04 - {Reprograma}Bank

  • 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

Desafio 05 - {Reprograma}Bank

  • 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 Captura de tela 2024-08-09 155738

Após correção, com um código que deveria falhar Captura de tela 2024-08-09 170710

Captura de tela 2024-08-09 215134

  • Utilizei do TDD para implementar funcionalidade novas com saque, deposito e atualização de saldo no service

Captura de tela 2024-08-09 215330

Working in progess

  • Desenvolver testes end-to-end

Desafio 06 - {Reprograma}Bank

Modificações realizadas:

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; Captura de tela 2024-08-16 104212

  • Adição e implementei um Interceptor um Decorator para CEP Captura de tela 2024-08-16 104323 Captura de tela 2024-08-16 104339

  • Cep como ficou a organização de entrada e saída Captura de tela 2024-08-16 101049

-Implementando a comunicação da API do viaCEP através do Interceptador implementando o NestInterceptor Captura de tela 2024-08-16 105016 Captura de tela 2024-08-16 104947 Captura de tela 2024-08-16 105001

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published