falco icon indicating copy to clipboard operation
falco copied to clipboard

advance starter - shipfaster

Open Tobi-De opened this issue 1 year ago • 7 comments

I want another version of the starter project, a more advanced version something similar to:

  • https://www.forgepackages.com/pro/
  • https://www.saaspegasus.com/
  • https://shipfa.st/

The idea is to ship and build faster, for now I've settled on falco shipfaster. I'm not sure if this will be an entirely new project blueprint or it will just update an existing project created with falco start-project.

But for now this is what I"m planning to include:

  • payment ( lemon squeezy)
  • caching with redis
  • sqlite for production using litestream for backup
  • everything in one container (s6 overlay)
  • a landing page with pricing section
  • a basic admin like interface for logged in users (profile, login, logout, change, password, change email, dashbaord etc..)
  • templates for login (with google enabled ? , github ???) and signup page
  • email setup (I often use AWS SES but maybe a simpler alternative, sendgrid, mailgun?)
  • background tasks with django-q2
  • django storages setup with AWS S3 for Media files

additional ideas:

  • optional postgres setup with pghoard for backup
  • daphne for async and realtime
  • Internationalization (french and english by default)
  • wagtail integration for CMS
  • features flags
  • something with user impersonation
  • a basic ecommerce store (maybe with https://github.com/dinoperovic/django-salesman)
  • a basic blog

add instructions on the docs for each components and how to swap them

Shipfaster will have it owns section on the docs and gallery

Tobi-De avatar Jan 11 '24 11:01 Tobi-De

It is very interesting, maybe can be something with a prompt to asks what to add. Maybe a folder inside the falco project where to put the various extra apps (maybe with a dedicated repo), on command they get moved to the right folder and added to the conf file.

Mte90 avatar Sep 02 '24 08:09 Mte90

It is very interesting, maybe can be something with a prompt to asks what to add. Maybe a folder inside the falco project where to put the various extra apps (maybe with a dedicated repo), on command they get moved to the right folder and added to the conf file.

Interesting idea, thanks.

I'll take this opportunity to post an update.

My plan has evolved a bit. First, I'm not sure if I want a Shipfaster anymore. It’s more likely that I’ll add most of these features to the base or current templates, with maybe some flags to enable specific features. For example, SQLite production with Litestream is definitely coming. I'm already working on that here and just waiting a bit for the next LTS Django release, 5.2.

I don't use Redis anymore; I use DiskCache, which is already set up in the current version of the template. The s6-overlay for everything in one container is already happening. Django-Q2 is in place, but I'm planning to switch to django-tasks after it’s merged into Django. Django-storages is also in place. For the UI, I’ve landed on using DaisyUI, and I'm going to include some basic pages and customize allauth templates.

The real extras here that could go into options or flags (or maybe prompts, but I don't like that much):

  • Daphne for async and real-time features
  • Internationalization (French and English by default)
  • Wagtail integration for CMS (?????????)
  • Feature flags
  • Something with user impersonation
  • A basic eCommerce store (maybe with dinoperovic/django-salesman)
  • A basic blog

For the Postgres backup stuff, I'm thinking more of an Ansible script that sets up what's necessary on a server on the first setup. Since most of the time for my personal projects, I use one PG server with different databases, it’s not a process I do over and over again for each new app.

Tobi-De avatar Sep 02 '24 10:09 Tobi-De

Cool updates indeed, I was looking for a boilerplate with the subscription system already on but I can't find it so I was following this tickets but after months of silence I just pinged here.

Mte90 avatar Sep 02 '24 10:09 Mte90

Cool updates indeed, I was looking for a boilerplate with the subscription system already on but I can't find it so I was following this tickets but after months of silence I just pinged here.

SaasPegasus does this https://docs.saaspegasus.com/subscriptions/ Falco isn't there yet, but it's surely something people would want. I'll keep it in mind as a potential extra.

Tobi-De avatar Sep 02 '24 10:09 Tobi-De

I'll have to experiment with this myself a bit first, any specific recommendation of providers ? I guess stripe is the defacto option, I was thinking of lemon squeezy but since stripe bought them recently it's basically the same thing

Tobi-De avatar Sep 02 '24 10:09 Tobi-De

I think that stripe is perfect as it is the best one around. I saw saaspegasus but is a payment option so I can't download it and do some tests for what I am trying to build.

Mte90 avatar Sep 02 '24 10:09 Mte90

I think that stripe is perfect as it is the best one around. I saw saaspegasus but is a payment option so I can't download it and do some tests for what I am trying to build.

Got it! I'll keep this thread updated. I've got a lot on my plate right now, but I'll tackle it as soon as I have some free time. In terms of priorities, I think the payment system is the most important extra to focus on.

Tobi-De avatar Sep 02 '24 10:09 Tobi-De