Skip to main content

🚀 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:

  1. 🏁 Create pages in the admin interface
  2. 🖌️ Use the visual page builder to design like a pro
  3. 🚀 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:

  1. 🍴 Fork the repository
  2. 🌱 Create your feature branch (git checkout -b feature/amazing-feature)
  3. 💾 Commit your changes (git commit -m 'Add some amazing feature')
  4. 📤 Push to the branch (git push origin feature/amazing-feature)
  5. 🔄 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.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

paybuildr-0.1.0.tar.gz (66.9 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

paybuildr-0.1.0-py3-none-any.whl (75.2 kB view details)

Uploaded Python 3

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

Hashes for paybuildr-0.1.0.tar.gz
Algorithm Hash digest
SHA256 26d6d7d1cf8a5dec7770dca59778056e950c5713a7a12b398a509a8a972f2d33
MD5 2d1468b29865616c12102d42eb602c59
BLAKE2b-256 845b39a65e10094798c7d38b93916055924a5352014b212a0a4c1f400ae88e80

See more details on using hashes here.

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

Hashes for paybuildr-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 fee1b2614ae1ae13b8794cb8d7b21cbb218da68d53f609c5dee965b8d7f71d11
MD5 2ecf44c0e41ef24ebffd7f3b0a3db5ef
BLAKE2b-256 41c8b57fec3125f3858f9affe792f82e5d3f67fc0882177599f4af55c35cac0e

See more details on using hashes here.

Release history Release notifications | RSS feed

This release

0.1.0 This release

2 files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page