Bài toán
Khách sạn nhỏ và vừa cần kênh nhận đặt phòng trực tuyến riêng, quản lý phòng và lịch đặt tập trung, thay vì ghi chép thủ công hoặc phụ thuộc hoàn toàn vào các sàn trung gian.
Giải pháp
- Cổng khách hàng: tìm khách sạn, xem chi tiết – tiện ích – loại phòng, đặt phòng, thanh toán VNPay, theo dõi lịch sử đặt và khách sạn yêu thích.
- Cổng chủ khách sạn: quản lý thông tin khách sạn, phòng, giá, tiện ích; lịch đặt phòng dạng calendar; thanh toán và dashboard thống kê.
- Cổng quản trị: duyệt khách sạn và hồ sơ pháp lý, quản lý người dùng, vai trò, phân quyền, danh mục tiện ích và địa chỉ hành chính.
Bảo mật & phân quyền
Xác thực JWT với Spring Security (OAuth2 Resource Server), đặt lại mật khẩu qua OTP email, phân quyền RBAC chi tiết đến từng hành động trên từng tài nguyên.
Kiến trúc
Mỗi cổng gồm frontend React + TypeScript và backend Spring Boot riêng, dùng chung một cơ sở dữ liệu MySQL; tách repository theo cổng để các nhóm phát triển song song.
