Skip to content
User login, billing, access control as part of a session proxy
HTML Python JavaScript CSS Makefile
Branch: master
Clone or download
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
djaoapp prepares scaffolding for #151 and #104 Sep 3, 2019
djaoapp_extras forces specific version for CentOS7 compatibility Apr 8, 2019
etc replaces django-assets by django-webpack-loader Sep 2, 2019
.gitignore replaces django-assets by django-webpack-loader Sep 2, 2019
LICENSE initial release Feb 28, 2018
Makefile
README.md replaces django-assets by django-webpack-loader Sep 2, 2019
djaoapp.xml updates API doc generator to use DRF3.10 Sep 2, 2019
manage.py fixed broken changes from djaodjin-signup Apr 25, 2018
openapi.yaml docs progress Jul 15, 2019
package.json replaces django-assets by django-webpack-loader Sep 2, 2019
requirements-legacy.txt prepares scaffolding for #151 and #104 Sep 3, 2019
requirements.txt prepares scaffolding for #151 and #104 Sep 3, 2019
webpack.common.js replaces django-assets by django-webpack-loader Sep 2, 2019
webpack.development.js replaces django-assets by django-webpack-loader Sep 2, 2019
webpack.production.js replaces django-assets by django-webpack-loader Sep 2, 2019

README.md

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: 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 use requirements-legacy.txt instead of requirements.txt to install Python2 prerequisites.*

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

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_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

Development

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

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.

You can’t perform that action at this time.