Skip to content

wallacemt/devbank-backend

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

34 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏦 DevBank - Backend

License   Cargo version   Pull request

Indices

📌 Sobre o Projeto

DEVBANK é uma aplicação bancária fictícia que simula um banco digital moderno, com funcionalidades reais de contas, transferências, segurança e organização financeira. O backend é construído em Java com Spring Boot, seguindo as melhores práticas de arquitetura MVC, DTOs, segurança com JWT, validação e serviços desacoplados.

🚀 Tecnologias Utilizadas

dotenv   cors bcrypt   Postman     Oauth   mave              

📂 Estrutura do Projeto

backend-devbank/
│-- src/
│   ├── main/java/br/com/projeto/
│   │   ├── config/
│   │   ├── controle/
│   │   ├── dto/
│   │   ├── infra/
│   │   ├── middleware/
│   │   ├── models/
│   │   ├── repositorio/
│   │   ├── service/
│   │   ├── ultils/
│   ├── main/resources/
│   │   ├── application.properties
│-- Dockerfile
│-- .env
│-- README.md

🛠️ Configuração e Execução

1️⃣ Clonar o Repositório

git clone https://github.com/wallacemt/devbank-backend
cd devbank-frontend

2️⃣ Instalar Dependências

./mvnw spring-boot:run

Ou, se estiver usando Java diretamente:

java -jar target/backend-devbank.jar

`

📌 Principais Funcionalidades

  • 🔐 Autenticação segura com verificação em duas etapas (2FA) e sistema anti-brute-force.

  • 🧾 Sistema completo de transferências via Pix, incluindo visualização de histórico, comprovantes e logs.

  • 🖥️ TransferShell — um terminal interativo inspirado no Linux, onde o usuário envia comandos para fazer transações, visualizar logs e interagir com o banco como se estivesse no shell.

  • 💼 Caixinhas (Stash) — funcionalidade para criar containers de saldo, permitindo guardar valores com organização e metas financeiras.

  • 🧩 Fluxo completo de onboarding com stepper para registro e complemento de perfil.

  • 🧠 Interface responsiva e inteligente, construída com React, TailwindCSS, TypeScript e componentes ShadCN UI.

  • 📬 Sistema de email transacional com templates personalizados para validação de conta, alertas e confirmações.

📌 Endpoints Principais

A API está documentada no Swagger é Postman. Você pode importar a coleção utilizando o arquivo critix-api.json incluído no projeto ou acessar.

http://localhost:8081/swagger-ui/index.html

🔑 Autenticação

  • POST /auth/sign-in - Realiza o login e retorna um token JWT
  • POST /auth/register - Cria um novo usuário

🔒 Autenticação e Segurança

A API utiliza JWT para autenticação. Para acessar rotas protegidas, adicione o token no cabeçalho:

Authorization: Bearer <seu_token>

🗂️ Banco de Dados

Diagrama Do Banco:

Diagrama  

💡 Propósito

O objetivo do DEVBANK é explorar um modelo de banco digital que não apenas simule operações reais, mas também engaje desenvolvedores de forma criativa, permitindo que realizem ações bancárias como se estivessem usando um terminal de código. Ao unir design moderno, segurança, interatividade e linguagem do universo tech, o projeto oferece uma proposta de valor diferenciada para usuários com perfil técnico.

🛠 Contribuição

Ficou interessado em contribuir? Faça um fork do repositório, crie uma branch, implemente a melhoria e envie um pull request. Toda ajuda é bem-vinda!

  1. Fork the repository.

  2. Clone your forked repository to your local machine.

  3. Create a branch for your feature or fix:

    git checkout -b my-new-feature
  4. Commit your changes:

    git commit -m 'Add new feature'
  5. Push your changes to your fork:

    git push origin my-new-feature
  6. Create a Pull Request.

📜 Licença

Este projeto está sob a licença MIT.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors