Skip to content

Aonay/LocacaoAPI-REST

Repository files navigation

🎫 Sistema de Reservas - API REST

Este projeto é um sistema completo de Locações e Reservas, desenvolvido com Spring Boot no backend e React com Vite no frontend. A aplicação permite o gerenciamento de clientes, locações e reservas, com uma interface amigável e integração via API REST.


📸 Capturas de Tela

Página Inicial (Home)

Página Home

Página de Cliente

Página Cliente

Página de Locação

Página Locação

Página de Reserva

Página Reserva


📁 Estrutura do Projeto

/LocacaoBackEnd        # Backend com Spring Boot
/locacao-front-end     # Frontend com React + Vite

🚀 Tecnologias Utilizadas

Backend (Java + Spring Boot)

  • Java 17
  • Spring Boot
  • Spring Data JPA
  • MySQL
  • Spring Security com JWT
  • Maven
  • Postman Collection (para testes)

Frontend (React + Vite)

  • React 18
  • Vite
  • JavaScript
  • Axios
  • CSS

🧱 Pré-requisitos

  • Java 17 ou superior
  • Node.js v18+
  • MySQL

🔧 Instalação e Execução

1️⃣ Clonando o repositório

git clone https://github.com/Aonay/LocacaoAPI-REST.git
cd LocacaoAPI-REST

2️⃣ Backend

cd LocacaoBackEnd

📌 Configuração do Banco de Dados

Crie um banco no MySQL com o nome:

reservas_db

No arquivo src/main/resources/application.properties, ajuste o nome de usuário e senha conforme seu ambiente:

spring.datasource.url=jdbc:mysql://localhost:3306/reservas_db
spring.datasource.username=root  
spring.datasource.password=123456

⚠️ Apenas o banco precisa ser criado manualmente. As tabelas serão geradas automaticamente ao rodar o projeto.

▶️ Executando o Backend

./mvnw spring-boot:run

A API estará disponível em: http://localhost:8080

Você pode testar os endpoints com a Collection Postman disponível na raiz do projeto.


🔐 Acesso aos Endpoints com Autenticação JWT

  1. No Postman, clique em Import (canto superior esquerdo) e selecione o arquivo LocaçõesAPI.postman_collection.
  2. Na coleção importada, acesse:
    • Login > POST FazerLogin
    • Envie a requisição e copie o token JWT retornado.
  3. Clique no nome da coleção LocaçõesAPI, vá até a aba Authorization:
    • Selecione Bearer Token
    • Cole o token no campo abaixo e clique em Save.
  4. Agora todos os endpoints estarão autenticados por 1 hora. Após esse tempo, refaça o login para gerar um novo token.

Endpoints Disponíveis:

  • GET - Listar todos
  • GET /{id} - Buscar por ID
  • POST - Criar (com JSON no body)
  • PUT - Atualizar (ID + JSON)
  • DELETE /{id} - Remover

3️⃣ Frontend

cd locacao-front-end
npm install
npm run dev

A aplicação estará disponível em: http://localhost:5173

🧑‍💼 Acesso

  • Login: admin
  • Senha: 123456

🔒 O token de autenticação é armazenado localmente e expira após 1 hora. Após isso, será necessário refazer o login.

Você poderá navegar entre as páginas pelo Navbar superior.


📡 Endpoints REST Principais

  • GET /clientes
  • GET /locacoes
  • GET /reservas
  • POST, PUT, DELETE conforme necessidade

📂 Repositório no GitHub

🔗 https://github.com/Aonay/LocacaoAPI-REST


👨‍💻 Autor

Alan Rodrigues Monteiro Matias
🔗 LinkedIn
💻 GitHub


📝 Licença

Projeto desenvolvido para fins de estudo, aprendizado e portfólio pessoal.


About

No description, website, or topics provided.

Resources

Stars

1 star

Watchers

1 watching

Forks

Releases

No releases published

Packages

 
 
 

Contributors