Project
Solace Hotel
A hotel booking platform with user and admin portals. Users can register, browse room categories, check availability, and reserve rooms. Admins can manage rooms, view all bookings, and oversee users.
Overview
Solace Hotel is a full-stack booking system built with a modern TypeScript stack. Next.js/React powers the user-facing app on Netlify, while an Express.js API—hosted on Render—handles secure server logic. Supabase provides Postgres, authentication, storage, and row-level security. Guests can register, browse categories, check availability, and reserve rooms. Administrators manage rooms, pricing, and inventory and can review every booking and user. The architecture cleanly separates the web client and API, making it scalable and easy to maintain.
Key features
- Supabase Auth (email/password, OAuth optional) with Row Level Security
- Room categories (Standard, Deluxe, Suite, Family, Executive)
- Availability search with date range and guest count
- Create, view, cancel reservations
- User dashboard: upcoming stays, history, profile
- Admin dashboard: rooms CRUD, pricing, inventory, bookings, users
- Server-side validation on Express API + client-side form validation
- Image upload via Supabase Storage
- Deployed split: Netlify (web) + Render (API)
Stack
- Frontend
- Next.jsReactTypeScriptTailwind CSS
- Backend
- Express.js (API)
- Data
- Supabase (Postgres, Auth, RLS)
- Infra
- Render (Express API hosting)Netlify (Next.js hosting)
Screenshots





