{"id":22484508,"url":"https://github.com/djaodjin/djaoapp","last_synced_at":"2025-04-14T12:29:09.127Z","repository":{"id":28169924,"uuid":"116533733","full_name":"djaodjin/djaoapp","owner":"djaodjin","description":"Web/API Gateway with user profiles, billing, and subscription-based access control","archived":false,"fork":false,"pushed_at":"2025-04-09T16:48:52.000Z","size":5491,"stargazers_count":137,"open_issues_count":41,"forks_count":34,"subscribers_count":9,"default_branch":"main","last_synced_at":"2025-04-09T17:48:16.873Z","etag":null,"topics":["api","authentication","django","rbac","saas","session-manager","subscription"],"latest_commit_sha":null,"homepage":"https://djaodjin.com/","language":"HTML","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/djaodjin.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2018-01-07T03:19:33.000Z","updated_at":"2025-04-09T16:48:56.000Z","dependencies_parsed_at":"2023-09-22T03:13:43.828Z","dependency_job_id":"e806ff74-f235-48ba-94c8-1ae0c4cd4f95","html_url":"https://github.com/djaodjin/djaoapp","commit_stats":null,"previous_names":[],"tags_count":12,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaodjin%2Fdjaoapp","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaodjin%2Fdjaoapp/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaodjin%2Fdjaoapp/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/djaodjin%2Fdjaoapp/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/djaodjin","download_url":"https://codeload.github.com/djaodjin/djaoapp/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248880855,"owners_count":21176745,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["api","authentication","django","rbac","saas","session-manager","subscription"],"created_at":"2024-12-06T17:11:06.410Z","updated_at":"2025-04-14T12:29:09.104Z","avatar_url":"https://github.com/djaodjin.png","language":"HTML","funding_links":[],"categories":["HTML"],"sub_categories":[],"readme":"DjaoDjin subscriber session proxy\n=================================\n\n[![Documentation Status](https://readthedocs.org/projects/djaoapp/badge/?version=latest)](https://djaoapp.readthedocs.io/en/latest/?badge=latest)\n\nDjaoApp brings fully-featured profile, billing and role-based access control\npages so you can start building your SaaS product faster.\nTo learn more visit [DjaoDjin's Website](https://www.djaodjin.com/) or browse\nthe project documentation on [Read-the-Docs](https://djaoapp.readthedocs.org/).\n\nDjaoApp is built on\n[Django](https://www.djangoproject.com/),\n[Vue.js](https://vuejs.org/), [Bootstrap](https://getbootstrap.com/)\nframeworks and many more Open Source projects. Thank you for the support!\n\n\u003cp align=\"center\"\u003e\n\u003cimg src=\"https://static.djangoproject.com/img/logos/django-logo-positive.png\" height=\"75\"\u003e\n\u003cimg src=\"https://vuejs.org/images/logo.png\" height=\"75\"\u003e\n\u003cimg src=\"https://getbootstrap.com/docs/4.3/assets/brand/bootstrap-solid.svg\" height=\"75\"\u003e\n\u003c/p\u003e\n\nIf you are looking to update the client front-end, you can browse through\nthe [API documentation](https://www.djaodjin.com/docs/reference/djaoapp/latest/api/)\nand [theme templates documentation](https://www.djaodjin.com/docs/guides/themes/).\n\nIf you are looking to add features, this project integrates\n- [djaodjin-signup](https://github.com/djaodjin/djaodjin-signup/) for authentication pages and APIs\n- [djaodjin-saas](https://github.com/djaodjin/djaodjin-saas/) for subscription-based payment pages and APIs\n- [djaodjin-rules](https://github.com/djaodjin/djaodjin-rules/) for role-based access control and HTTP request forwarding\n- [djaodjin-deployutils](https://github.com/djaodjin/djaodjin-deployutils/) for encoding/decoding sessions\n- [djaodjin-extended-templates](https://github.com/djaodjin/djaodjin-extended-templates/) for live editing of theme templates\n\nTested with\n\n- **Python:** 3.10, **Django:** 3.2 ([LTS](https://www.djangoproject.com/download/))\n\nInstall\n-------\n\nFirst you will need to create a workspace environment, download the 3rd party\nvendor prerequisite packages and build the static assets.\n\nDjaoApp transitively depends on multiple native libraries that could or could\nnot be straightforward to install on your Operating System. If you have trouble\nwith the `pip install -r requirements-native.txt` command, take a look at\n[installation quirks](https://djaoapp.readthedocs.io/en/latest/quirks.html)\nin the documentation.\n\n\u003cpre\u003e\u003ccode\u003e\n    $ python -m venv \u003cem\u003einstallTop\u003c/em\u003e\n    $ source \u003cem\u003einstallTop\u003c/em\u003e/bin/activate\n    $ pip install -r requirements-native.txt\n    $ pip install -r requirements.txt\n    $ make vendor-assets-prerequisites\n    $ make install-conf\n    $ make build-assets\n\u003c/code\u003e\u003c/pre\u003e\n\nAt this point, all the 3rd party vendor prerequisite packages (Python and\nJavascript) have been downloaded and installed in the environment. You now\nneed to add your STRIPE keys to the configuration file (i.e.\n*installTop*/etc/djaoapp/credentials).\n\n\u003cpre\u003e\u003ccode\u003e\n    $ diff -u \u003cem\u003einstallTop\u003c/em\u003e/etc/djaoapp/credentials\n    # Authentication with payment provider\n    -STRIPE_CLIENT_ID = \"\"\n    -STRIPE_PUB_KEY = \"\"\n    -STRIPE_PRIV_KEY = \"\"\n    +STRIPE_CLIENT_ID = \"\u003cem\u003eyour-stripe-client-id\u003c/em\u003e\"\n    +STRIPE_PUB_KEY = \"\u003cem\u003eyour-stripe-production-public-key\u003c/em\u003e\"\n    +STRIPE_PRIV_KEY = \"\u003cem\u003eyour-stripe-production-private-key\u003c/em\u003e\"\n\n    # Authentication with payment provider (test keys)\n    -STRIPE_TEST_CLIENT_ID = \"\"\n    -STRIPE_TEST_PUB_KEY = \"\"\n    -STRIPE_TEST_PRIV_KEY = \"\"\n    +STRIPE_TEST_CLIENT_ID = \"\u003cem\u003eyour-stripe-client-id\u003c/em\u003e\"\n    +STRIPE_TEST_PUB_KEY = \"\u003cem\u003eyour-stripe-test-public-key\u003c/em\u003e\"\n    +STRIPE_TEST_PRIV_KEY = \"\u003cem\u003eyour-stripe-test-private-key\u003c/em\u003e\"\n\u003c/code\u003e\u003c/pre\u003e\n\n\nThen create the database, and start the built-in webserver\n\n    $ python manage.py migrate --run-syncdb\n    $ python manage.py createsuperuser\n    $ python manage.py runserver\n\n\nDevelopment\n-----------\n\nYou will want to toggle `DEBUG` on in the site.conf file.\n\n\u003cpre\u003e\u003ccode\u003e\n    $ diff -u \u003cem\u003einstallTop\u003c/em\u003e/etc/djaoapp/site.conf\n    -DEBUG = False\n    +DEBUG = True\n\n    # Create the tests databases and load test datasets.\n    $ make initdb\n\n    # To generate some sample data, disable emailing of receipts and run:\n    $ python manage.py load_test_transactions\n\n    # Spins up a dev server that re-compiles the `.css` files\n    # on page reload whenever necessary.\n    $ python manage.py runserver --nostatic\n\u003c/code\u003e\u003c/pre\u003e\n\n\nTemplates Search Path\n---------------------\n\nWhen a ``rules.App`` exists, templates will be first searched for in\ntemplates/*project_name*, then in templates/*project_repo*, then\nthe default will be used.\n\nAll CSS present in the default templates must be declared which ever\nbase.html is included.\n\n\nRelease Notes\n=============\n\n- Sep 6th 2023\n  Support on Python2 was officially ended on Jan 1st 2020. As of Sep 6th 2023,\n  we no longer test this project for compatibillity with Py2.7.\n\nSee [release notes](https://www.djaodjin.com/docs/reference/djaoapp/releases/) and [roadmap](https://www.djaodjin.com/docs/reference/roadmap/).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaodjin%2Fdjaoapp","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdjaodjin%2Fdjaoapp","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdjaodjin%2Fdjaoapp/lists"}