Git Product home page Git Product logo

exemplo-conectados-five-bank's Introduction

Primeiros passos 😎

Croar módulo de Conta Bancária ✔️

nest g module accounts
nest g controller accounts
  • Vamos criar nossa classe Account que irá representar nossa conta bancária
  • Depois vamos criar nosso contrato que irá representar as transações do nosso sistema
  • Uma vez criado, agora iremos definir nossas classes responsáveis por Crédito e Débito
  • Agora vamos voltar para nossa conta bancária e definir alguns comportamentos
    • Método Open é um factory method que irá representar a abertura de uma nova conta
    • Deposit será o nosso método que representará o comportamento de deposito
    • Credit será o nosso método que representará o comportamento de Crédito
    • Precisamos de um método para retornar o saldo atual da conta para fins de cálculo
  • Vamos definir nossos casos de uso agora com eles vamos descrever os comportamentos e regras da nossa aplicação
nest g service accounts/useCases/CloseAccount
nest g service accounts/useCases/deposit
nest g service accounts/useCases/withdraw
nest g service accounts/useCases/getCurrentBalance
  • Vamos criar nosso repositório e seu contrato
  • Depois vamos configurar o DI dele
@Module({
  controllers: [AccountsController],
  providers: [
    CloseAccountService,
    DepositService,
    GetCurrentBalanceService,
    WithdrawService,
    { provide: 'IAccountRepository', useClass: AccountRepositry },
  ],
})
export class AccountsModule {}

Criar módulo de Clientes ❗

nest g module customers
nest g controller customers
  • Vamos instalar o validador de CPF ✔️
npm i cpf-cnpj-validato
  • Vamos trabalhar com eventos instalando ✔️
npm i --save @nestjs/event-emitter
  • Configuração do modulo de Cliente ✔️
@Module({
  controllers: [CustomersController],
  providers: [
    Logger,
    RegisterNewCustomerService,
    CustomerRegisteredEventHandler,
    { provide: 'IAccountRepository', useClass: AccountRepositry },
    { provide: 'ICustomerRepository', useClass: CustomerRepository },
  ],
})
export class CustomersModule {}

exemplo-conectados-five-bank's People

Contributors

jcmdsbr avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.