Skip to content
Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time

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.

The session proxy is built on Django, Vue.js, Bootstrap 4 frameworks and many more Open Source projects. Thank you for the support!

If you are looking to update the client front-end, you can browse through the API documentation and theme templates documentation.

If you are looking to add features, this project integrates

Tested with

  • Python: 3.6, Django: 2.2 (LTS), Django Rest Framework: 3.12
  • Python: 3.6, Django: 3.2 (latest), Django Rest Framework: 3.12
  • Python: 2.7, Django: 1.11 (legacy), Django Rest Framework: 3.9.4

Note: Support on Python2 was officially ended on Jan 1st 2020. The core application works on Python2.7 but some extra commands, like generating the OpenAPI spec do not. Please use requirements-legacy.txt instead of requirements.txt to install Python2 prerequisites.*


First you will need to create a workspace environment, download the 3rd party vendor prerequisite packages and build the static assets.

    $ python -m venv installTop
    $ source installTop/bin/activate
    $ pip install -r requirements.txt
    $ make install-conf
    $ make build-assets

At this point, all the 3rd party vendor prerequisite packages (Python and Javascript) have been downloaded and installed in the environment. You now need to add your STRIPE keys to the configuration file (i.e. installTop/etc/djaoapp/credentials).

    $ diff -u installTop/etc/djaoapp/credentials
    # Authentication with payment provider
    -STRIPE_PUB_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 = "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 migrate --run-syncdb
$ python createsuperuser
$ python 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 load_test_transactions

    # Spins up a dev server that re-compiles the `.css` files
    # on page reload whenever necessary.
    $ python runserver --nostatic

Templates Search Path

When a 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.

Release Notes

See release notes