This is a planning demo — read the full write-up in docs/.
BBookSpaceDemo

About this project

One booking engine, every kind of event space.

BookSpace is a planning demo focused on event spaces — wedding venues, birthday and kids' party rooms, corporate meeting rooms, and private-party gardens — built to answer one question: can a single booking system genuinely serve all of them without becoming a different product for each one?

The core idea

Every event space books differently: a wedding hall is rented whole for a day, a party room is booked in fixed multi-hour blocks, a conference center has several identical meeting rooms bookable in parallel. Instead of hardcoding each of those separately, the engine reduces every booking to one rule — remaining capacity = total capacity − everything already booked for that time — and lets each vendor configure how their resource fits that rule. Adding another event category is a configuration change, not a rewrite.

Read how it plays out in practice

What's real vs. simulated

This is a demo, not a product — here's exactly what actually works under the hood versus what's a UI stand-in.

Booking engine — real

Real conflict detection, capacity math, and transactional double-booking prevention.

Loyalty points — real

Real earn/redeem economy, including the approval-pending edge cases.

Authentication — real

Real email/password signup and login — bcrypt-hashed passwords, JWT sessions via NextAuth.

Photo uploads — real

Real uploads to Supabase Storage — publishing a listing persists it to Postgres.

×

Payments — simulated

Booking = instant mock confirmation. No card is ever collected.

×

Notifications — simulated

No email or SMS is actually sent.

Built with

Next.js (App Router), Prisma + Supabase (Postgres and Storage), NextAuth, and Tailwind CSS — hosted on Vercel.

Next.jsReactPrismaSupabaseNextAuthTailwind CSSTypeScript