memberpoint/wos-members-bundle

There is no license information available for the latest version (v2.25) of this package.

Installs: 19

Dependents: 18

Suggesters: 0

Type:symfony-bundle

v2.25 2021-12-02 00:54 UTC

README

The MemberPoint Whole-Of-Sports (WOS) MembersBundle provides functionality for the management of members.

For instructions on how to use the bundle, refer to the bundle's documentation.

Installation

These instructions assume the consuming application uses Symfony Flex.

Add the following repository to the application's composer.json file:

"repositories": [
    {
        "type": "composer",
        "url": "https://code.int.savagebull.com.au"
    }
]

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

$ composer require memberpoint/wos-members-bundle

Post-Installation

This section describes post-installation steps required for the bundle to work correctly. Steps are divided into the following sections:

Mail

For this bundle to be fully operational, the Swift Mailer service needs to be configured. To aid in development, Mailtrap is recommended as an SMTP mail server.

A sample .env file using Mailtrap is as follows:

MAILER_URL=smtp://smtp.mailtrap.io:2525?auth_mode=cram-md5&username=<foo>&password=<bar>

Ensure an application-wide sender address is also configured:

# config/packages/wos_common.yaml
wos_common:
  mail:
    sender_address: <an-email-address>

For more information on WOS common configuration options, refer to the MemberPoint Whole-Of-Sports (WOS) CommonBundle documentation.

Persistence

This bundle relies on Doctrine for persistence. After installing this bundle, ensure a connection to a database is correctly configured before executing:

$ php bin/console doctrine:schema:update --force

Routes

This bundle defines a collection of routes that serve as JSON API-endpoints. If the consuming application wishes to expose these endpoints, be sure to import them into the application's routing configuration:

# config/routes.yaml
wos_members_api:
  resource: '@WOSMembersBundle/Resources/config/routing-api.yaml'
  prefix: /api

Unit Testing

Ensure the bundle has all development dependencies available, then open a command console, enter the project directory, and execute:

$ vendor/bin/phpunit --testdox --coverage-text

Integration Testing

The MembersBundle provides fixtures for loading "fake" sets of data into a database to help perform integration testing.

Ensure the Fixtures bundle and the Faker library are available to the testing application:

$ composer require --dev doctrine/doctrine-fixtures-bundle
$ composer require --dev fzaninotto/faker

Next, ensure an encoder is configured for users:

# config/packages/security.yaml
security:
  # ...
  encoders:
    # ...
    MemberPoint\WOS\UsersBundle\Security\User: bcrypt

Then execute the following to load the fixtures:

$ php bin/console doctrine:fixtures:load