← All templates

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

Open in Molecule

What is inside

  • auth
  • search
  • payments
  • maps
  • analytics
  • subscriptions

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

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • STRIPE_SECRET_KEY Stripe API secret key
  • MAPBOX_ACCESS_TOKEN Mapbox API access token
  • MEILISEARCH_API_KEY Meilisearch API key
  • S3_BUCKET S3 bucket for event images
  • MAILGUN_API_KEY Mailgun API key

The @molecule/* packages are Apache-2.0. The app you build from this template is yours to export and self-host. Licensing