{ "info": { "author": "The DjaoDjin Team", "author_email": "support@djaodjin.com", "bugtrack_url": null, "classifiers": [], "description": "djaodjin-saas is a Django application that implements the logic to support\nsubscription-based Software-as-a-Service businesses.\n\nMajor Features:\n\n- Separate billing profiles and authenticated users\n- Double entry book keeping ledger\n- Flexible security framework\n\nTested with\n\n- **Python:** 3.7, **Django:** 2.2 ([LTS](https://www.djangoproject.com/download/)), **Django Rest Framework:** 3.12\n- **Python:** 3.7, **Django:** 3.2 (latest), **Django Rest Framework:** 3.12\n- **Python:** 2.7, **Django:** 1.11 (legacy), **Django Rest Framework:** 3.9.4\n\nThis project contains bare bone templates which are compatible with Django\nand Jinja2 template engines. To see djaodjin-saas in action as part\nof a full-fledged subscription-based session proxy, take a look\nat [djaoapp](https://github.com/djaodjin/djaoapp/).\n\nFull documentation for the project is available at\n[Read-the-Docs](http://djaodjin-saas.readthedocs.org/)\n\n\nDevelopment\n===========\n\nAfter cloning the repository, create a virtualenv environment and install\nthe prerequisites:\n\n
\n $ python -m venv .venv\n $ source .venv/bin/activate\n $ pip install -r testsite/requirements.txt\n\n # Installs Javascript prerequisites to run in the browser\n $ make vendor-assets-prerequisites\n\n\n\nTo use the testsite, you will need to add the payment processor keys\n(see [Processor Backends](http://djaodjin-saas.readthedocs.io/en/latest/backends.html))\nand Django secret key into a credentials file. Example with\n[Stripe](https://stripe.com/):\n\n\n $ cat ./credentials\n\n SECRET_KEY = \"enough_random_data\"\n STRIPE_PUB_KEY = \"your_stripe_public_api_key\"\n STRIPE_PRIV_KEY = \"your_stripe_private_api_key\"\n\n\n\nIt remains to create and [populate the database with required objects](https://djaodjin-saas.readthedocs.io/en/latest/getting-started.html#setting-up-a-software-as-a-service-site).\n\n $ python ./manage.py migrate --run-syncdb --noinput\n $ python ./manage.py loaddata testsite/fixtures/initial_data.json\n $ python ./manage.py createsuperuser\n\nYou can further generate a set of dummy data data to populate the site.\n\n $ python ./manage.py load_test_transactions\n\nSide note: If create your own fixtures file (ex: testsite/fixtures/test_data.json)\nand attempt to load them with a Django version *before* 2 while the Python\nexecutable was linked with a SQLite version *after* 3.25, you might stumble upon\nthe well-known [SQLite 3.26 breaks database migration ForeignKey constraint, leaving