What I built.
DressesOnCall Web App is part of my portfolio of websites and applications.
- Dress, collection and category pages.
- Booking form and confirmation flow.
- Admin interfaces for bookings, inventory, customers and reviews.
Under the hood.
Nuxt / Vue
Catalogue and booking views
Supabase
Application data
Pinia
Shared client state
A closer look.
From browsing to a booking
DressesOnCall is about more than displaying nice photographs. Someone needs to find a dress, look closely at it, choose the right details and make a booking. The business then needs to manage that booking alongside the rest of its collection.
The catalogue and the back office
The public application has collection and category browsing, individual dress pages, a booking form and a booking-success view. The dress page works with existing bookings and captures the customer details, size and special requests needed for the next step.
Behind it sits an admin area with dress and collection management, bookings, customers, promotions, reviews and analytics pages. I used Nuxt, Vue and Supabase, keeping the public catalogue and business workflows in one application.
The catalogue becomes a set of relationships
The detail route is where the business model starts showing through the UI: a dress, an existing-bookings collection, the selected size and the customer details all meet there. There are dedicated admin areas for dresses, collections, bookings and customers.
The next engineering question is availability under concurrent bookings. Displaying existing bookings is useful, but it does not prove that two simultaneous requests cannot reserve the same stock. I would want that rule enforced where the booking is committed, with explicit handling for a conflict.
Inventory needs a maintained home
A beautiful catalogue is only helpful if it stays accurate. I wanted the structure to reflect the business: dresses belong to collections, customers make bookings, and staff need a clear place to manage both.
Availability is part of the product
This project is a useful reminder that the interface is only one part of commerce. The relationships between products, availability, customers and bookings are what make the experience hold together.
