Route Users based on membership state

Hi,

we are planning to move to Ghost and are in the middle of figuring out if we could implement the following.

At its core we run a blog and membership site. We also host events for our members. Either free events / live streams or paid workshops.

And here are my questions:

In our ideal scenario paid members can join the events for free. Which means we would need to catch / use the member state of a user.

  • If paid membership is true :white_check_mark: the user should end up on a simple form, name / e-mail pre-populated (we have limited seats, thats why we need a binding registration).
  • If paid membership is false :cross_mark:, the user should be redirected to a checkout page (Stripe) to buy his tickets.

As I understood it we can only catch the membership state if Ghost and also this process runs under the same domain. We do not need to go too much into tech details, but what would be the rough steps to achieve this?

My second question (considering the above) is how and where to manage these events. In understand that Ghost does not have native support for this. Could something like the following work?

  1. we have a page /events in Ghost
  2. this pulls Data from another database (we use Supabase) to list events in a chronological order with “more info” pointing to the detail page and an “register / checkout” which should than trigger (based on the login / membership state) the corresponding checkout page / registration form
  3. Event detail pages … Am a a little bit lost on this, not sure where and how we should manage them. Each event comes with a description and agenda

Any thoughts on that?