How mahesh19081978/winery works
VINORA is a winery discovery, booking, and hospitality platform with public wine and experience catalogues, reservations, guest accounts, and staff administration. The main customer journey is to explore an experience, check availability, create a booking, and manage or confirm it; event reservations and payment handling are related but distinct flows. Guest tasting journals and reviews, plus staff management of inventory, events, bookings, payments, and reviews, form additional product branches. API-to-service and validation links reflect sampled routes; unsampled subsystem wiring is omitted.
Main entry points: services/index.ts Domain services · validators/index.ts Request validators · events/route.ts Event management API · wines/route.ts Wine management API
Components 23
Public discovery and booking
- Public pages
src/app/(public)/page.tsx - Wine catalogue
src/app/(public)/wines/page.tsx - Experiences
src/app/(public)/experiences/page.tsx - Events
src/app/(public)/events/page.tsx - Availability API
src/app/api/availability/route.ts - Experience booking API
src/app/api/bookings/route.ts - Event booking API
src/app/api/event-bookings/route.ts - Booking lookup
src/app/api/bookings/[bookingNumber]/route.ts
Guest account
- Guest portal
src/app/(public)/app/page.tsx - Guest authentication
src/app/api/auth/guest/login/route.ts - Tasting journal API
src/app/api/tastings/route.ts - Reviews API
src/app/api/reviews/route.ts
Staff administration
- Admin dashboard
src/app/admin/(protected)/page.tsx - Event management API
src/app/api/admin/events/route.ts - Wine management API
src/app/api/admin/wines/route.ts - Review moderation
src/app/admin/(protected)/reviews/ReviewsListClient.tsx
Application services
- Payment endpoints
src/app/api/payments/create-order/route.ts - Payment webhook
src/app/api/payments/webhook/route.ts - Domain services
src/server/services/index.ts - Request validators
src/server/validators/index.ts - Staff authentication
src/lib/auth/index.ts
Other components
- Visitor
- Razorpay
Connections 34
- Visitor → Public pages: browses
- Visitor → Wine catalogue: explores wines
- Visitor → Experiences: chooses experience
- Visitor → Events: explores events
- Experiences → Availability API: checks slots
- Visitor → Availability API: requests availability
- Visitor → Experience booking API: submits reservation
- Experience booking API → Request validators: validates input
- Experience booking API → Domain services: creates booking
- Visitor → Event booking API: reserves tickets
- Event booking API → Request validators: validates input
- Event booking API → Domain services: creates booking
- Visitor → Booking lookup: looks up booking
- Booking lookup → Domain services: gets booking
- Visitor → Guest portal: manages visits
- Guest portal → Tasting journal API: records tastings
- Guest portal → Reviews API: submits reviews
- Tasting journal API → Request validators: validates input
- Tasting journal API → Domain services: reads and writes
- Reviews API → Request validators: validates input
- Reviews API → Domain services: reads and writes
- Admin dashboard → Event management API: manages events
- Admin dashboard → Wine management API: manages wines
- Review moderation → Review moderation
- Event management API → Staff authentication: checks staff access
- Event management API → Request validators: validates input
- Event management API → Domain services: manages events
- Wine management API → Staff authentication: checks staff access
- Wine management API → Request validators: validates input
- Wine management API → Domain services: manages wines
- Payment endpoints → Domain services: handles payments
- Payment webhook → Razorpay: verifies signature
- Payment webhook → Domain services: processes event
- Payment endpoints → Razorpay: uses gateway