PHPackages                             ergosarapu/donation-bundle - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Utility &amp; Helpers](/categories/utility)
4. /
5. ergosarapu/donation-bundle

ActiveSymfony-bundle[Utility &amp; Helpers](/categories/utility)

ergosarapu/donation-bundle
==========================

Donation Bundle allows creating developer friendly donation websites easily

0.2.0(1y ago)1218↓26.7%[3 issues](https://github.com/ergosarapu/donation-bundle/issues)MITPHPPHP ^8.2CI passing

Since Sep 13Pushed 2mo ago1 watchersCompare

[ Source](https://github.com/ergosarapu/donation-bundle)[ Packagist](https://packagist.org/packages/ergosarapu/donation-bundle)[ RSS](/packages/ergosarapu-donation-bundle/feed)WikiDiscussions master Synced yesterday

READMEChangelog (2)Dependencies (35)Versions (7)Used By (0)

DonationBundle
==============

[](#donationbundle)

Donation Bundle allows creating Symfony based donation websites easily

Installation
------------

[](#installation)

Open a command console, enter your project directory and execute:

```
composer require ergosarapu/donation-bundle
```

To initialize database, first generate migrations files ...

```
bin/console doctrine:migrations:diff
```

... then run migrations to create database tables:

```
bin/console doctrine:migrations:migrate
```

Register bundle routes:

```
// config/routes.yaml

donation_bundle_routes:
    # loads routes from the given routing file stored in bundle
    resource: '@DonationBundle/config/routes.xml'

# Define or override your routes here

donation_bundle_routes_campaign:
    # loads rest of loosely matching routes as last so they will not match before the ones defined before
    resource: '@DonationBundle/config/routes_campaign.xml'
```

Create admin user:

```
php bin/console donation:add-user [email] [givenname] [familyname] --admin
```

If you run your app in localhost, then the admin panel can be accessed at .

Configuration
-------------

[](#configuration)

The following configuration options are available for the Donation Bundle:

```
# config/packages/donation.yaml

donation:

    # Form configuration.
    form:
        currencies:           # Required

            # Prototype: Currency code
            currency_code:

                # Default amount pre-filled for the end user.
                amount_default:       ~ # Required
                amount_choices:       []

    # Gateways configuration
    gateways:

        # Prototype
        name:

            # The label of the gateway group shown to the end user
            group:                ~ # Required

            # The label of payment gateway shown to the end user
            label:                ~ # Required

            # The icon of payment gateway shown to the end user
            image:                ~

            # Available recurring frequencies, null for one-time (default) or date interval string, e.g. P1M for monthly, P1W for weekly, etc
            frequencies:

                # Default:
                -

            # Marks gateway as country specific so user can quickly filter gateways with same country. Must be valid alpha-2 country code.
            country:              ~
```

Reset password feature
----------------------

[](#reset-password-feature)

The password reset feature uses [SymfonyCastsResetPasswordBundle](https://github.com/symfonycasts/reset-password-bundle), check its configuration to modify its behavior.

In order to use reset password feature, install [Mailer](https://symfony.com/doc/current/mailer.html) component in your application and configure [sender globally](https://symfony.com/doc/current/mailer.html#configuring-emails-globally):

```
# config/packages/mailer.yaml

mailer:
    envelope:
        sender: 'donations@example.com'
    headers:
        From: 'Donations '
```

Development
===========

[](#development)

Set up dev environment using DDEV
---------------------------------

[](#set-up-dev-environment-using-ddev)

```
ddev start
```

Install dependencies
--------------------

[](#install-dependencies)

To restrict packages install to specific Symfony version, install symfony/flex globally and specify your desired Symfony version:

```
composer global config --no-plugins allow-plugins.symfony/flex true
composer global require --no-interaction --no-progress symfony/flex:^2.4
composer config extra.symfony.require "7.3"
composer update
```

Testing
-------

[](#testing)

Run unit tests:

```
make phpunit-unit
```

Run unit tests with coverage. Domain and Application layers must be unit tested with 100% coverage. Make sure the XDebug is enabled, e.g. when using DDEV, run 'ddev xdebug on' outside the container.

```
make phpunit-unit-coverage
```

Following commands require DATABASE\_URL to be set

```
export DATABASE_URL=pdo-mysql://db:db@db/db
```

Run database migrations

```
make migrate
```

Run acceptance tests

```
make behat
```

Run integration tests (TODO: legacy, remove?)

```
make phpunit-integration
```

Run functional tests (TODO: legacy, remove?)

```
make phpunit-functional
```

Set up app integrated dev environment
-------------------------------------

[](#set-up-app-integrated-dev-environment)

TODO: Describe how to set up dev environment with Symfony app using this bundle. While it is possible to develop bundle without setting up app itself, it is useful to verify things work properly as expected.

###  Health Score

31

—

LowBetter than 66% of packages

Maintenance46

Moderate activity, may be stable

Popularity13

Limited adoption so far

Community7

Small or concentrated contributor base

Maturity47

Maturing project, gaining track record

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~157 days

Total

2

Last Release

501d ago

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1115717?v=4)[ergosarapu](/maintainers/ergosarapu)[@ergosarapu](https://github.com/ergosarapu)

---

Top Contributors

[![ergosarapu](https://avatars.githubusercontent.com/u/1115717?v=4)](https://github.com/ergosarapu "ergosarapu (188 commits)")

---

Tags

symfony-ux

###  Code Quality

TestsPHPUnit

### Embed Badge

![Health badge](/badges/ergosarapu-donation-bundle/health.svg)

```
[![Health](https://phpackages.com/badges/ergosarapu-donation-bundle/health.svg)](https://phpackages.com/packages/ergosarapu-donation-bundle)
```

###  Alternatives

[sylius/sylius

E-Commerce platform for PHP, based on Symfony framework.

8.5k5.9M737](/packages/sylius-sylius)[easycorp/easyadmin-bundle

Admin generator for Symfony applications

4.3k17.9M388](/packages/easycorp-easyadmin-bundle)[kimai/kimai

Kimai - Time Tracking

4.8k9.0k1](/packages/kimai-kimai)[forumify/forumify-platform

122.0k14](/packages/forumify-forumify-platform)[symfony/symfony-demo

Symfony Demo Application

2.6k254.2k](/packages/symfony-symfony-demo)[prestashop/prestashop

PrestaShop is an Open Source e-commerce platform, committed to providing the best shopping cart experience for both merchants and customers.

9.1k17.8k](/packages/prestashop-prestashop)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
