Skip to content

ecsistem/urubu-pix-backend

Repository files navigation

Nest Logo

Urubu Banking System

O Urubu Banking System é uma aplicação de demonstração de um sistema bancário básico desenvolvido com o framework NestJS. Ele segue a lógica do "Urubu do PIX", permitindo que os usuários realizem operações como depósito, saque, transferência e verifiquem o histórico de transações. O sistema também inclui uma função de atualização diária dos saldos das contas com uma rentabilidade diaria de 8,5%.

Regra de Negócio

Regra de Negócio

Funcionalidades

  • Realizar depósitos em contas de usuário.
  • Realizar saques de contas de usuário.
  • Transferir dinheiro entre contas.
  • Verificar o saldo de uma conta.
  • Verificar o histórico de transações de uma conta.
  • Atualização diária automática dos saldos das contas.

##Executando o aplicativo

Usando Docker Certifique-se de ter o Docker instalado em seu sistema. Na raiz do projeto, execute o seguinte comando para iniciar o aplicativo usando o Docker Compose:

$ docker-compose up

O aplicativo estará disponível em http://localhost:3000.

Instalação

  1. Clone o repositório para o seu ambiente local.
  2. Navegue até o diretório do projeto e instale as dependências usando o comando:
$ pnpm install
  1. Crie um arquivo .env na raiz do projeto e defina as variáveis de ambiente necessárias, como as configurações do banco de dados.
  2. Execute o servidor de desenvolvimento com o comando:

Executando o aplicativo

# development
$ pnpm run start

# watch mode
$ pnpm run start:dev

# production mode
$ pnpm run start:prod

Configuração do Banco de Dados com Prisma

  1. Certifique-se de ter definido as configurações de banco de dados corretamente no arquivo .env.
  2. Execute as migrações do Prisma para criar o esquema do banco de dados com o comando:
#prisma migrate
npx prisma migrate dev

Teste

# unit tests
$ pnpm run test

# e2e tests
$ pnpm run test:e2e

# test coverage
$ pnpm run test:cov

Rotas de Usuários

  • GET /user/list-users: Lista todos os usuários cadastrados.
  • POST /user/create-user: Cria um novo usuário.

Rotas da API

  • POST /urubu/deposit: Realiza um depósito em uma conta.
  • POST /urubu/withdraw: Realiza um saque de uma conta.
  • POST /urubu/transfer: Realiza uma transferência entre contas.
  • GET /urubu/balance/:username: Obtém o saldo de uma conta.
  • GET /urubu/transaction-history/:username: Obtém o histórico de transações de uma conta.

Contribuição

Contribuições são bem-vindas! Se você quiser melhorar este projeto, sinta-se à vontade para enviar um pull request.

Autor

Licensa

Nest is MIT licensed.

About

No description or website provided.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published