Desafio: Criando ambiente de desenvolvimento devidamente pronto, podemos refletir sobre o nosso domínio de aplicação, ou seja, o problema/contexto que desejamos explorar. Nesse sentido, iremos modelar e desenvolver uma API REST usando Java e Spring Boot. Além disso, ainda vamos publicá-la na nuvem (Heroku), para que nossos clientes possam consumi-la através da Internet.
- Java JDK: Kit de Ferramentas para desenvolvimento na linguagem.
- Eclipse IDE: Programa para edição, depuração compilação, testes e execução de programas Java
- Hibernate: Framework baseado no conceito de ORM para a persitência de dados em um banco relacional.
- Spring Framework: Plataforma para desenvolvimento de aplicações Java baseado nos padrões de projeto de inversão de controle e injeção de dependências.
- Postgres: Banco de dados relacional utilizado em projetos de grande porte
- Swagger: Ferramenta de documentação de APIs e Webservices
- Github: Repositório e gerenciador de versionamento de código fonte
- Maven: Sistema para gestão de dependência e distribuição de uma aplicação
- REST: Arquitetura para transferência de dados representativos como JSON
- Heroku: Plataforma para hospedagem de aplicações com fácil integração com Github
O projeto será baseado na proposta de um Bankline para gestão de correntistas e movimetações de receitas e depesas com base na diagramação baixo.
- Implementar com base em uma arquitetura MVC
- Incorporar numa plataforma de inversão de controle e injeção de dependência como o Spring
- Interação com banco de dados através do framework ORM Hibernate
- Disponibilizar a API Rest devidamente documentada através do Swagger
- Publicar em um container para disposição os nossos serviços de forma pública como o Heroku