O My Bank foi um projeto desenvolvido durante um curso de Back-end da Cubos Academy. É uma aplicação bancária online desenvolvida em Node.js com a utilização do framework Express e Banco de Dados utilizando o MongoDB. É uma plataforma segura e eficiente que permite aos usuários realizar diversas operações financeiras, incluindo a criação de contas, gerenciamento de saldos e registro de transações.
A aplicação oferece as seguintes funcionalidades principais:
- Cadastro de Contas: Os usuários podem criar facilmente contas bancárias fornecendo informações pessoais básicas, como nome, e-mail, usuário e senha.
- Login e Autenticação: A aplicação garante a segurança dos dados dos usuários com um sistema de autenticação robusto, exigindo login com senha para acessar as contas.
- Gestão de Contas: Os clientes podem visualizar informações detalhadas de suas contas, incluindo saldo atual, histórico de transações e informações pessoais.
- Movimentações Financeiras: Os usuários podem realizar diversas transações financeiras, incluindo depósitos, saques e transferências entre contas.
- Histórico de Transações: Cada transação é registrada e exibida no histórico de transações do usuário, fornecendo um registro completo das atividades financeiras.
- Segurança: A aplicação prioriza a segurança, implementando medidas de segurança robustas para proteger informações sensíveis e prevenir atividades fraudulentas com JWT.
Este projeto visa fornecer uma solução completa e escalável para serviços bancários online, com foco na segurança e facilidade de uso. Ele utiliza tecnologias modernas como Node.js e Express para criar uma aplicação web confiável e de alto desempenho.
# Comerce pelo Back-end
# Clone o repositório
# Instale as dependências
# Rode o Back-end
# siga os passos abaixo
[email protected]:zeneiltongpdev/bank-of-cubos.git
Após o clone do repositório, entre na pasta do back-end e execute os comandos abaixo:
cd backend
- Instale as dependências com
npm i
- Instale o express com
npm i express
- Instale o nodemon com
npm i -D morgan nodemon
Instale as dependências abaixo para o banco de dados caso algo não funcione:
- Instale o mongoose com
npm i mongoose
- Instale o dotenv com
npm i dotenv
(opcional)- Instale o cors com
npm i cors
Antes de rodar o projeto, certifique-se de que o banco de dados está rodando.
Neste caso o banco de dados é o MongoDB. Baixe, instale e execute no o Mongo no seu Workstation (estação de trabalho).
Comandos no Windows Usando o CMD | Clique para Expandir
- Abra o CMD na pasta do projeto
- Execute o comando:
net start MongoDB
para iniciar o banco de dados- Execute o comando:
sc.exe query MongoDB
para verificar o status do banco de dados- Execute o comando:
net stop MongoDB
para parar o banco de dados- Execute o comando:
net start MongoDB
novamente para reiniciar o banco de dados
Comandos no MacOS Usando o Terminal | Clique para Expandir
- Abra o terminal na pasta do projeto
- Execute o comando:
brew services start [email protected]
para iniciar o banco de dados- Execute o comando:
brew services list
para verificar o status do banco de dados- Execute o comando:
brew services stop [email protected]
para parar o banco de dados- Execute o comando:
brew services start [email protected]
novamente para reiniciar o banco de dados
Comandos no Linux Usando o Terminal | Clique para Expandir
- Abra o terminal na pasta do projeto
- Execute o comando:
sudo systemctl start mongod
para iniciar o banco de dados- Execute o comando:
sudo systemctl status mongod
para verificar o status do banco de dados- Execute o comando:
sudo systemctl stop mongod
para parar o banco de dados- Execute o comando:
sudo systemctl restart mongod
para reiniciar o banco de dados
Aplique o comando:
npm start
para rodar o backend
O backend está rodando na porta 3000, então acesse: http://localhost:3000
Recomendo a utilização do Mesmo
- Foi disponibilizado um arquivo com as rotas para facilitar a execução dos testes, basta importar o arquivo
thunder-collection_bank-of-cubos.json
no Thunder Client.- O arquivo está na pasta
backend/src/utils/
do projeto.
classDiagram
Localhost --> Port_3000 : Connection
Port_3000 --> MongoDB : Connection
Register --> Login : Register Success
Login --> CreatAccount : Account Created
CreatAccount --> Login : Access Token JWT
CreatAccount --> InitialBalance : Balance
InitialBalance : $ 0,00
Transactions --> Transfer : Transfer?
class Transactions{
+ Withdraw
+ Deposit
+ Transfer
}
Transactions --> Withdraw : Withdraw?
Transactions --> Deposit : Deposit?
AccountBalance .. Account2
class Localhost{
+ Port:3000
}
AccountBalance --> Transactions : Transactions
class AccountBalance{
Balance > $ 0,00
}
Account2 <--> Transfer : Account02
- Para registrar um novo usuário, basta acessar a rota
/register
e preencher os campos com os dados do usuário.- Após o registro, o usuário será redirecionado para a rota
/login
onde deverá preencher os campos com o usuário e senha cadastrados.- Após o login, o usuário será redirecionado para a rota
/create-account
onde deverá preencher os campos com o nome da conta e o saldo inicial.- Após a criação da conta, o usuário será redirecionado para a rota
/transactions
onde poderá realizar as operações financeiras.- O usuário poderá realizar as operações de saque, depósito e transferência entre contas. E usar as demais rotas:
/withdraw
,deposit
e/transfer
, para realizar as operações financeiras.- O usuário poderá visualizar o saldo atual da conta na rota
/info-account
.