🎉 Better Boilerplate by Not Quite Unicorns - Our take on what a good Bubble app looks like

Nope! Which is why the sidebar generates its list of items from the sidebar item option set, so it can be entirely different. And, it’s pretty self documenting / just ‘works’.

You can see from here that if you wanted to use it on admin page, you need to create an Admin page option, then just add the items you want with the Pages including the admin page and the appropriate role. You know it won’t break anything else.

If the admin page is separate and protected by a server-side redirect, it means I don’t need to add workflow conditions on every single workflow on the page, as Bubble’s security logic will protect them for us.

Doing this would 100% be more maintainable, I just hate font awesome

Most of the time, you don’t know if it’s going to be used in more than one place!

I mean, they can do so if they want. They won’t be able to do anything, we’d just incur more WU than maybe is necessary (though if a user wants to ‘WU-DDoS’ us there’s plenty of ways to do that). There’s absolutely more layers of security you could add to these webhooks:

  • Admin token and Current user’s unique ID contains admin
  • IP filter
  • Webhook signature check

…many of which I spoke about here: Securing Stripe webhooks without authentication

Please see the docs on this but tldr is primitives are camelCase, data types + option sets are Capitalised Like This!

A name could be updated in a few places e.g when an account is creating in the backend by inviting a user, when the user is updating from their profile, when an admin wants to change a user etc. Full name is just a sync of first + last name and it means we don’t need to think about it at all for the rest of the app’s development. It won’t save ‘so many’ workload, as how often are people really updating their names?

A yes/no cannot be empty in Bubble, if empty it’s evaluated as no.

1 Like