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.
Após cada um dos passos, haverá um exemplo do comando a ser digitado para fazer o que está sendo pedido.
- Realize o clone do projeto no diretório de sua preferência:
git clone git@github.com:humberto-bonadiman/bank-account.git
- 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
- Após empacote o código compilado com o comando mvn package:
mvn package
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.
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
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
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.**"
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.