Skip to content

PasiduRanasinghe/cloudlounge

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

8 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🌩️ CloudLounge - Hotel Management System

Java Spring Boot Keycloak React Angular Astro License Microservices Frontend


🚀 Overview

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.

🧩 System Architecture

CloudLounge follows a Microservice + Microfrontend architecture for better scalability and independent development.

🏗️ Backend (Services Folder)

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.

🖥️ Frontend (Frontend Folder)

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.

🔐 Authentication & Security

CloudLounge uses Keycloak for:

  • Secure authentication (OIDC)
  • Role-based access (Admin / Manager / Client)
  • JWT token validation for services
  • Integration with Spring Security

⚙️ Folder Structure


cloudlounge/
│
├── services/
│   ├── auth-service/
│   ├── eureka-server/
│   ├── gateway-service/
│   └── hotel-management-service/
│
└── frontend/
├── hotel-client/      # Angular App
├── hotel-admin/       # React App
└── hotel-blog/        # Astro Site


🧠 Technologies Used

Backend

  • Java 17
  • Spring Boot 3.x
  • Spring Cloud (Eureka, Gateway)
  • Keycloak
  • PostgreSQL / MySQL
  • Docker (optional)

Frontend

  • React 18
  • Angular 17
  • Astro
  • Tailwind CSS
  • TypeScript

🧩 Features

  • ✅ 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

🏁 Getting Started

1. Clone the Repository

git clone https://github.com/PasiduRanasinghe/cloudlounge.git
cd cloudlounge

2. Start Backend Services

Each service contains its own application.yml or application.properties.

Run using:

cd services/<service-name>
mvn spring-boot:run

3. Start Frontend Applications

cd frontend/hotel-client
npm install && npm start

(Repeat for hotel-admin and hotel-blog)

4. Configure Keycloak

  • Import the realm configuration (if provided)
  • Configure client IDs for frontends and backend services

🌐 API Gateway Routes (Example)

Route Service
/auth/** Auth Service
/hotels/** Hotel Management Service
/clients/** Hotel Client (Angular)
/admin/** Hotel Admin (React)

📈 Future Improvements

  • 🧰 Containerize all services with Docker Compose
  • 🪶 Add CI/CD pipeline (GitHub Actions / Jenkins)
  • ☁️ Deploy to AWS / DigitalOcean
  • 📱 Add PWA support for mobile users

👨‍💻 Author

Pasidu Ranasinghe 📍 Sri Lanka 🔗 GitHub Profile


📜 License

This project is licensed under the MIT License – free to use and modify.


About

Micro service - Microfrontend system that handles multiple hotels with multiple branches

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published