DjaoDjin subscriber session proxy
This repository contains the code for DjaoDjin subscriber session proxy. It is a core part of the infrastructure that makes it possible to bring fully-featured SaaS products to production faster. To learn more visit DjaoDjin's Website.
If you are looking to add features, this project integrates
- djaodjin-signup for authentication pages and APIs
- djaodjin-saas for subscription-based payment pages and APIs
- djaodjin-rules for role-based access control and HTTP request forwarding
- djaodjin-pages for live editingof self-hosted HTML pages
- Python: 3.6, Django: 1.11.23 (LTS), Django Rest Framework: 3.10
- Python: 3.6, Django: 2.2.4 (latest), Django Rest Framework: 3.10
- Python: 2.7, Django: 1.11.23 (LTS), Django Rest Framework: 3.9.4
Note: Python2 end of life is scheduled for Jan 1st 2020. All production
features are still supported until then. Development features are partially
supported, notably the API docs generator is not, due to newer versions
of prerequisites having deprecated Python2 support earlier than 2020. Please
requirements-legacy.txt instead of
requirements.txt to install
First you will need to create a workspace environment, download the 3rd party vendor prerequisite packages and build the static assets.
$ virtualenv installTop $ source installTop/bin/activate $ pip install -r requirements.txt $ make install-conf $ make mode=production build-assets
$ diff -u installTop/etc/djaoapp/credentials # Authentication with payment provider -STRIPE_CLIENT_ID = "" -STRIPE_PUB_KEY = "" -STRIPE_PRIV_KEY = "" +STRIPE_CLIENT_ID = "your-stripe-client-id" +STRIPE_PUB_KEY = "your-stripe-production-public-key" +STRIPE_PRIV_KEY = "your-stripe-production-private-key" # Authentication with payment provider (test keys) -STRIPE_TEST_CLIENT_ID = "" -STRIPE_TEST_PUB_KEY = "" -STRIPE_TEST_PRIV_KEY = "" +STRIPE_TEST_CLIENT_ID = "your-stripe-client-id" +STRIPE_TEST_PUB_KEY = "your-stripe-test-public-key" +STRIPE_TEST_PRIV_KEY = "your-stripe-test-private-key"
Then create the database, and start the built-in webserver
$ python manage.py migrate --run-syncdb $ python manage.py createsuperuser $ python manage.py runserver
You will want to toggle
DEBUG on in the site.conf file.
$ diff -u installTop/etc/djaoapp/site.conf -DEBUG = False +DEBUG = True # Create the tests databases and load test datasets. $ make initdb # To generate some sample data, disable emailing of receipts and run: $ python manage.py load_test_transactions # Spins up a dev server that continuously watches for changes in # JS & CSS files and reloads the corresponding modules in a browser $ make build-assets
Templates Search Path
rules.App exists, templates will be first searched for in
templates/project_name, then in templates/project_repo, then
the default will be used.
All CSS present in the default templates must be declared which ever base.html is included.