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!
- 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.
You have access to a complete membership system:
- Default memberships upong sign up.
- Free or paid membership tiers.
- Free trials.
Memberships use Group
from django.contrib.auth
.
- Configure
MEMBERSHIP_GROUPS
in settings.py.- It's a
dict
ofdict
s. - Some samples have been set already.
- It's a
- Configure
VIEW_PERMISSION_GROUPS
.- It's a
dict
that takes a uniquestr
view id as key and alist
of allowed groups.
- It's a
- 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.
- Decorate your views with
group_required
from thecore
package.- This decorator takes a unique
str
view_id. - This is the view id that must be used in
VIEW_PERMISSION_GROUPS
from above.
- This decorator takes a unique
- Configure a
DEFAULT_MEMBERSHIP_GROUP
.- This is the group that new users will be added to by default.
- Configure
UPGRADE_PATHS
. - 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.
- Add membership functionality.
- Add payment models.
- One-time payments.
- Subscriptions.
- Credit based payments.
- Add payment methods.
- Stripe.
- Paypal.