Sistema realizado em paralelo à realização da academia da Gama Academy
O projeto consiste em uma API REST
que realiza operações bancárias a partir de requisições HTTP
de um cliente.
Entenda-se cliente qualquer um que consiga realizar requisições HTTP.
Aqui você pode realizar a consulta da documentação do projeto, bem como realizar requisições por meio de nossos endpoints.
- Ao criar um novo usuário, três contas são associadas a ele: Corrente, Poupança e de Crédito.
- Também são associados três tipos de planos de conta: Pagamento, Depósito e Transferência
Para executar o projeto, você precisará:
Passo a passo
application.properties
, que fica dentro da pasta resources. Exemplo aqui. Ou utilizando classes caso tenha experiência configurando.pom.xml
SbootApplication
.O projeto, por padrão, irá executar no {host}:8080/. (ex.: http://localhost:8080)
O projeto segue um padrão de atribuição de responsabilidades às classes seguindo as boas práticas. Todo o código fonte está disponível dentro da pasta src
.
Como o nome já diz, são as classes modelo. Elas que definem o domínio de nossa aplicação, além da relação entre as entidades.
Concentramos aqui todos os endpoints relacionados ao projeto. A responsabilidade se limita a receber a requisição e dar o retorno de forma devida ao cliente.
Os services são chamados para processar toda a lógica do negócio. Aqui é decidido se devemos persistir ou não os dados, ou se devemos devolver a resposta solicitada pelo cliente - claro, tudo por meio de bastante lógica e abuso de estrutura de dados e suas funcionalidades. Além da análise e permissão do que pode ser devolvido ao solicitante.
Trata-se da camada de persistência dos dados. As lógicas se limitam às próprias necessidades. Aqui os dados são recebidos, persistidos ou retornados.
Literalmente a configuração de segurança do projeto. (endpoints públicos, privados, etc.)
Abstrações menores das classes modelos, classes utilitárias para transferência dos dados entre o cliente e nossa aplicação.
Os demais pacotes são autodescritivos.
Esse tópico poderia ser bem longo, mas será resumido da seguinte forma:
Todos os enpoints possuem validações de diversos tipos, tais como:
services
.Se você pensou nisso... Sim! As senhas estão sendo gravadas encriptadas! Logo o login também está bem seguro :).
Você pode ver os contribuidores clicando aqui.