Event Ticketing
Real Estate & Travel · React + Node (Express) · 22 @molecule/* packages
Eventbrite-like event platform with creation, ticketing, check-in, and analytics — with built-in Stripe-backed subscription tiers
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
What is inside
Screens (16)
- Landing
/ - Login
/login - Signup
/signup - ForgotPassword
/forgot-password - ResetPassword
/reset-password - Dashboard
/dashboard(signed in) - EventList
/events - EventDetail
/events/:id - Attendees
/events/:id/attendees(signed in) - Settings
/settings(signed in) - CreateEvent
/events/new(signed in) - EditEvent
/events/:id/edit(signed in) - MyTickets
/my-tickets(signed in) - OrderConfirmation
/orders/:id/confirmation(signed in) - TicketDetail
/tickets/:id(signed in) - Notifications
/notifications(signed in)
Data model (11 tables)
- bookings — id, userId, resourceType, resourceId, status, startTime, endTime, duration, …
- devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
- events — id, user_id, organizer_user_id, title, category, description, venue, venue_address, …
- order_refunds — id, user_id, order_id, requested_by, reason, status, processed_at, stripe_refund_id, …
- orders — id, user_id, event_id, tier_id, quantity, subtotal_cents, fees_cents, total_cents, …
- payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …
- resource_tags — id, tagId, resourceType, resourceId, createdAt
- tags — id, name, slug, color, description, createdAt, updatedAt
- ticket_tiers — id, user_id, event_id, name, description, price_cents, quantity_total, quantity_sold, …
- ticket_transfers — id, user_id, ticket_id, from_user_id, to_user_id, to_email, accepted_at, created_at
- tickets — id, user_id, order_id, event_id, tier_id, seat, ref_code, qr_payload, …
API (11 handlers)
- attendees
api/src/handlers/attendees.ts - checkin
api/src/handlers/checkin.ts - dashboard
api/src/handlers/dashboard.ts - events
api/src/handlers/events.ts - my-tickets
api/src/handlers/my-tickets.ts - notifications
api/src/handlers/notifications.ts - orders
api/src/handlers/orders.ts - profile
api/src/handlers/profile.ts - refunds
api/src/handlers/refunds.ts - tickets
api/src/handlers/tickets.ts - transfers
api/src/handlers/transfers.ts
Subscription tiers
free / pro / team — gated by: maxCheckin, maxEvents, maxOrders, maxTickets, advancedFeatures, canExport, retentionDays
Built from 22 @molecule/* packages
@molecule/api-database-postgresql@molecule/api-email-templates@molecule/api-emails-mailgun@molecule/api-entitlements@molecule/api-geolocation-mapbox@molecule/api-image-sharp@molecule/api-payments-stripe@molecule/api-reporting-database@molecule/api-resource-booking@molecule/api-resource-payment@molecule/api-resource-tag@molecule/api-resource-user@molecule/api-search-meilisearch@molecule/api-uploads-s3@molecule/app-billing-react@molecule/app-calendar@molecule/app-data-table@molecule/app-date-range-picker@molecule/app-gallery@molecule/app-kpi-card-react@molecule/app-maps@molecule/app-virtual-scroll
Required secrets
DATABASE_URLPostgreSQL connection stringSTRIPE_SECRET_KEYStripe API secret keyMAPBOX_ACCESS_TOKENMapbox API access tokenMEILISEARCH_API_KEYMeilisearch API keyS3_BUCKETS3 bucket for event imagesMAILGUN_API_KEYMailgun API key
The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing