Meeting Scheduler
Business & SaaS · React + Node (Express) · 12 @molecule/* packages
Calendly-like scheduling with availability, booking, and calendar sync — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (18)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - Calendar
/calendar(signed in) - EventTypes
/event-types(signed in) - EventTypeEditor
/event-types/:id(signed in) - BookingPage
/book/:slug - Availability
/availability(signed in) - Integrations
/integrations(signed in) - Settings
/settings(signed in) - Bookings
/bookings(signed in) - MeetingDetail
/bookings/:id(signed in) - BookingConfirmation
/book/:slug/confirmed - Notifications
/notifications(signed in) - Billing
/settings/billing(signed in)
Data model (7 tables)
- availability_overrides — id, user_id, date, is_unavailable, start_minute, end_minute, created_at, updatedAt
- availability_rules — id, user_id, day_of_week, start_minute, end_minute, timezone, created_at, updatedAt
- bookings — id, event_type_id, host_user_id, invitee_name, invitee_email, invitee_timezone, start_at, end_at, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- event_types — id, owner_id, name, slug, description, duration_minutes, location_kind, location_value, …
- external_calendars — id, user_id, provider, access_token, refresh_token, calendar_id, sync_enabled, last_sync_at, …
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
API (4 handlers)
- availability
api/src/handlers/availability.ts - bookings
api/src/handlers/bookings.ts - event-types
api/src/handlers/event-types.ts - profile
api/src/handlers/profile.ts
Subscription tiers
free / pro / team — gated by: maxAvailability, maxBookings, maxEventTypes, advancedFeatures, canExport, retentionDays
Built from 12 @molecule/* packages
@molecule/api-cron-node-cron@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-payments-stripe@molecule/api-resource-payment@molecule/api-resource-user@molecule/app-billing-react@molecule/app-calendar@molecule/app-data-table@molecule/app-date-range-picker
Required secrets
DATABASE_URLPostgreSQL connection stringMAILGUN_API_KEYMailgun API key for booking confirmationsMAILGUN_DOMAINMailgun sending domain
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing