Skip to content

Aplicação de contas bancárias onde é possível realizar saques, depósitos e transferências entre contas

Notifications You must be signed in to change notification settings

Humberto-Bonadiman/bank-account

Repository files navigation

Continuos Integration with GitHub

Boas vindas ao repositório do projeto Bank Account


Descrição do projeto

Neste projeto eu fui responsável por criar uma API REST responsável por gerenciar contas bancárias utilizando Java com Spring-boot e o banco de dados MySQL.
Inicialmente para abrir uma conta é necessário apenas o nome completo e o CPF da pessoa. Após é gerado um token que é utilizado na criação da conta, onde a pessoa irá terminar de informar os seus dados para o cadastro.
Com essa conta é possível realizar transferências para outras contas, depositar e realizar saques.


Instalação do projeto localmente

Após cada um dos passos, haverá um exemplo do comando a ser digitado para fazer o que está sendo pedido.

  1. Realize o clone do projeto no diretório de sua preferência:
git clone git@github.com:humberto-bonadiman/bank-account.git
  1. Acesse o diretório do projeto e depois utilize o comando mvn install para instalar todas as dependências necessárias:
  cd bank-account
  mvn install
  1. Após empacote o código compilado com o comando mvn package:
mvn package

Adicionando o SECRET

Para realizar a criação e a leitura do token você pode utilizar o seguinte comando:

export SECRET=sua_chave_vai_aqui

Não é um comando obrigatório pois a aplicação já roda sem a SECRET, porém é sempre indicado criá-la.

Comandos para utilizar o Docker

Caso o MySQL esteja ativo em sua máquina é necessário realizar o comando:

sudo service mysql stop

Para criar e iniciar os contêineres:
Obs.: Com o comando abaixo o docker fica rodando no terminal.

docker-compose up

Para criar e iniciar os contêineres em stand-by:

docker-compose up -d

Para realizar apenas a etapa de build das imagens que serão utilizadas:

docker-compose build

Para paralisar e remover todos os contêineres e seus componentes como rede, imagem e volume:

docker-compose down

Utilizando o Spring-boot sem o Docker

Primeiramente, ative o MySQL:

sudo service mysql start

No arquivo que está no caminho /src/main/resources/application.yml você deve alterar a 7ª(username) e a 8ª(password) linha com o usuário e senha do seu MySQL:

spring:
  datasource:
    username: username
    password: password

Rodar o Spring-Boot com o comando:

mvn spring-boot:run

Realização dos testes

Para realizar todos os testes da aplicação você pode utilizar o seguinte comando:

mvn clean test

Para realizar somente um teste específico você deve utilizar o comando:

mvn test -Dtest=O_nome_do_teste_vai_aqui

Exemplo:

mvn test -Dtest=AccountCreateApplicationTests

Para realizar mais de um teste basta adicionar uma vírgula ao final do teste conforme o exemplo:

mvn test -Dtest=AccountCreateApplicationTests,AccountDeleteByIdApplicationTests

Para realizar os testes do pacote account você deve utilizar o seguinte comando:

mvn test -Dtest="com.java.spring.account.**"

Para realizar os testes do pacote person você deve utilizar o seguinte comando:

mvn test -Dtest="com.java.spring.person.**"

Documentação

Documentação Swagger

Para acessar a documentação pelo swagger rode o comando mvn spring-boot:run ou docker-compose up e acesse o projeto via browser, no caminho http://localhost:8080/swagger-ui/index.html ou pelo caminho http://localhost:8080/v3/api-docs.

About

Aplicação de contas bancárias onde é possível realizar saques, depósitos e transferências entre contas

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published