PDJ - Service to manage subscriptions for providers in one place
The main motivation was to build a simple microservice to manage subscriptions, with the potential to extend it later to include feature planning — all in one place. There are two API tags: one for the frontend (e.g., order checkout, subscriptions) and another for backend usage (e.g., polling user subscriptions for sync). We aimed for a lightweight API — as an alternative to complex solutions like HypeSwitch or Kill Bill — while still providing admin capabilities by using Django as the core framework.
- PayPal
- Stripe (in TODO)
To get started quickly, we recommend you to use and launch project through docker compose. There is some short steps.
-
Create base
.env
filecp .env.copy .env
-
Run the project
docker compose -f docker-compose.local.yml up -d
-
Initialize migrations
docker compose -f docker-compose.local.yml exec pdj_server ./manage.py migrate
-
Create init data
docker compose -f docker-compose.local.yml exec pdj_server ./manage.py init_data
All contributions to improve the project are welcome! In particular, new providers, bug and documentation fixes are really appreciated.
PDJ is fair-code distributed under Elastic License 2.0 (ELv2).