Skip to content

luskas8/orangebank-api

Repository files navigation

OrangeBank API

Backend para o hackathon da Orange Juice, com o desafio de criar um mini banco de investimentos.

Node Version NPM Version Package License Follow us on Twitter

🍊 Sobre o Projeto

O OrangeBank API é o backend de um banco digital de investimentos, desenvolvido com NestJS, Prisma e PostgreSQL. A aplicação oferece funcionalidades essenciais para gerenciamento de contas, transações financeiras e autenticação de usuários.

✨ Principais Funcionalidades

  • 🔐 Autenticação: Registro e login de usuários com JWT.
  • 🏦 Gerenciamento de Contas: Criação, listagem, ativação e desativação de contas.
  • 💰 Transações Financeiras: Depósitos, saques e transferências entre contas.
  • 📈 Investimentos: Gestão de ações e títulos de renda fixa.
  • 📄 Histórico: Consulta de extrato de transações.

🛠️ Tecnologias Utilizadas

🚀 Como Executar

A maneira mais simples de configurar e rodar o projeto é utilizando o nosso script de utilidades.

Pré-requisitos

  • Node.js (versão >= 22.0.0)
  • Docker e Docker Compose
  • Permissão de execução para o script: chmod +x ./scripts/dev-utils.sh

📦 Configuração Rápida com Utilitário

  1. Clone o repositório

    git clone https://github.com/luskas8/orangebank-api.git
    cd orangebank-api
  2. Instale as dependências

    npm install
  3. Configure e inicie o ambiente O script dev-utils.sh irá criar o arquivo .env e iniciar os containers Docker.

    ./scripts/dev-utils.sh setup
    ./scripts/dev-utils.sh run
  4. Execute as migrações e popule o banco

    npx prisma migrate dev
    npm run prisma:seed # Opcional

A API estará disponível em http://localhost:3000. Para parar os serviços, utilize ./scripts/dev-utils.sh down.

📜 Configuração Manual

Caso prefira, siga os passos manuais:

  1. Clone e instale: Siga os passos 1 e 2 da configuração rápida.
  2. Variáveis de Ambiente: Crie um arquivo .env na raiz do projeto e adicione as variáveis de ambiente necessárias. Você pode usar o comando ./scripts/dev-utils.sh setup.
  3. Banco de Dados: Inicie o container do PostgreSQL.
    docker-compose up -d
  4. Migrações e Seed: Execute os passos 4 e 5 da configuração rápida.
  5. Iniciar a Aplicação: Execute o passo 5 da configuração rápida.

🧪 Testes

# Testes unitários
npm run test

# Testes e2e
npm run test:e2e

# Cobertura de testes
npm run test:cov

📚 Documentação da API

A documentação completa dos endpoints, com exemplos de requisições e respostas, está disponível via Swagger UI.

Acesse em: http://localhost:3000/docs

Resumo dos Endpoints

🔐 Autenticação

  • POST /auth/login: Login de usuário.
  • POST /auth/register: Registro de novo usuário.

🏦 Contas

  • POST /account/create: Criar nova conta.
  • GET /account/get: Listar contas do usuário.
  • GET /account/get/:id: Buscar conta específica.

💰 Transações

  • POST /account/deposit: Depósito em conta.
  • POST /account/withdraw: Saque da conta.
  • POST /account/transfer: Transferência entre contas.
  • GET /account/transactions/:id: Histórico de transações.

About

Backend para o hackathon do orange-juice, com desafio de criar um mini banco de investimentos

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  

Languages