GithubHelp home page GithubHelp logo

mybank's Introduction

My Bank

Descrição do Projeto:

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:

  1. 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.
  2. 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.
  3. 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.
  4. Movimentações Financeiras: Os usuários podem realizar diversas transações financeiras, incluindo depósitos, saques e transferências entre contas.
  5. 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.
  6. 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.

Por onde Comerçar?

# Comerce pelo Back-end
# Clone o repositório
# Instale as dependências
# Rode o Back-end
# siga os passos abaixo

1. Clone o repositório

[email protected]:zeneiltongpdev/bank-of-cubos.git

2. Instalações necessárias:

Após o clone do repositório, entre na pasta do back-end e execute os comandos abaixo:

cd backend
  1. Instale as dependências com npm i
  2. Instale o express com npm i express
  3. Instale o nodemon com npm i -D morgan nodemon

Instale as dependências abaixo para o banco de dados caso algo não funcione:

  1. Instale o mongoose com npm i mongoose
  2. Instale o dotenv com npm i dotenv (opcional)
  3. Instale o cors com npm i cors

3. Rode o projeto:

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).

Siga o passo a passo para instalção e execução do MongoDB:

Comandos no Windows Usando o CMD | Clique para Expandir
  1. Abra o CMD na pasta do projeto
  2. Execute o comando: net start MongoDB para iniciar o banco de dados
  3. Execute o comando: sc.exe query MongoDB para verificar o status do banco de dados
  4. Execute o comando: net stop MongoDB para parar o banco de dados
  5. Execute o comando: net start MongoDB novamente para reiniciar o banco de dados
Comandos no MacOS Usando o Terminal | Clique para Expandir
  1. Abra o terminal na pasta do projeto
  2. Execute o comando: brew services start [email protected] para iniciar o banco de dados
  3. Execute o comando: brew services list para verificar o status do banco de dados
  4. Execute o comando: brew services stop [email protected] para parar o banco de dados
  5. Execute o comando: brew services start [email protected] novamente para reiniciar o banco de dados
Comandos no Linux Usando o Terminal | Clique para Expandir
  1. Abra o terminal na pasta do projeto
  2. Execute o comando: sudo systemctl start mongod para iniciar o banco de dados
  3. Execute o comando: sudo systemctl status mongod para verificar o status do banco de dados
  4. Execute o comando: sudo systemctl stop mongod para parar o banco de dados
  5. Execute o comando: sudo systemctl restart mongod para reiniciar o banco de dados

E então, use o comando abaixo para rodar o projeto:

Aplique o comando: npm start para rodar o backend

O backend está rodando na porta 3000, então acesse: http://localhost:3000

Para realização e a execução dos testes, foi utilizado o Thunder Client neste projeto:

Recomendo a utilização do Mesmo

  1. 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.
  2. O arquivo está na pasta backend/src/utils/ do projeto.

Neste ponto o backend já deve está rodando, agora vamos ver como funciona nossa aplicação..

Visão Geral 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
Loading
  1. Para registrar um novo usuário, basta acessar a rota /register e preencher os campos com os dados do usuário.
  2. 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.
  3. 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.
  4. Após a criação da conta, o usuário será redirecionado para a rota /transactions onde poderá realizar as operações financeiras.
  5. 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.
  6. O usuário poderá visualizar o saldo atual da conta na rota /info-account.

O frontend ainda está em elaboração. Por favor aguardar

Ferramentas e Tecnologias Utilizadas:

JavaScript Node.js Express Mongoose MongoDB React React Router Vite Thunder Client Visual Studio Code Git GitHub

Autor:

Licença MIT:

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.