
Professional Project
Stay Leisurely
Overview
Stay Leisurely is a villa booking platform built for a hospitality startup. I designed and developed the full-stack web application — from the guest-facing booking flow to the property management layer — enabling the business to accept and manage reservations end-to-end.
Role
Full Stack Developer at Designare Solutions
Problem
The client was managing villa reservations manually through phone calls and spreadsheets. They needed a polished customer-facing booking experience alongside an internal management interface to track availability, reservations, and guest communication — all within a tight delivery window.
Solution
Built a React web application for the guest-facing booking flow with a Node.js backend exposing a REST API. PostgreSQL handled relational reservation data with availability windows modeled carefully to prevent double-bookings. The platform was deployed on GCP for reliability and ease of scaling during peak seasons.
Architecture
A React SPA for the customer booking journey, backed by a Node.js API layer and PostgreSQL. GCP Cloud Run handled containerised backend deployment for cost-effective scaling.
Key Design Decisions
- React frontend with component-driven UI for property browsing, date selection, and checkout
- Availability engine in PostgreSQL preventing overlapping reservation windows via constraint-level validation
- Node.js REST API handling reservation lifecycle: create, confirm, cancel, and modify flows
- Email notification pipeline for booking confirmations and reminders using Nodemailer
- Admin dashboard for property managers to view and action upcoming reservations
- Deployed on GCP with environment-based config management and zero-downtime deployments
Challenges
- Modeling villa availability accurately in PostgreSQL to prevent race conditions on simultaneous booking attempts
- Building an admin experience alongside the guest UI within a shared codebase without coupling concerns
- Handling payment and cancellation edge cases at the data layer without a dedicated payment microservice
- Ensuring mobile-first responsiveness for a booking flow that guests primarily access from phones
Impact
- Replaced a fully manual reservation process with a self-serve booking platform
- Reduced reservation errors and double-bookings to zero through database-level availability enforcement
- Enabled the client to scale villa listings independently through the admin management interface