🇵🇱 PL
← Back to homepage
💚

DonationApp

A full-stack donation platform built with Symfony 7 for NGOs and charities. Comes with a WordPress plugin, embeddable widget, and a complete admin panel.

Symfony 7 PHP 8.3 REST API MySQL Doctrine ORM Twig WordPress

What is DonationApp?

DonationApp is a platform for managing online donations, built with NGOs, foundations, and non-profit organizations in mind. The idea behind it was simple: organizations need a reliable way to collect donations on their website without depending on third-party payment processors or complicated integrations.

The result is a full backend in Symfony 7 with a clean REST API, an embeddable JavaScript widget that drops into any website with a single line of code, and an admin panel where the organization can track every donation, run campaigns, and pull reports. There is also a dedicated WordPress plugin for organizations whose website runs on WP.

What it does

🔌

Widget you can drop anywhere

A small JavaScript snippet that turns any button or link into a donation trigger. The full donation form opens as a smooth overlay; donors never leave the page they are on.

🔄

Recurring donations

Donors can set up recurring contributions on any schedule. The platform tracks all active subscriptions, handles cancellations with a full audit trail, and links every payment to the originating subscription.

🔒

Security built in

Every form is protected against CSRF attacks. There is rate limiting so nobody can spam submissions. Cloudflare Turnstile CAPTCHA is integrated to block bots without annoying real users.

🔗

REST API

The whole platform is built API-first, so any external system can connect to it. Full CRUD endpoints with JSON responses and proper error handling.

📊

Admin panel

All the tools an organization needs to run their donation programme.

📈
Dashboard & analytics Real-time donation totals, revenue chart with custom date ranges (week / month / year / custom), top donors leaderboard, progress towards campaign goals, and recent activity log.
💳
Donation management Full table of all donations with status badges (paid, pending, under moderation), search, filters, manual donation entry, donor content moderation, and one-click CSV / Excel export.
📧
Email campaigns Create and send bulk campaigns to selected donors. Variable system for personalization, live preview as you type, test sends, retry on failure, and per-campaign delivery stats.
🔁
Subscription management Full list of all active and cancelled recurring donations. Edit donor visibility, cancel with audit trail, and export all subscription data to CSV / Excel.
👥
Admin user management Create admin accounts with granular role-based permissions. Activate or deactivate users, reset passwords, and manage two-factor authentication (TOTP) per account.
📝
CMS: Custom pages Build and manage multilingual content pages with WYSIWYG editing, live preview, and publish / unpublish controls. System pages are protected from accidental deletion.
🔍
Audit log Complete trail of every admin action, filterable by category, actor type, and date range. Exportable to CSV. Includes IP ban management for blocking abusive addresses.
📤
Reports & exports CSV and Excel exports across donations, mailings, subscriptions, and audit logs, each with date-range filtering.
🟦

WordPress Plugin

One shortcode. Any theme. Zero configuration.

For organizations running WordPress, there is a dedicated plugin called DonationApp Stats. You install it, enter the API address, and then you can embed the donation form, a donor leaderboard, live stats counters, or a full donor list - all using simple shortcodes like [donationapp] or [donationapp_stats]. No custom code, no theme modifications needed. There is a live demo at the link below showing all the widgets in action.
🟦 See live WordPress demo

Screenshots

A look at the live demo - the platform frontend in English and Polish, and the admin panel where you manage everything.

WordPress integration - screenshots

The gallery below shows the WordPress demo site with different widgets embedded on real pages.