Technical Architecture
Stack, abstraction, seam backend-ready, deployment.
- Stack
- Next.js 16 · React 19 · TypeScript · Tailwind v4 · shadcn/ui · motion · next-themes
- Domain abstraction
- Listing / Inventory / Reservation (không khoá Hotel/Room)
- Cấu trúc
- components/{ui,search,listing,booking,review,shared,admin} + features/{guest,partner,admin,customer,affiliate,marketing}
- Backend-ready seam
- lib/domain/{models,ports} + services + view-models + mock/{data,repositories}. Đổi API = thay repository, sửa 1 dòng.
- Theme
- 5 brand theme + ThemeProvider (theme-per-tenant sẵn)
- Deployment
- 1 app PM2 :3013 + Nginx 6 vhost (root→portal path) + Let's Encrypt SSL trên VPS