Donoor — all-in-one donation platform for nonprofits, built with Directus

Hi everyone,

I’m sharing Donoor, an all-in-one donation and fundraising platform for nonprofits and associations, built with Directus as the backend.

Directus powers our entire data layer — organizations, donations, memberships, event ticketing, and automated tax receipts — while our apps (a Nuxt 4 web dashboard + a Capacitor mobile app) consume its API. Payments run through Stripe Connect, and we added Tap to Pay on iPhone for in-person contactless collection.

What Directus gave us:

  • A flexible schema we could evolve fast as the product grew (75+ versioned SQL migrations)
  • An instant REST API + granular permissions for a multi-tenant setup (each org’s data fully isolated)
  • A clean admin layer our team uses daily
  • Schema snapshots to keep local, staging, and prod aligned

Live: https://donoor.org

A question for the community: how do you handle Directus schema migrations across environments (local → staging → prod) on fast-moving projects? We ended up building our own versioned SQL runner on top — curious to hear your approaches.

Feedback welcome!

1 Like

For schema sync, we’ve been using the Directus Schema Sync extension with good results.

Also, Directus is actively working on native schema/environment sync, so that may become the recommended approach in the future:
Environment Sync RFC