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!