##API REST desenvolvida para pretenção a vaga de desenvolvedor no banco Inter ###By Samuel Oliveira Chaves
###Leia me antes de prosseguir:
- Os scripts iniciais são executados utilizando liquibase
- Foi utilizado o banco de dados em memória H2
- As entidades são versionadas para simples controle de concorrência utilizando o Optimistic Lock da JPA. Portanto, deve-se passar sempre o atributo version com a versão mais atual
- Essa aplicação foi implementada no ECLIPSE e utiliza-se a biblioteca lombok(facilita geração de getters, seters, constructors, deixando a classe mais limpa). Para instalar o lombok no STS ou eclipse, baixe o jar em https://projectlombok.org/download e informe o executavel .exe do eclipse/STS. Foi utilizado o STS 4.2.1.RELEASE como IDE para construir a aplicação
- Deve ter o MAVEN instalado para gerar o .jar e rodar os testes
- Caso não tenha o JAVA_HOME configurado, deve ser apontado para a pasta de instalação do JDK (set JAVA_HOME="<DIRETORIO_JAVA>")
- A autenticação e geração de token é realizada pelo JWT através do serviço /login passando as credenciais via JSON:
- Acesso ADMIN (GET,POST,PUT,DELETE): {"email":"[email protected]","password":"acessoAdmin123"}
- Acesso CONVIDADO (somente GET): {"email":"[email protected]","password":"acessoConvidado123"}
- Acesse a documentação para mais detalhes em http://localhost:8080/swagger-ui.html#!/default/login (É preciso logar, pegar o token e utilizar nos acessos dos serviços)
- Os endpoints podem ser acessados também pelo POSTMAN no link https://www.getpostman.com/collections/f882336d5cb856ef66e0, executando http://localhost:8080/login para ter o token geradado no HEADER Authorization(No postman utilize o token da collection, não precisa passar o 'Bearer ' pois o postman já inclui no inicio automaticamente) ###Testando a API
- Vá para o diretório da aplicação
- Corra o comando ./mvnw test
###Gerando o .jar da API
- Vá para o diretório da aplicação
- Corra o comando ./mvnw spring-boot:run