django-flexible-plans

https://badge.fury.io/py/django-flexible-plans.svg https://travis-ci.org/ninjabit/django-flexible-plans.svg?branch=master https://codecov.io/gh/ninjabit/django-flexible-plans/branch/master/graph/badge.svg

Independent and reusable Plan, Subscription app used to build the Django Subscription Plan System

Django-Subscription-Plan-System

Status

Under heavy development. Not ready for use yet. Please feel free to join and contribute.

Documentation

The full documentation is at https://django-flexible-plans.readthedocs.io.

Quickstart

Install django-flexible-plans:

pip install django-flexible-plans

Add it to your INSTALLED_APPS:

INSTALLED_APPS = (
    ...
    'flexible_plans.apps.FlexiblePlansConfig',
    ...
)

Add django-flexible-plans’s URL patterns:

from flexible_plans import urls as flexible_plans_urls


urlpatterns = [
    ...
    url(r'^', include(flexible_plans_urls)),
    ...
]

Create Features PlanFeatures, Plans through the admin panel to let users activate their subscriptions.

Features

Plans have Features that describe them and what their subscribers can do or their quotas Users can subscribe to Plans and their Subscription can be activated, deactivated, renewed, prorated, upgraded or downgraded.

Roadmap

  • Configurable, swappable Plan Model, to customize the Plan Class behaviour
  • Dynamic imports from other app in the ecosystem to handle all the other aspects of having a plan subscription system
  • Multiple plan types, with support of any combination of quotas, features, permissions.
  • Multiple plan/subscription provider support

Running Tests

Does the code actually work?

source <YOURVIRTUALENV>/bin/activate
(myenv) $ pip install tox
(myenv) $ tox