π¨ Hotel Booking Web Application
A full-stack Hotel Room Booking System built using Java Spring Boot 3, Spring Security 6, and React.js. This project delivers a complete, production-ready booking experience β from browsing available rooms to confirming reservations β with secure JWT-based authentication protecting every endpoint.
π₯ What This App Does
Users can register, log in, and browse all available hotel rooms with images and details. They can select a room, fill out a booking form, review a booking summary, and receive a confirmation. Admins get access to a powerful dashboard where they can add, update, delete, and manage all rooms and bookings from one place.
π οΈ Tech Stack
Backend: Java 17, Spring Boot 3, Spring Security 6, JWT
Database: MySQL with Spring Data JPA & Hibernate
Frontend: React.js, React Router, Axios, Bootstrap
Build Tool: Maven
β¨ Key Features
π Secure login & registration with JWT authentication
π€ Role-based access control β Admin & Guest roles
ποΈ Full room CRUD β add rooms with images, types & pricing
π
Booking form with real-time availability check
π§Ύ Booking summary and success confirmation page
π± Fully responsive design for all screen sizes
ποΈ Admin dashboard for managing rooms and reservations
π― Who This Is For
This project is perfect for Java full-stack developers looking to strengthen their skills with a real-world application. It covers everything from REST API design and database relationships to frontend state management and secure authentication flows.
π Getting Started
Clone the repo, configure your application.yml with your MySQL credentials, run the Spring Boot backend, then start the React frontend with npm start. Full setup instructions are in the docs.