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
Try it
Opens instantly. Runs on sample data, so changes reset on reload.
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
Required secrets
DATABASE_URLPostgreSQL connection stringMAILGUN_API_KEYMailgun API key for auth and receipt emailsMAILGUN_DOMAINMailgun sending domainSTRIPE_SECRET_KEYStripe secret API key (sk_test_... in test mode)STRIPE_WEBHOOK_SECRETStripe 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