Jump to content

6 packages for Django to build better SaaS apps

From JOHNWICK

If you are coding a new SaaS application, you are likely to have very limited resources. As a developer, you ought to maximize your efficiency; otherwise, you won’t get very far. Things like payments, sign-ups, mailing, issue tracking, and task scheduling are integral parts of almost all SaaS applications. Instead of reinventing the wheel and coding them from scratch, I recommend using the following 6 packages to have a strong base for your product and invest time into coding the core feature instead.

1. django-allauth django-allauth gives you a structure for sign up and login, all you need to do is to play with settings and customize templates according to your styling. It comes with a “confirm email”, “forgot password”, and social login with all major providers.

2. dj-stripe dj-stripe helps you integrate Stripe payments into your application. Stripe API is great and easy to use by itself, but dj-stripe cuts the required effort even more — it automatically syncs Stripe entities with your database.

3. django-anymail django-anymail provides integrations for all major email service providers. Eliminates the need for you to manually add support for the email service that you want to use.

4. django-tenants django-tenants allows you to properly create multi-tenant SaaS applications without running multiple project instances. It works through database schemas.

5. sentry-sdk Use sentry to collect runtime issues with traceback and monitor your app's performance. I’m using the free plan for my projects (it’s limited to 1 user per project).

6. django-celery-beat django-celery-beat lets you monitor and interact with your scheduled tasks using the admin panel. It really helps with the management of your Celery tasks.

Extra tip If you regularly write SaaS applications, make your own codebase using these packages, so you don’t have to start from scratch every time. There are great Django boilerplates (I liked saas-pegasus), but I think it’s better to assemble the structure yourself after you've finished a couple of projects. You should tailor it to your coding style and needs.

Read the full article here: https://medium.com/@am2601/6-packages-for-django-to-build-better-saas-apps-9ae488eccc47