Skip to content

reynaldo-hendson/Api-parking-control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto: API Controle de vaga de estacionamento para apartamentos.


Descrição do desafio

Projeto se trata de controle de estacionamento para um condomínio, abordando alguns conceitos de padrões de projeto como Singleton, Strategy, Facade e DTO em Java.

Tecnologias Utilizadas

Para iniciar este projeto, foi utilizado o spring initializr utilizando as opções:

  • IDE IntelliJ
  • Projeto: Maven
  • Linguagem: Java 17
  • Spring Boot: 3.0.5
  • Dependências: Spring Web, Spring Data JPA, Lombok, H2 Database e SpringDoc
  • Dependência adicionada manualmente no pom.xml: springdoc-openapi v2.1.0.


Padrões e conceitos apresentados no projeto:

  • Singleton: Padrão Criacional que permite a criação de uma única instância de uma classe e fornecer um modo para recuperá-la.
  • Strategy: Padrão Comportamental com objetivo de simplificar a variação de algoritmos para a resolução de um mesmo problema.
  • Facade: Padrão Estrutural que visa prover uma interface que reduza a complexidade nas integrações com subsistemas.
  • DTO: Data Transfer Object (DTO) ou simplesmente Transfer Object é um padrão de projetos bastante usado em Java para o transporte de dados entre diferentes componentes de um sistema, diferentes instâncias ou processos de um sistema distribuído.
  • A relação entre Padrões de Projetos com Java e o spring framework pode-se ser percebida em:

  • Annotations @Autowired como padrão criacional Singleton.
  • Annotations @Service e @Repository como padrão comportamental Strategy.
  • Annotation @RestController como padrão estrutural Facade.

Validações

  • Verifica se a vaga já está em uso na hora do cadastro.
  • Verifica se apartamento e bloco já existem no banco de dados.
  • Verifica se o veiculo já não se encontra em outra vaga cadastrada.

Utilize para acessar a interface com os endpoints no Swagger:

Api-parking-control

Utilize o git para clonar o repositório:

git clone https://github.com/reynaldo86/Api-parking-control.git	

Links Úteis

Releases

No releases published

Packages

No packages published

Languages