Skip to content

DevPatrickFonseca/java-parking-control

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

22 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Java - Parking Control 🚗

Este é um projeto simples de controle de estacionamento em uma API RESTFull.


🧰 Tecnologias, linguagens e ferramentas utilizadas:

CONFIGURAÇÃO DA API
Projeto: Maven
Linguagem: Java 17
Framework: Spring Boot 3.1.3
Arquitetura: MSC (Model-Service-Controller)
Dependências: Spring Web
Spring Data JPA
Spring Validation
SpringDoc OpenAPI
PostgreSQL Driver
Banco de Dados: PostgreSQL
Docker
  • Spring Validation para criação de API com suporte a Pageable
  • Global Custom Date Time Format
  • Diagrama ER do banco de dados

Parking Control DB

🎯O que foi desenvolvido

O projeto implementa um sistema de controle de estacionamento com as seguintes funcionalidades:

  • Cadastro, leitura, atualização e exclusão de veículos estacionados.
  • Integração com banco de dados PostgreSQL para armazenamento persistente dos dados.
  • API RESTful com suporte a paginação (Pageable) para consultas.

📝Orientações para instalar e testar o projeto

Para executar o projeto, certifique-se de ter o Docker instalado em sua máquina. Siga os passos abaixo:

  1. Crie um diretório usando o comando mkdir e entre no diretório:

    mkdir patrick-fonseca-projetos-java && cd patrick-fonseca-projetos-java
  2. Clone o repositório e use o comando no terminal:

    git clone git@github.com:PFonsecaFV/java-parking-control.git
  3. Acesse o diretório do projeto e instale suas dependências:

    cd java-parking-control
  4. Utilize o Docker para executar o banco de dados PostgreSQL:

  5. Para testar as requisições no Swagger entre no link abaixo:

    http://localhost:porta/swagger-ui/index.html#/
    • Substitua localhost e porta pelos valores adequados, dependendo de como você configurou a API.
    • A documentação do Swagger fornecerá informações detalhadas sobre os endpoints da API, parâmetros, exemplos de solicitações e respostas, e muito mais.

✅ Testes de Requisições e Documentação do Swagger

Na pasta client_requests você encontra um arquivo que pode ser importado a um Client REST para testar as requisições.

Este arquivo vem com exemplos de requisições já preenchidas para se testar.

  1. Requisições do tipo POST

  2. Requisições do tipo GET

  3. Requisições do tipo DELETE

  4. Requisições do tipo PUT

  5. Requisições do tipo GET PAGEABLE


Exemplos de pull request

Exemplo de entrada para cadastro de vaga
{
   "numeroVaga": "205B",
   "carroPlaca": "FUS1975",
   "carroMarca": "Volkswagen",
   "carroModelo": "Fusca 1300",
   "carroCor": "Preto",
   "nomeDoResponsavel": "Patrick Fonseca",
   "apartamento": "205",
   "bloco": "B"
}
Alguns exemplos caso queira testar
 {
 	"numeroVaga": "205B",
 	"carroPlaca": "FUS1975",
 	"carroMarca": "Volkswagen",
 	"carroModelo": "Fusca 1300",
 	"carroCor": "Preto",
 	"nomeDoResponsavel": "Patrick Fonseca",
 	"apartamento": "205",
 	"bloco": "B"
 }
 	
 {
 	"numeroVaga": "160A",
 	"carroPlaca": "VER1991",
 	"carroMarca": "Chevrolet",
 	"carroModelo": "Veraneio",
 	"carroCor": "Marrom",
 	"nomeDoResponsavel": "José Fonseca",
 	"apartamento": "137",
 	"bloco": "B"
 }
 	
 {
 	"numeroVaga": "200A",
 	"carroPlaca": "MAV1976",
 	"carroMarca": "Ford",
 	"carroModelo": "Maverick",
 	"carroCor": "Amarelo",
 	"nomeDoResponsavel": "Anderson Fonseca",
 	"apartamento": "200",
 	"bloco": "A"
 }
 	
 {
 	"numeroVaga": "170A",
 	"carroPlaca": "CAM2000",
 	"carroMarca": "Chevrolet",
 	"carroModelo": "Camaro",
 	"carroCor": "Amarelo",
 	"nomeDoResponsavel": "Vinícios Fonseca",
 	"apartamento": "120",
 	"bloco": "A"
 }
 	
 {
 	"numeroVaga": "150A",
 	"carroPlaca": "VER1989",
 	"carroMarca": "Chevrolet",
 	"carroModelo": "Veraneio",
 	"carroCor": "Azul",
 	"nomeDoResponsavel": "Fonseca Anderson",
 	"apartamento": "180",
 	"bloco": "A"
 }
 	
 { 
 	"numeroVaga": "150B",
 	"carroPlaca": "OPA1978",
 	"carroMarca": "Chevrolet",
 	"carroModelo": "Opala",
 	"carroCor": "Cinza",
 	"nomeDoResponsavel": "Patrick Anderson",
 	"apartamento": "150",
 	"bloco": "B"
 }


Patrick Fonseca

About

Este é um projeto simples de controle de estacionamento em uma API RESTFull.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages