Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/lagrotagabriel/api-calculadora-de-juros
API Que realiza operações de juros simples e compostos
https://github.com/lagrotagabriel/api-calculadora-de-juros
api api-rest java jpa jpa-hibernate jpa-persistence-applications junit junit5 maven maven-pom mockito mysql rest-api restful restful-api spring spring-boot spring-mvc springboot
Last synced: about 15 hours ago
JSON representation
API Que realiza operações de juros simples e compostos
- Host: GitHub
- URL: https://github.com/lagrotagabriel/api-calculadora-de-juros
- Owner: LagrotaGabriel
- Created: 2022-05-24T03:45:12.000Z (over 2 years ago)
- Default Branch: master
- Last Pushed: 2022-06-03T17:33:54.000Z (over 2 years ago)
- Last Synced: 2023-03-09T00:03:17.870Z (over 1 year ago)
- Topics: api, api-rest, java, jpa, jpa-hibernate, jpa-persistence-applications, junit, junit5, maven, maven-pom, mockito, mysql, rest-api, restful, restful-api, spring, spring-boot, spring-mvc, springboot
- Language: Java
- Homepage: https://api-calculadorajuros.herokuapp.com/swagger-ui.html
- Size: 343 KB
- Stars: 2
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# API Calculadora de Juros
API Que realiza operações de juros simples e compostos com base no valor passado pelo usuário nas requisições via post## Tópicos
- [Fluxo](#fluxo)
- [Funcionalidades](#funcionalidades)
- [Swagger](#swagger)
- [End Points](#end-points)
- [Modelo de JSON](#modelo-de-json)
- [Testes unitários](#testes-unitários)
- [Tecnologias utilizadas](#tecnologias-utilizadas)
- [Acesso ao projeto](#acesso-ao-projeto)
- [Abrir e rodar o projeto](#abrir-e-rodar-o-projeto)
- [Desenvolvedor](#desenvolvedor)## Fluxo
![](fluxograma.png)
1. O usuário envia uma requisição para a API;
2. O Controller recebe a requisição;
3. O Controller irá encaminhar para o serviço de distribuição, que irá distribuir a operação matemática para o cálculo
de juros respectivo (simples ou composto);
4. O cálculo é realizado, e o resultado das operações é setado no objeto, que é devolvido para o Controller;
5. O controller por sua vez, converse o objeto para um objeto do tipo OperationResponse, que é devolvido ao usuário com
a resposta de sua operação solicitada## Funcionalidades
:heavy_check_mark: `Cálculo de juros simples e compostos:` A API realiza o cálculo de juros simples e compostos, de acordo com a
solicitação do usuário:heavy_check_mark: `Cálculo de montante:` A API realiza o cálculo do montante da operação passada pelo usuário por requisição via post
## Swagger
> Para acessar o swagger basta acessar o endpoint /swagger-ui.html
`Tela principal do Swagger`
![](swaggerprincipal.png)## End points
> [GET] findAll: api/operation
Busca por todas as operações já realizadas no banco de dados> [GET] findById: api/operation/{id}
Busca uma operação por id no banco de dados> [POST] create: api/operation
> Cria uma nova operação no banco de dados## Modelo de JSON
> Modelo de JSON para requisição via post, com os tipos dos valores e tipos de enums que podem ser utilizados
>{
> "capital": DOUBLE
> "taxa": DOUBLE
> "tempo": INTEGER
> "periodicidade": "ENUM" (DAY, MONTH, BIMESTER, TRIMESTER, SEMESTER, YEAR)
> "tipo": "ENUM" (SIMPLE, COMPOUND)
> }> Abaixo, segue um modelo de JSON via post
```json
{
"capital": 1000.0,
"taxa": 10.0,
"tempo": 1,
"periodicidade": "MONTH",
"tipo": "SIMPLE"
}
```## Testes unitários
> Os testes unitários foram concluídos com cobertura de testes de 93% das linhas do projeto
`Relatório de cobertura de testes`
![](coberturas.png)## Tecnologias Utilizadas
- Java 8
- Swagger
- MySql
- JPA
- Mockito
- Insomnia
- Spring MVC
- Lombok
- J Unit## Acesso ao projeto
O projeto está disponibilizado para utilização gratuita e ilimitada na url:
https://api-calculadorajuros.herokuapp.com
Podendo ser acessado pelo swagger pela url:
https://api-calculadorajuros.herokuapp.com/swagger-ui.html## Abrir e rodar o projeto
1. Para rodar o projeto basta utilizar o git clone com a url:
https://github.com/LagrotaGabriel/API-Calculadora-de-Juros.git
2. Em seguida, recomenda-se que configure o arquivo `application.properties` com o código abaixo para configuração da persistência do projeto
```java
server.port = 8080
spring.mvc.pathmatch.matching-strategy=ant-path-matcher
spring.datasource.url=jdbc:mysql://localhost:3306/db?useTimezone=true&serverTimezone=UTC
spring.datasource.username=root
spring.datasource.password=123456
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
spring.jpa.properties.hibernate.dialect=org.hibernate.dialect.MySQL5InnoDBDialect
3. Após configurar o `application.properties`, sugiro que você crie um schema no mysql com o nome db
4. Execute o código e acesse o projeto rodando em servidor local pela url http://www.localhost:8080## Desenvolvedor
[
Gabriel Lagrota](https://github.com/LagrotaGabriel)