← All templates

Job Board

Operations & IoT · React + Node (Express) · 15 @molecule/* packages

Indeed-like job board with postings, applications, employer dashboard, and search — with built-in Stripe-backed subscription tiers

Open in Molecule

What is inside

  • auth
  • search
  • uploads
  • email-notifications
  • subscriptions

Screens (16)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Dashboard /dashboard (signed in)
  • Jobs /jobs (signed in)
  • JobDetail /jobs/:id (signed in)
  • Applications /applications (signed in)
  • Companies /companies (signed in)
  • CompanyDetail /companies/:id (signed in)
  • PostJob /post-job (signed in)
  • Profile /profile (signed in)
  • Settings /settings (signed in)
  • JobApplicants /jobs/:id/applicants (signed in)
  • Notifications /notifications (signed in)

Data model (11 tables)

  • applications — id, job_id, applicant_id, cover_letter, resume_url, status, created_at, updated_at
  • companies — id, owner_id, name, logo_url, description, website, employee_count, contact_email, …
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • job_categories — id, name, slug, description, created_at, updated_at
  • jobs — id, company_id, posted_by, title, description, location, salary_min, salary_max, …
  • notifications — id, user_id, kind, body, link, read, created_at
  • resource_tags — id, tagId, resourceType, resourceId, createdAt
  • saved_jobs — id, user_id, job_id, saved_at
  • tags — id, name, slug, color, description, createdAt, updatedAt
  • user_profiles — user_id, headline, bio, resume_url, skills, location, willing_to_relocate, created_at, …
  • payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …

API (8 handlers)

  • applications api/src/handlers/applications.ts
  • categories api/src/handlers/categories.ts
  • companies api/src/handlers/companies.ts
  • jobs api/src/handlers/jobs.ts
  • notifications api/src/handlers/notifications.ts
  • saved-jobs api/src/handlers/saved-jobs.ts
  • uploads api/src/handlers/uploads.ts
  • user-profiles api/src/handlers/user-profiles.ts

Subscription tiers

free / pro / team — gated by: maxApplications, maxCategories, maxCompanies, maxJobs, advancedFeatures, canExport, retentionDays

Built from 15 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • MEILISEARCH_API_KEY MeiliSearch API key
  • MAILGUN_API_KEY Mailgun API key for application notifications
  • MAILGUN_DOMAIN Mailgun sending domain
  • AWS_S3_BUCKET S3 bucket for resume uploads
  • AWS_ACCESS_KEY_ID AWS access key
  • AWS_SECRET_ACCESS_KEY AWS secret key

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