A modern, full-featured hotel management platform powered by AI
Features • Tech Stack • Getting Started • API • Team
Aurora Hotel Management System is an enterprise-grade hotel management solution developed as a capstone project for the Web Programming (WWW) course at Industrial University of Ho Chi Minh City (IUH).
| 🤖 AI-Powered | 🔐 Secure | 🌍 Multi-language | 📱 Responsive |
|---|---|---|---|
| RAG Chatbot with Google Gemini | RBAC with 70+ permissions | Vietnamese & English | Modern UI/UX |
|
|
|
|
╔══════════════════════════════════════════════════════════════════╗
║ RAG CHATBOT PIPELINE ║
╠══════════════════════════════════════════════════════════════════╣
║ ║
║ 📄 Documents 🔄 Processing 🧮 Embeddings ║
║ ┌─────────┐ ┌─────────────┐ ┌──────────────┐ ║
║ │ PDF │ ───▶ │ Apache Tika │ ──▶ │ Google │ ║
║ │ DOCX │ │ Langchain4j │ │ Gemini AI │ ║
║ │ TXT │ └─────────────┘ └──────┬───────┘ ║
║ └─────────┘ │ ║
║ ▼ ║
║ ┌──────────────────────────────┐ ║
║ │ 🗄️ pgvector Database │ ║
║ │ Vector Similarity Search │ ║
║ └──────────────┬───────────────┘ ║
║ │ ║
║ 💬 User Query ──▶ Semantic Match ──▶ Context + LLM ──▶ 🎯 ║
║ ║
╚══════════════════════════════════════════════════════════════════╝
| 🖥️ Backend | 🎨 Frontend | 🗄️ Data & AI | 🔧 DevOps |
|---|---|---|---|
|
Framework
Libraries
|
Framework
UI/UX
State
|
Database
AI/ML
|
Infrastructure
Services
Tools
|
┌─────────────────────────────────────────────────────────────────────────┐
│ 🌐 CLIENT TIER │
│ ┌────────────┐ ┌────────────┐ ┌────────────┐ │
│ │ Browser │ │ Mobile │ │ Postman │ │
│ │ (React) │ │ (Future) │ │ (Testing) │ │
│ └─────┬──────┘ └─────┬──────┘ └─────┬──────┘ │
└──────────┼─────────────────┼─────────────────┼──────────────────────────┘
│ │ │
└────────────────┬┴─────────────────┘
│ REST API / HTTPS
┌───────────────────────────┼─────────────────────────────────────────────┐
│ ▼ 🛡️ SECURITY │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ JWT Filter → CORS → Rate Limiter → Permission AOP │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ 📡 API LAYER (31 Controllers) │ │
│ │ Auth • User • Branch • Room • Booking • Payment • RAG ... │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ ⚙️ SERVICE LAYER │ │
│ │ Business Logic • Validation • Transactions │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ │
│ ┌────────────────────────────────────────────────────────────────┐ │
│ │ 💾 REPOSITORY LAYER │ │
│ │ JPA Repositories • Custom Queries • Specifications │ │
│ └────────────────────────────────────────────────────────────────┘ │
│ ☕ SPRING BOOT APPLICATION │
└─────────────────────────────────────────────────────────────────────────┘
│ │ │
▼ ▼ ▼
┌───────────────┐ ┌───────────────┐ ┌───────────────┐
│ PostgreSQL │ │ Redis │ │ Cloudinary │
│ + pgvector │ │ Cache/Queue │ │ Storage │
└───────────────┘ └───────────────┘ └───────────────┘
|
👤 Users & Auth
|
🏨 Hotel Core
|
📅 Operations
|
📰 Content & Staff
|
29 Entity Classes • 31 REST Controllers • 70+ Permissions
| Tool | Version | Required |
|---|---|---|
| Java JDK | 21+ | ✅ |
| Node.js | 20+ | ✅ |
| Docker | Latest | Recommended |
| PostgreSQL | 16+ | If no Docker |
| Redis | 7+ | If no Docker |
# Clone the repository
git clone https://github.com/giasinguyen/aurora-hotel-management-system.git
cd aurora-hotel-management-system
# Start infrastructure services
cd aurora-backend && docker-compose up -d
# Services available at:
# • PostgreSQL: localhost:5432
# • Redis: localhost:6379
# • pgAdmin: localhost:5050cd aurora-backend
# Create environment file
cp .env.example .env
# Configure your .env file (see below)
# Run the application
./mvnw spring-boot:run📋 Environment Variables
# Database
DB_URL=jdbc:postgresql://localhost:5432/aurora_hotel
DB_USERNAME=admin
DB_PASSWORD=admin
# JWT (generate a 64+ char secret)
JWT_SIGNER_KEY=your-super-secret-key-minimum-64-characters-for-hs512
JWT_VALID_DURATION=3600
JWT_REFRESHABLE_DURATION=86400
# Redis
REDIS_HOST=localhost
REDIS_PORT=6379
REDIS_PASSWORD=admin
# Google Gemini AI
GEMINI_API_KEY=your-gemini-api-key
# Cloudinary
CLOUDINARY_CLOUD_NAME=your-cloud-name
CLOUDINARY_API_KEY=your-api-key
CLOUDINARY_API_SECRET=your-api-secret
# VNPay
VNPAY_TMN_CODE=your-tmn-code
VNPAY_HASH_SECRET=your-hash-secretcd aurora-frontend
# Install dependencies
npm install
# Create environment file
cp .env.example .env.local
# Configure .env.local
echo "VITE_API_BASE_URL=http://localhost:8080" > .env.local
# Start development server
npm run dev# Backend
cd aurora-backend
./mvnw clean package -DskipTests
java -jar target/*.jar
# Frontend
cd aurora-frontend
npm run build && npm run preview| Method | Endpoint | Description |
|---|---|---|
POST |
/api/v1/auth/token |
Login & get JWT token |
POST |
/api/v1/auth/refresh |
Refresh access token |
POST |
/api/v1/auth/logout |
Logout & invalidate token |
POST |
/api/v1/auth/introspect |
Validate token |
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/users |
List all users |
GET |
/api/v1/users/{id} |
Get user by ID |
POST |
/api/v1/users |
Create new user |
PUT |
/api/v1/users/{id} |
Update user |
DELETE |
/api/v1/users/{id} |
Delete user |
| Method | Endpoint | Description |
|---|---|---|
GET |
/api/v1/branches |
List branches |
GET |
/api/v1/rooms |
List rooms |
GET |
/api/v1/room-types |
List room types |
GET |
/api/v1/amenities |
List amenities |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/v1/bookings |
Create booking |
GET |
/api/v1/bookings/{id} |
Get booking details |
PUT |
/api/v1/bookings/{id}/confirm |
Confirm booking |
PUT |
/api/v1/bookings/{id}/check-in |
Check-in |
PUT |
/api/v1/bookings/{id}/check-out |
Check-out |
| Method | Endpoint | Description |
|---|---|---|
POST |
/api/v1/rag/chat |
Chat with AI |
POST |
/api/v1/rag/chat-stream |
Streaming chat |
POST |
/api/v1/rag/documents |
Upload document |
📬 Postman Collections
Import these files for API testing:
postman/Aurora Hotel Management System.postman_collection.jsonpostman/Aurora_Hotel_Authentication_Tests.postman_collection.json
📦 aurora-hotel-management-system
├── 📂 aurora-backend/ # Spring Boot API
│ ├── 📂 src/main/java/.../
│ │ ├── 📂 config/ # App configurations
│ │ ├── 📂 controller/ # REST endpoints (31)
│ │ ├── 📂 dto/ # Data transfer objects
│ │ ├── 📂 entity/ # JPA entities (29)
│ │ ├── 📂 repository/ # Data access layer
│ │ ├── 📂 service/ # Business logic
│ │ └── 📂 security/ # JWT & auth
│ ├── 📂 postman/ # API collections
│ ├── 📄 docker-compose.yml
│ └── 📄 pom.xml
│
├── 📂 aurora-frontend/ # React SPA
│ ├── 📂 src/
│ │ ├── 📂 components/ # UI components
│ │ ├── 📂 pages/ # Page views (17 modules)
│ │ ├── 📂 features/ # Redux slices
│ │ ├── 📂 services/ # API clients
│ │ ├── 📂 hooks/ # Custom hooks
│ │ └── 📂 locales/ # i18n files
│ ├── 📄 package.json
│ └── 📄 vite.config.ts
│
├── 📂 docs/ # Documentation
│ ├── 📄 class-diagram.puml
│ ├── 📄 database-diagram.puml
│ └── 📄 database-schema.sql
│
└── 📄 README.md
![]() Nguyễn Trần Gia Sĩ 🎯 Team Lead Backend Developer |
![]() Nguyễn Văn Minh 🎨 Frontend UI/UX Developer |
![]() Nguyễn Trung Nguyên ⚙️ Backend API Developer |
![]() Nguyễn Duy Khải 🎨 Frontend UI Developer |
| Document | Description |
|---|---|
| Frontend Guide | React setup, components & styling |
| Backend Guide | Spring Boot setup & API reference |
| System Diagrams | Architecture & database diagrams |
This project was developed for educational purposes as part of the
Web Programming (WWW) course at
Industrial University of Ho Chi Minh City (IUH)
© 2024-2025 Aurora Development Team
Industrial University of Ho Chi Minh City — Faculty of Information Technology
Course Instructors — Web Programming (WWW)
Open Source Community — Spring, React, PostgreSQL & all contributors



