Bounded Context for the Wikimedia Deutschland fundraising payment subdomain
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
src
tests
.gitignore
.scrutinizer.yml
.travis.yml
COPYING.txt
Dockerfile
Makefile
README.md
composer.json
docker-compose.yml
phpcs.xml
phpunit.xml.dist

README.md

Fundraising Payments

Build Status Scrutinizer Code Quality Code Coverage

Bounded Context for the Wikimedia Deutschland fundraising payment (sub-)domain. Used by the user facing donation application and the "Fundraising Operations Center" (which is not public software).

Installation

To use the Fundraising Payments library in your project, simply add a dependency on wmde/fundraising-payments to your project's composer.json file. Here is a minimal example of a composer.json file that just defines a dependency on Fundraising Payments 1.x:

{
    "require": {
        "wmde/fundraising-payments": "~1.0"
    }
}

Development

For development you need to have Docker and Docker-compose installed. Local PHP and Composer are not needed.

sudo apt-get install docker docker-compose

Running Composer

To pull in the project dependencies via Composer, run:

make composer install

You can run other Composer commands via make run, but at present this does not support argument flags. If you need to execute such a command, you can do so in this format:

docker run --rm --interactive --tty --volume $PWD:/app -w /app\
 --volume ~/.composer:/composer --user $(id -u):$(id -g) composer composer install --no-scripts

Where composer install --no-scripts is the command being run.

Running the CI checks

To run all CI checks, which includes PHPUnit tests, PHPCS style checks and coverage tag validation, run:

make

Running the tests

To run just the PHPUnit tests run

make test

To run only a subset of PHPUnit tests or otherwise pass flags to PHPUnit, run

docker-compose run --rm app ./vendor/bin/phpunit --filter SomeClassNameOrFilter

Architecture

This Bounded context follows the architecture rules outlined in Clean Architecture + Bounded Contexts.

Architecture diagram