React Scheduler Lovable Starter Walkthrough
This guide explains how to reproduce the React Scheduler Lovable Starter - a resource booking app with a Supabase backend - in your own Lovable workspace. The published repo and its docs/ folder are the source of truth; this page is the entry point that explains how the pieces fit together.
What you get at the end
A working app with:
- a routed shell (Dashboard, Calendar, Resources, Reports, Settings)
- a Scheduler Timeline workspace for resource booking
- location-scoped resources and bookings loaded from Supabase
- persistent booking CRUD
- recurring booking support with series rows, exception rows, and deleted-occurrence tombstones
- status, resource, and type filters
- undo/redo for create, update, and delete operations
- resource-specific business-hour highlighting
- conflict blocking for overlapping bookings on the same resource
- outside-working-hours warnings
- a demo-only role model (viewer / scheduler / admin)
- a Supabase schema, demo policies, and seed data
The starter targets the Lovable stack: React 19 + TypeScript + Vite + TanStack Start + TanStack Router + Tailwind + shadcn/ui, with TanStack Query, Zustand, Supabase, and DHTMLX React Scheduler added on top.
Prerequisites
- A Lovable account
- A Supabase project (free tier is enough)
- Optional: Node.js 19+ and npm if you plan to run the result locally
Two ways to use the recipe
The docs/ folder serves two audiences:
- Reproduce the build from scratch. Send the prompts to Lovable in order. You will end up with the same app shell, Scheduler Timeline configuration, Supabase schema, and booking workflow. This is the recommended path if you want to learn the pattern.
- Use the published repo as a starting template. Clone the GitHub repo, point it at your own Supabase project, and skip the Lovable prompts entirely. This is faster if you just want a running starter.
Reproducing the build in Lovable
The full prompt sequence is in docs/00-build-plan.md. The high-level flow:
- Run prompt 01-create-app-shell.md to scaffold routes, navigation, placeholder pages, and the project architecture file.
- Paste the contents of 00-knowledge.md into your Lovable project's Knowledge Base. This locks in the React Scheduler package name, CSS import, explicit container height, date-handling rules, recurring-event rules, Timeline setup, and Supabase mapping boundaries.
- Decide your backend before step 03. The starter uses Supabase. If you want a backend-free variant, you can skip the Supabase steps and keep mock data only.
- Run the remaining prompts in order from
02through11. Each prompt covers one feature area: Scheduler core, Supabase read path, CRUD, permissions, browser verification, Scheduler UX, conflict checks, final verification, event styling, and secondary app pages.
A typical run produces a working app in 11 prompt-sized steps. The exact prompts and their scope are version-controlled in the repo.