Week 3: Adaptable Subscription Level (User/Org), Webhook Verifications and Final Feature List

Welcome back FCDs!

Last week was a bit slow, with only one stream due to some urgent business commitments. This week, there were even fewer, with none at all. :-(

I want to reflect on that and discuss some options with you.

Stream Recap

Everybody loves some stats

As we can see from the above stats, not much of note happened in terms of big events. You can rewatch the stream on YouTube.

As for content, we were talking a lot about different business topic and made the following code improvements and adjustments:

  • subscription level can now be adjusted from only org level to also user level

  • you can completely disable the organisations feature via feature flag in the settings

  • stripe webhook calls are now verified with the webhook secret received on endpoint registration

  • we removed some unneeded dependencies and got rid of the ruff code editor in favour of good old and trusted blackd

  • version updates for dependencies

What’s Up Next

Understandably, many community members want to use the djangofast starter kit to jumpstart projects already. My initial promise was to develop everything on stream, and I intend to hold that.

That being said, I sporadically find myself with a few hours at hand where I could continue developing the starter kit. However, this is never in a pristine environment where streaming would come with good quality. I’d just be on my laptop without a proper microphone.

So, what should I do in this case? Working on the starter kit would bring the release closer, but not deliver the streaming/video experience that I want to offer.

Let me know what you prefer. Please reply to this post/email (depending on how you view this) so I can get a bit of community feedback.

Remaining Features for djangofast v1.0

FCD community member “HCN” advised me on discord to set a final list of features to include in the first version. It’s a good idea, and I won’t stray away too much in this case.

So let’s split this into two categories: missing features and deployment.

Features

  • Update the visuals.

    • Either add a new “theme” for bootstrap or move over to tailwind with daisyUI.

    • This means I will need to re-do all the pages (from user panel, org overview, to login/signup flow)

  • Build out MFA support

    • MFA with an authenticator app is already there. It might be useful to have certain actions behind an MFA wall (e.g. delete organisation only after MFA auth).

  • Complete organisation flow page

    • I’m sure I missed something there, and it’s not accessible nicely yet. Let’s change that.

  • Sample pages?

    • Sample pages could showcase some features, perhaps?

  • Code cleanup

  • Tests

    • CI setup for testing (optional: on attempts to push/merge to master)

Deployment

This might be more anticipated by you peeps, and here’s what should be included:

  • Complete VPS requirements setup (perhaps with a script?)

  • One-time env setup on VPS

  • GitHub repo settings for auto-deployment (CI/CD)

  • Auto-deployment on certain actions, e.g. push/merge to master

    • also depending on tests?

  • Zero downtime deployment

    • This should work by spawning a new container with the updated code base, then having traefik load balance between the two. Afterwards, we shut down the old container and should have accomplished a zero downtime redeployment.

    • The above is a theory and will need to be tested on stream. We’ll do it together.

    • After I figured it out, it will be automatically for you.

  • Note: I always wanted to play around with coolify, so I’ll check it out as well. Perhaps it simplifies the entire process significantly.

Closing Thoughts

Thanks again to everyone for being part of this journey. My right hand in managing the community, Budbomber also started working on a landing page for djangofast, while I began writing a detailed documentation. I don’t want to make djangofast the best boilerplate and starter kit, but also the best and most extensive knowledge base.

I’ll keep you posted on the upcoming dates and events!

Join the conversation

or to participate.