← All templates

Property Listing

Real Estate & Travel · React + Node (Express) · 25 @molecule/* packages

Zillow-like property listing platform with search, maps, filters, and mortgage calculator — including a built-in subscription tier (Free / Pro / Team) backed by Stripe

Open in Molecule

What is inside

  • auth
  • search
  • maps
  • bookmarks
  • reviews
  • subscriptions

Screens (15)

  • AgentAnalyticsPage /admin/analytics (signed in)
  • AgentDashboard /admin/dashboard (signed in)
  • AgentLeadsPage /admin/leads (signed in)
  • AgentListingsPage /admin/listings (signed in)
  • AgentProfilePage /agent/:id
  • AgentShowingsPage /admin/showings (signed in)
  • ForgotPassword /forgot-password
  • ListingEditorPage /admin/listings/new (signed in)
  • Login /login
  • PropertyDetailPage /property/:id
  • ResetPassword /reset-password
  • SavedPropertiesPage /saved
  • SearchPage /
  • Settings /admin/settings (signed in)
  • Signup /signup

Data model (10 tables)

  • agents — id, name, email, phone, bio, city, specialty, rating, …
  • bookmarks — id, userId, resourceType, resourceId, folder, createdAt, updatedAt
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • leads — id, agent_id, property_id, name, email, phone, message, source, …
  • properties — id, owner_id, title, description, address, city, state, zip_code, …
  • resource_tags — id, tagId, resourceType, resourceId, createdAt
  • review_helpful — reviewId, userId, createdAt
  • reviews — id, resourceType, resourceId, userId, rating, title, body, helpful, …
  • showings — id, property_id, agent_id, lead_id, scheduled_at, duration_min, status, notes, …
  • tags — id, name, slug, color, description, createdAt, updatedAt

API (6 handlers)

  • agents api/src/handlers/agents.ts
  • bookmarks api/src/handlers/bookmarks.ts
  • leads api/src/handlers/leads.ts
  • mortgage api/src/handlers/mortgage.ts
  • properties api/src/handlers/properties.ts
  • showings api/src/handlers/showings.ts

Subscription tiers

free / pro / team — gated by: maxListings, maxPhotosPerListing, maxStorageMb, featuredListings, virtualTours, mortgageCalculator, leadCapture, customBranding, agentAccounts

Built from 25 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • MAPBOX_ACCESS_TOKEN Mapbox API access token
  • MEILISEARCH_API_KEY Meilisearch API key
  • S3_BUCKET S3 bucket for property photos
  • MAILGUN_API_KEY Mailgun API key for email alerts

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