sxsphinxstack

Projects / A booking system for a tutor or coach

A booking system for a tutor or coach

Level 2: two to three weeks, real architecture. Use with: build-web-app, backend-basics, database-basics. Resume line when done: Built {project_name}, a session-booking system with conflict-safe scheduling on its own backend — live at {url}

Brief

A booking system for one real person who sells their time: a tutor, a music teacher, a sports coach, maybe you. They publish available slots; students pick one, enter their name, and get a confirmation code. Double-booking is impossible because your backend, on Render's or Railway's free tier, is the only thing allowed to confirm a slot, checking the hosted Postgres database (Neon or Supabase free tier) inside a transaction. Payment stays completely outside the system; the app can note "paid in person" and nothing more. Frontend deploys free on Netlify or Vercel.

Personalize

Milestones

  1. README first: slot, booking, the states a slot moves through, and why confirmation must happen on the server.
  2. Backend deployed with a slots endpoint reading from the real database; seed a fake week.
  3. Public booking page live by end of week one: real URL, open slots visible, nothing bookable yet.
  4. Booking flow: pick a slot, enter name and contact, get a confirmation code. The slot disappears from the open list.
  5. The race: two bookings hitting the last slot at once resolves to exactly one winner. Write down how you proved it.
  6. Provider dashboard behind a password or magic link: see the week, add and remove slots, cancel a booking.
  7. Cancellation by code: a student with their confirmation code can cancel, reopening the slot, subject to the notice policy.
  8. Two real weeks of use with real students booking real sessions; fix what confused them most.
  9. Final README: the booking state machine and API routes in your words, plus evidence of real sessions held.

Done means