CloudLounge is a microservice-based hotel management system that handles hotel bookings, branch management, and client operations efficiently.
It’s built with a microfrontend architecture for modularity, scalability, and modern web integration.
- 🧑💼 Admins manage hotels, branches, bookings, and customers.
- 🧳 Clients browse hotels, view rooms, and make reservations.
- 🏨 Hotels get tools for centralized control and analysis.
CloudLounge follows a Microservice + Microfrontend architecture for better scalability and independent development.
All backend services are powered by Spring Boot, with Keycloak for authentication and Eureka for service discovery.
| Service | Description |
|---|---|
| Auth Service | Manages authentication and authorization using Keycloak. |
| Eureka Server | Service discovery and registry for all backend microservices. |
| API Gateway | Entry point for routing API requests securely. |
| Hotel Management Service | Core logic for hotel and reservation management. |
Each frontend module is a standalone microfrontend app, designed for specific roles.
| Folder | Technology | Description |
|---|---|---|
| hotel-client | Angular | User-facing interface for hotel search, booking, and management. |
| hotel-admin | React | Admin dashboard for hotel owners and staff. |
| hotel-blog | Astro | Marketing and informational website for hotels. |
CloudLounge uses Keycloak for:
- Secure authentication (OIDC)
- Role-based access (Admin / Manager / Client)
- JWT token validation for services
- Integration with Spring Security
cloudlounge/
│
├── services/
│ ├── auth-service/
│ ├── eureka-server/
│ ├── gateway-service/
│ └── hotel-management-service/
│
└── frontend/
├── hotel-client/ # Angular App
├── hotel-admin/ # React App
└── hotel-blog/ # Astro Site
- Java 17
- Spring Boot 3.x
- Spring Cloud (Eureka, Gateway)
- Keycloak
- PostgreSQL / MySQL
- Docker (optional)
- React 18
- Angular 17
- Astro
- Tailwind CSS
- TypeScript
- ✅ User authentication & authorization via Keycloak
- 🏨 Multi-branch hotel management
- 🛏️ Room booking & availability tracking
- 👥 Client & staff management
- 💬 Blog & content management system
- 📊 Dashboard analytics
- ☁️ Scalable microservice architecture
git clone https://github.com/PasiduRanasinghe/cloudlounge.git
cd cloudloungeEach service contains its own application.yml or application.properties.
Run using:
cd services/<service-name>
mvn spring-boot:runcd frontend/hotel-client
npm install && npm start(Repeat for hotel-admin and hotel-blog)
- Import the realm configuration (if provided)
- Configure client IDs for frontends and backend services
| Route | Service |
|---|---|
/auth/** |
Auth Service |
/hotels/** |
Hotel Management Service |
/clients/** |
Hotel Client (Angular) |
/admin/** |
Hotel Admin (React) |
- 🧰 Containerize all services with Docker Compose
- 🪶 Add CI/CD pipeline (GitHub Actions / Jenkins)
- ☁️ Deploy to AWS / DigitalOcean
- 📱 Add PWA support for mobile users
Pasidu Ranasinghe 📍 Sri Lanka 🔗 GitHub Profile
This project is licensed under the MIT License – free to use and modify.