Donor Management

Business & SaaS · React + Node (Express) · 9 @molecule/* packages

Kindful-like nonprofit donor CRM with donor profiles, gift history, fundraising campaigns, and year-end tax receipts — with built-in Stripe-backed subscription tiers

Open in Molecule

Try it

Opens instantly. Runs on sample data, so changes reset on reload.

Open preview in a new tab ↗View workspace ↗

What is inside

Screens (21)

  • Landing /
  • Login /login
  • Signup /signup
  • ForgotPassword /forgot-password
  • ResetPassword /reset-password
  • Dashboard /dashboard (signed in)
  • Donors /donors (signed in)
  • NewDonor /donors/new (signed in)
  • DonorDetail /donors/:id (signed in)
  • Gifts /gifts (signed in)
  • NewGift /gifts/new (signed in)
  • GiftDetail /gifts/:id (signed in)
  • Campaigns /campaigns (signed in)
  • Receipts /receipts (signed in)
  • ReceiptDetail /receipts/:id (signed in)
  • Settings /settings (signed in)
  • PlanUpdated /plan-updated (signed in)
  • Pricing /pricing
  • About /about
  • Terms /terms
  • Privacy /privacy

Data model (8 tables)

  • campaigns — id, owner_id, name, description, goal_cents, starts_on, ends_on, status, …
  • devices — id, createdAt, updatedAt, userId, name, pushPlatform, pushSubscription, hasPushSubscription
  • donors — id, owner_id, name, email, phone, address, is_organization, tags, …
  • gifts — id, owner_id, donor_id, amount_cents, gift_date, method, fund, campaign_id, …
  • notes — id, owner_id, donor_id, author, body, created_at, updatedAt
  • receipt_items — id, receipt_id, gift_id, amount_cents, created_at, updatedAt
  • receipts — id, owner_id, donor_id, year, receipt_number, total_cents, issued_at, created_at, …
  • payments — id, createdAt, updatedAt, userId, transactionId, productId, platformKey, data, …

API (8 handlers)

  • \_seed api/src/handlers/_seed.ts
  • \_shape api/src/handlers/_shape.ts
  • campaigns api/src/handlers/campaigns.ts
  • dashboard api/src/handlers/dashboard.ts
  • donors api/src/handlers/donors.ts
  • gifts api/src/handlers/gifts.ts
  • receipts api/src/handlers/receipts.ts
  • settings api/src/handlers/settings.ts

Built from 9 @molecule/* packages

Browse all @molecule/* packages →

Required secrets

  • DATABASE_URL PostgreSQL connection string
  • MAILGUN_API_KEY Mailgun API key for auth and receipt emails
  • MAILGUN_DOMAIN Mailgun sending domain
  • STRIPE_SECRET_KEY Stripe secret API key (sk_test_... in test mode)
  • STRIPE_WEBHOOK_SECRET Stripe webhook signing secret (whsec_...)

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