/sasaas

Launch your SaaS MVP quickly with this production-ready template.

Primary LanguagePythonGNU Lesser General Public License v3.0LGPL-3.0

Launch your SaaS MVP yesterday

This project is no longer active.

I'm working on a new and improved boilerplate. It will be available at https://github.com/confuzeus/bango

Time to market is of essence when developing your MVP.

If you take too long, you lose motivation and potential market advantages.

With this project template, you'll be able to launch your MVP not today, nor tomorrow, but yesterday!

Features

  • Single configuration source (.env).
  • Complete authentication system.
    • Authenticate with Email and Password.
    • Or social accounts.
  • Antispam with hcaptcha.
  • User profile management.
  • Bootstrap 5 and jQuery for quick frontend development.
  • Asset pipeline with Gulp.
  • Backgroung tasks with django-q.

Memberships

You have access to a complete membership system:

  • Default memberships upong sign up.
  • Free or paid membership tiers.
  • Free trials.

Usage guide

Memberships use Group from django.contrib.auth.

  1. Configure MEMBERSHIP_GROUPS in settings.py.
    • It's a dict of dicts.
    • Some samples have been set already.
  2. Configure VIEW_PERMISSION_GROUPS.
    • It's a dict that takes a unique str view id as key and a list of allowed groups.
  3. Configure UPGRADE_URL.
    • This is where users who don't have access to a view will be redirected to.
    • Preferably, this should be the page where users are asked to upgrade their membership.
  4. Decorate your views with group_required from the core package.
    • This decorator takes a unique str view_id.
    • This is the view id that must be used in VIEW_PERMISSION_GROUPS from above.
  5. Configure a DEFAULT_MEMBERSHIP_GROUP.
    • This is the group that new users will be added to by default.
  6. Configure UPGRADE_PATHS.
  7. Run the init_membership management command.
    • This command adds all current users who aren't part of any membership groups to the default one you specified above.

Some example settings have been set already and you can find some dummy views in the accounts app.

Roadmap

  • Add membership functionality.
  • Add payment models.
    • One-time payments.
    • Subscriptions.
    • Credit based payments.
  • Add payment methods.
    • Stripe.
    • Paypal.