Hotel-Mountain-Mirage is a full-stack hotel booking and management web application built with React.js (Frontend) and Spring Boot (Backend). It integrates secure authentication using Spring Security with JWT and is deployed using AWS services. This project demonstrates real-world development skills including role-based access control, RESTful API design, and secure cloud deployment. 🌄
- Room booking with availability check ✔️
- Authentication & Authorization (JWT, Spring Security) 🔐
- Role-based access control (Admin/User) 🛡️
- CRUD operations for room management 🏠
- REST API integration (Spring Boot) 🛠️
- PostgreSQL database support 🗄️
- Cloud deployment with AWS S3 ☁️
- Responsive UI with React ⚡
- Maven build support 📦
| Frontend | Backend | Database | Cloud | Security |
|---|---|---|---|---|
| ReactJS | Spring Boot | PostgreSQL | AWS S3 | JWT |
| Maven | Spring Sec. |
- Hotel-Mountain-Mirage/
- │ ├── backend/ # Spring Boot source, controllers, services
- │ ├── frontend/ # ReactJS client SPA
- │ ├── .vscode/ # Editor configs
- │ └── .idea/ # JetBrains configs
- Java 17+
- Node.js & npm
- Maven
- PostgreSQL database
-
Clone the repo
git clone https://github.com/mukeshillawat1/Hotel-Mountain-Mirage.git -
Backend (Spring Boot):
- Configure
application.propertiesfor DB & JWT secrets - Run:
mvn spring-boot:run
- Configure
-
Frontend (ReactJS):
cd Hotel-Mountain-Mirage/frontendnpm installnpm start
-
Access Local App:
- Frontend:
http://localhost:3000 - Backend:
http://localhost:8080
- Frontend:
| Endpoint | Method | Description |
|---|---|---|
| /rooms | GET | List rooms |
| /rooms | POST | Add room |
| /rooms/{id} | PUT | Update room |
| /rooms/{id} | DELETE | Remove room |
| /auth/login | POST | Login (JWT) |
| /bookings/check | GET | Check availability |
- Mukesh lilawat ☀️
- Spring Boot community
- ReactJS community
- AWS, PostgreSQL docs
This project is licensed under the MIT License.
Add screenshots/GIFs of key UI features for extra points!
Pull requests are welcome! For major changes, please open an issue first to discuss what you would like to change.
Star ⭐ this repo if you find it useful!