Skip to content

djaodjin/djaoapp

Repository files navigation

DjaoDjin subscriber session proxy

Documentation Status

DjaoApp brings fully-featured profile, billing and role-based access control pages so you can start building your SaaS product faster. To learn more visit DjaoDjin's Website or browse the project documentation on Read-the-Docs.

DjaoApp is built on Django, Vue.js, Bootstrap 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.10, Django: 4.2 (LTS)

Install

Get a clone of the repository on your local development environment, and change the active directory to that source directory.

$ git clone https://github.com/djaodjin/djaoapp.git
$ cd djaoapp

The following commands are executed at the top of source directory.

Please first verify that you have at least Python3.10 and make installed on your development environment

$ python --version
Python 3.10.19
$ make --version
GNU Make 3.81

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

DjaoApp transitively depends on multiple native libraries that could or could not be straightforward to install on your Operating System. If you have trouble with the pip install -r requirements-native.txt command, take a look at installation quirks in the documentation.


    $ python -m venv .venv
    $ source .venv/bin/activate
    $ pip install -r requirements-native.txt
    $ pip install -r requirements.txt
    $ make vendor-assets-prerequisites
    $ 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.

If you are going to test payment workflows, you will need to add your STRIPE keys to the credentials configuration file.


    $ diff -u .venv/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"

See the reference documentation for all configuration variables.

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

As you are finding your way working with the code base, you will want to toggle DEBUG on to enable debugging tools, and load dummy data to populate the dashboard pages.


    $ diff -u .venv/etc/djaoapp/site.conf
    -DEBUG = False
    +DEBUG = True

    $ python manage.py load_test_transactions

Start the built-in webserver in a version that re-compiles the .css files as necessary when a page is reloaded.

$ python manage.py runserver --nostatic

Release Notes

  • Feb 23rd 2026 An official Docker image was released: 2026-02-23

  • Sep 6th 2023 Support on Python2 was officially ended on Jan 1st 2020. As of Sep 6th 2023, we no longer test this project for compatibillity with Py2.7.

See release notes and roadmap.

About

Web/API Gateway with user profiles, billing, and subscription-based access control

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors