A Django app for integrating Stripe payments and Kong API management
Project description
๐ PayBuildr ๐ธโจ
A powerful Django application that integrates Stripe payments, Kong API Gateway management, and page building capabilities using GrapeJS and Puck.
๐ฅ What is PayBuildr?
PayBuildr is the all-in-one solution for Django developers who need:
- ๐ณ Payment processing with Stripe
- ๐ API gateway management with Kong
- ๐จ Visual page building with GrapeJS & Puck
Built for Django 5.0+ and Python 3.12+, PayBuildr is the modern way to build payment-enabled web apps!
โจ Features
- ๐ฐ Stripe Integration: Process payments, manage subscriptions, and handle webhooks like a boss!
- ๐ Kong API Management: Configure and manage API services, routes, and rate limiting without breaking a sweat
- ๐๏ธ Page Builder: Create and customize stunning pages with GrapeJS or Puck.js without writing a single line of HTML
- ๐ง Smart Admin Interface: Comprehensive Django admin integration that just worksโข
- ๐ API Access: RESTful endpoints for plans, subscriptions, and pages
- ๐ ๏ธ Customizable: Plug it into your project and extend it however you want!
๐ Requirements
- ๐ Python 3.12+
- ๐ธ Django 5.0+
- ๐ Django REST Framework 3.14+
- ๐ต Stripe Python SDK 7.0+
- ๐ฆ Kong API Gateway
- ๐ฆ Node.js (for building frontend assets)
๐ Installation
pip install paybuildr # It's that simple!
Add to your INSTALLED_APPS (so easy your cat could do it):
INSTALLED_APPS = [
# ... your other cool apps
'rest_framework', # gotta have this!
'paybuildr', # ๐ฅ BOOM!
# ... maybe more apps here
]
Add to your urls.py (copy & paste, you got this!):
urlpatterns = [
# ... other URLs
path('paybuildr/', include('paybuildr.urls')), # ๐ฏ Plug and play!
# ... more URLs maybe?
]
โ๏ธ Configuration
๐ณ Stripe Configuration
Add these settings to your settings.py:
# ๐ Your secret keys (don't commit these to git!)
STRIPE_SECRET_KEY = 'your-stripe-secret-key'
STRIPE_PUBLIC_KEY = 'your-stripe-publishable-key'
STRIPE_WEBHOOK_SECRET = 'your-stripe-webhook-secret'
STRIPE_SUCCESS_URL = 'https://your-site.com/success/' # ๐
STRIPE_CANCEL_URL = 'https://your-site.com/cancel/' # ๐ข
๐ฆ Kong Configuration
KONG_ADMIN_URL = 'http://localhost:8001'
KONG_SYNC_ENABLED = True # Set to False if you're feeling rebellious
๐๏ธ Migrations
Run migrations (database tables don't create themselves... yet):
python manage.py migrate paybuildr
# โ
Database tables created like magic!
๐งฉ Usage
๐๏ธ Admin Interface
The admin interface is where the magic happens:
- ๐ Plans: Create and manage subscription plans
- ๐ผ Subscriptions: View and manage user subscriptions
- ๐ API Services: Configure Kong API services
- ๐ฃ๏ธ API Routes: Set up routes for your Kong services
- โฑ๏ธ API Plans: Configure rate limiting for different plans
- ๐ Pages: Create and edit pages with the built-in page builders
๐ง Management Commands
# ๐ฆ Sync services to Kong
python manage.py setup_kong
# ๐ฅ Import services from Kong to Django
python manage.py sync_from_kong
# ๐ฐ Sync Stripe plans
python manage.py sync_stripe_plans
๐ API Endpoints
RESTful goodness at your fingertips:
/api/plans/- List available plans ๐/api/plans/{id}/checkout/- Create a checkout session ๐ธ/api/subscriptions/- List user subscriptions ๐/api/pages/- Access pages created with the page builder ๐
๐จ Page Building
Build pages like you're designing in Figma:
- ๐ Create pages in the admin interface
- ๐๏ธ Use the visual page builder to design like a pro
- ๐ Publish and make available via the API or direct URL
๐ป Development
๐ญ Frontend Assets
To build the frontend assets:
cd paybuildr/static/paybuildr/js/puck
npm install # ๐ฆ Get the packages
npm run build # ๐จ Build the assets
๐งช Running Tests
python manage.py test paybuildr # ๐ง Because testing is smart
๐ License
MIT (Go wild! Just don't blame us if something breaks ๐)
๐ค Contributing
We ๐ contributions! Let's build something awesome together:
- ๐ด Fork the repository
- ๐ฑ Create your feature branch (
git checkout -b feature/amazing-feature) - ๐พ Commit your changes (
git commit -m 'Add some amazing feature') - ๐ค Push to the branch (
git push origin feature/amazing-feature) - ๐ Open a Pull Request
๐ Development Status & Roadmap
โ Completed Features
- โ Stripe payment integration with plans and subscriptions
- โ Kong API Gateway service and route management
- โ Rate limiting for API services based on subscription plans
- โ GrapeJS page builder integration
- โ Django admin interface customization
- โ RESTful API endpoints for plans and subscriptions
- โ Management commands for Kong synchronization
- โ Signal handlers for Stripe and Kong events
๐ง In Progress & Planned Features
- ๐ง Comprehensive test suite
- ๐ง Documentation and examples
- ๐ง Puck page builder integration
- ๐ User dashboard for managing subscriptions
- ๐ Webhook handler improvements
- ๐ Additional page templates
- ๐ Analytics integration
- ๐ Multi-tenant support
- ๐ Docker setup for development
- ๐ CI/CD pipeline
- ๐ i18n/l10n support
๐ก Want to help? Pick one of these items and submit a PR!
๐ Acknowledgements
- Kudos to the Django community
- High-fives to the Stripe and Kong teams
- Virtual hugs to all contributors!
Made with โค๏ธ by a developer, for whoever.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file paybuildr-0.1.0.tar.gz.
File metadata
- Download URL: paybuildr-0.1.0.tar.gz
- Upload date:
- Size: 66.9 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
26d6d7d1cf8a5dec7770dca59778056e950c5713a7a12b398a509a8a972f2d33
|
|
| MD5 |
2d1468b29865616c12102d42eb602c59
|
|
| BLAKE2b-256 |
845b39a65e10094798c7d38b93916055924a5352014b212a0a4c1f400ae88e80
|
File details
Details for the file paybuildr-0.1.0-py3-none-any.whl.
File metadata
- Download URL: paybuildr-0.1.0-py3-none-any.whl
- Upload date:
- Size: 75.2 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.12.6
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
fee1b2614ae1ae13b8794cb8d7b21cbb218da68d53f609c5dee965b8d7f71d11
|
|
| MD5 |
2ecf44c0e41ef24ebffd7f3b0a3db5ef
|
|
| BLAKE2b-256 |
41c8b57fec3125f3858f9affe792f82e5d3f67fc0882177599f4af55c35cac0e
|