Hello everyone,
I have an application that relies heavily on a Calendar feature, which is the primary function of my app. However, every time users open the calendar, it requires loading all their appointments, which is putting a strain on my application. Users open the calendar multiple times a day, and currently, it consumes 50% of my WUs.
The calendar acts as the “home page” of the system, so every time a user logs in, it opens directly to the calendar. I’m using the Air Calendar plugin from Zeroqode.
Each time the page loads, I use a hidden RG element on the screen to retrieve the user’s appointments, as shown in the screenshot.
However, this query, triggered each time the page loads, is overloading my application significantly. The calendar is accessed multiple times a day by the same user and is also frequently updated, as users create, delete, and edit appointments throughout the day.
I need to find a way to optimize this query, but I’m not exactly sure how. I’m considering two alternatives:
- Migrate the database to Supabase. However, this application has been in use for three years and has various workflows already set up, so the migration would be extremely risky and complex.
- Use custom sets and an Appointment List field to fetch the most recent appointments. However, I’m not certain if this would be feasible.
Or, I’m not sure if it’s possible to save the search data in cache for a certain period to prevent Bubble from running the appointment query repeatedly.