API REST para controlar receitas e despesas de clientes sejam eles pessoas físicas ou jurídicas.
As seguintes ferramentas foram usadas na construção do projeto:
- Spring Boot
- DevTools
- Maven
- Hibernate
- H2 Database
- JPA Metamodel
- Oracle Database 11g Express Edition
- Junit
- Apache Commons Lang
- Postman
- Google Chrome
Usando o Prompt de Comando, entrar em "..\Desafio-celula-financeiro-e-controladoria\target" e executar o comando:
java -jar Desafio-celula-financeiro-e-controladoria-0.0.1-SNAPSHOT.jar
E esperar a aplicação subir em http://localhost:8080.
A aplicação possui dois perfis:
- dev: (desenvolvimento) Onde é utilizado o banco de dados H2. E mais algumas configurações para auxiliar no desenvolvimento.
- prod: (produção) Onde é utilizado o banco de dados Oracle Express 11g.
Para alternar entre os ambientes, basta adicionar um dos comandos abaixo junto ao comando anterior. Por padrão, o perfil é "dev".
- Perfil "dev":
--spring.profiles.active=dev
- Perfil "prod":
--spring.profiles.active=prod
A seguir as configurações dos respectivos bancos de dados.
- H2
spring.h2.console.enabled=true
spring.h2.console.path=/h2-console
spring.datasource.url=jdbc:h2:file:~/test
spring.datasource.username=sa
spring.datasource.password=
spring.datasource.driver-class-name=org.h2.Driver
- Oracle
spring.datasource.url=jdbc:oracle:thin:@localhost:1521:xe
spring.datasource.username=SYSTEM
spring.datasource.password=12345678
- IMPORTANTE!!! Após executar a aplicação em perfil "prod" pela primeira vez, em "application-prod.properties", mudar a configuração abaixo para "update".
spring.jpa.hibernate.ddl-auto=create
Os endpoints podem ser consultados no link da documentação 👉 https://documenter.getpostman.com/view/7857036/TzJoE1Bn
Durante o desenvolvimento foi utilizado alguns padrões como "Observer", "Dependency Injection" e "Repository". Também foi dada atenção ao uso dos verbos HTTP e aos códigos de respostas.
- Por enquanto, não foi possível a criação do PL/SQL, por esse motivo a migração inicial de dados é feita através do SQL padrão.
Esse projeto não está 100% fiel ao que foi solicitado no desafio, mas o que foi feito aqui foi feito com o máximo de dedicação e empenho. Desde já, agradeço a MV pela confiança e pela oportunidade.