Skip to content

Manage subscriptions services (also known as plans) for your users in your Symfony 3.3+/4+ applications

License

Notifications You must be signed in to change notification settings

terox/SubscriptionBundle

Repository files navigation

SubscriptionBundle Build Status Code Coverage Scrutinizer Code Quality

SubscriptionBundleLogo

SubscriptionBundle helps you to create and manage subscriptions services (also known as plans) for your users in your application.

The SubscriptionBundle fits perfectly in your Symfony application and your models. It don't cares about what persistence layer are you using (a http://www.doctrine-orm.org, http://www.redis.io...); it only provides an easy and solid base where start to handle this type of products in your Symfony applications.

Features

  • Trying to maintain a easy, solid, well-documented and agnostic base to start to work without headaches.
  • Many actions allowed on to subscriptions: active, expire, disable and renew with his appropriate events.
  • Extensible: you can extend and change the out-of-the-box features creating your own strategies that determine how a subscription should be handled to fit to your requirements.

Compatible

  • Symfony 3.3+/4+ applications with Doctrine

Documentation

Quick start

1. Download the bundle:

$ composer require terox/subscription-bundle

2. Enable the bundle in Symfony Application (only Symfony 3):

<?php
// app/AppKernel.php

// ...
class AppKernel extends Kernel
{
    public function registerBundles()
    {
        $bundles = array(
            // ...
            new Terox\SubscriptionBundle\TeroxSubscriptionBundle(),
        );
    }

    // ...
}

3. Configure the bundle:

terox_subscription:
    # Where is the subscription model located in your application
    # Remember that your model must implement the interface
    subscription_class: AppBundle\Entity\Subscription # Interface: Terox\SubscriptionBundle\Model\SubscriptionInterface

    # Repository services name
    # Remember that repositories must be implement the interfaces
    subscription_repository: app.repository.subscription # Interface: Terox\SubscriptionBundle\Repository\SubscriptionRepositoryInterface
    product_repository: app.repository.product           # Interface: Terox\SubscriptionBundle\Repository\ProductRepositoryInterface

Read the complete configuration reference for more configuration options or tweaks.

License

This software is published under the MIT License

Contributing

I will be very happy if you want to contribute fixing some issue, providing new strategies or whatever you want. Thanks!

About

Manage subscriptions services (also known as plans) for your users in your Symfony 3.3+/4+ applications

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages