Git Product home page Git Product logo

calcula-juros's Introduction

💸 Calcula Juros

Aplicação responsável por calcular o juros em cima de um produto, com base na taxa Selic.

Todo o desenvolvimento foi feito utilizando a IDE IntelliJ
A versão do Java é AdoptOpenJDK 11.0.11


Ambiente

Instalação:

Executar os seguintes comandos de instalação no terminal:

$ sdk install java 11.0.11.hs-adpt
$ sdk default java 11.0.11.hs-adpt

Instalação versão padrão do java


$ docker run --name postgres_cntr -p 5432:5432 -e POSTGRES_PASSWORD=admin -d postgres  
$ docker start postgres_cntr

Criação de container para banco de dados


$ docker rm postger_cntr

Para remover o container criado, basta executar o seguinte comando



Execução da aplicação:

Ambiente local

calcula-juros$ docker start postgres_cntr
calcula-juros$ docker cp ./create.sql postgres_cntr:/create.sql
calcula-juros$ docker exec -it postgres_cntr psql -U postgres -f /create.sql
calcula-juros$ ./mvnw clean install
calcula-juros$ ./mvnw spring-boot:run

Rode o comando para subir o container do banco de dados, caso não esteja a executar, coloca o arquivo create.sql com a criação do schema da database dentro do container, depois executa este script no container, instala as dependências do projeto e em seguida execute o comando para iniciar a aplicação


Ambiente com Docker

Geração

calcula-juros$ ./mvnw clean package -DskipTests
calcula-juros$ cp target/calcula-juros-0.0.1-SNAPSHOT.jar src/main/docker

Primeiro comando gera um novo jar da aplicação e o segundo coloca esse jar na pasta do docker.


Subir container

calcula-juros$ cd src/main/docker
calcula-juros/src/main/docker$ docker-compose up
# ou para rodar o serviço de fundo no SO
calcula-juros/src/main/docker$ docker-compose up -d

Entra no diretório correto e executa o primeiro comando para gerar um novo container e executa um dos 2 últimos comandos para subir a aplicação


Erro de permissão ao executar container

docker compose error

Caso ocorra esse erro descrito na execução via docker-compose, é necessário executar os seguintes comandos:

calcula-juros/src/main/docker$ chmod +r db/01-init.sh
calcula-juros/src/main/docker$ chmod +x db/01-init.sh

Dando permissão de execução e leitura para o arquivo



Execução dos testes da aplicação:

Comandos

calcula-juros$ ./mvnw test -Dtest=TestingWebApplicationTest

Executa testes do endpoint /negociacao



Teste de endpoints com Insomnia

Se encontra na raiz do projeto com nome Insomnia_Calcula_Juros.json



Documentação API

Para visualização de todos os endpoints disponíveis da aplicação, basta acessar em seu navegador (com a aplicação de pé):

http://localhost:8080/swagger-ui/index.html

Foi utilizado o Swagger 2



Bonus (Lazydocker)

Uma interface de terminal simples para docker e docker-compose, escrita em Go com a biblioteca gocui.

Instalação

Binary Release (Linux/OSX/Windows)

Você pode baixar manualmente uma versão binária da página de versão.

Instalação / atualização automática

$ curl https://raw.githubusercontent.com/jesseduffield/lazydocker/master/scripts/install_update_linux.sh | bash

O script instala o binário baixado no diretório /usr/local/bin por padrão, mas pode ser alterado configurando a variável de ambiente DIR.

calcula-juros's People

Contributors

douglas-martins avatar

Watchers

James Cloos avatar  avatar

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.