How to structure a Django backend with Celery, WebSockets (Channels), and Stripe for SaaS?
I am planning to build a production-ready SaaS application using Django and Django REST Framework (DRF). The application requires a robust architecture featuring: * **PostgreSQL** as the primary database. * **Celery & Redis** for handling heavy background asynchronous tasks. * **Django Channels** for real-time WebSocket communication. * **Stripe** integration for handling recurring subscriptions. * **Docker & Docker Compose** for clean environment containerization. Setting all of these up from scratch with standard separation of concerns (settings, tasks, consumers) takes a massive amount of boilerplate configuration. What is the best practice for structuring a Django project's directory and configuration file setup to cleanly integrate these services while maintaining strict type-safety?