Esse projeto consiste em um sistema de gerenciamento de estacionamentos, onde os clientes podem estacionar seu(s) veículo(s) nas vagas disponíveis e o administrador lida com toda a gestão do estacionamento.
Antes de começar, verifique se você atende aos seguintes requisitos:
- Versão utilizada no projeto de
<java / SDK 21.0.2>
- Alguma ferramenta para testes de APIs, essas são as que recomendo
<Postman / Insomnia>
. Fique à vontade para usar a que preferir - IDE que suporta Java eu recomendo
<IntelliJ IDEA>
, que será o exemplo de instalação nesse arquivo. - Você deve possuir alguma banco de dados instalado e configurado na sua máquina. Nesse projeto foi utilizado, por padrão, o
<PostgresSQL>
.
Para clonar o projeto, siga essa etapa:
1 - Acesse a pasta que deseja clonar/salvar o projeto e execute:
(para clone usando HTTPS)
git clone https://github.com/AntonioAndreDev/parking-api-java.git
ou (para clone usando SSH)
git clone [email protected]:AntonioAndreDev/parking-api-java.git
Nesse projeto temos algumas variáveis de ambiente, são elas:
- db_password -> senha do seu banco de dados
- db_user -> usuário do seu banco de dados
- db_port -> porta de execução do seu banco de dados
- server_port -> porta de execução da API (se não declarado, a porta padrão será
8080
) - SECRET_KEY_JWT -> chave que irá criptograr o JWT Token
No arquivo presente no caminho resources/application.properties
estão presentes as configurações gerais de projeto, entre eles a conexão com o PostgresSQL
spring.datasource.url=jdbc:postgresql://localhost:${db_port}/demo
spring.datasource.username=${db_user}
spring.datasource.password=${db_password}
spring.datasource.driver-class-name=org.postgresql.Driver
⚠️ Lembre-se de setar as variáveis de ambiente!
Para executar o projeto, siga esta etapa:
- Execute o arquivo
DemoParkApiApplication
Caso tudo der certo, no terminal/console da sua IDE vai mostrar que a aplicação está em execução na porta8080
ou na porta que foi definida na variável de ambienteserver_port
.
Esse projeto foi inteiramente documentado utilizando Swagger. Portando, é possível conferir todos os endpoints da aplicação, suas funcionalidades, suas respostas à requisições, sua necessidade ou não de autenticação e seus erros de requisições por meio desse caminho abaixo.
No seu navegador acesse:
http://localhost:8080/docs-park.html
⚠️ Se você alterou a variável de ambienteserver_port
lembre-se de trocar 8080 pelo valor que foi atribuído à server_port!
- Validação de dados
- Tratamento de exceções personalizados
- Documentação com Swagger
- Teste ponta a ponta (end-to-end)
- Autenticação e autorização com JWT Token
- Utilização de DTO para transferência de dados entre o cliente e o servidor
- JasperReports para geração de relatórios
- Internacionalização de mensagens de erros em pt_BR, en (inglês) e es (espanhol)
⭐ Se esse projeto pode te ajudar, deixe uma estrela nesse repositório!