**Every help, thoughts, ideas, adviseS on this will be very appreciated **
I have an event app launching next week. After some beta testing and demos with potential users, I am considering adding new features and need some advise on this.
The App :
This is an event app, where users can create and/or book events.
Events have different data fields (start and end date, number of participants, max number, etc.), have a list of options/parameters (paid/free, online/Irl, categories…) and have also lists (list of participants, lists of bookings…).
The problem :
For the purpose of my app and my company, I build the app considering only unique events (meaning happening one time only).
Though, an event could be duplicate easily by the event creators if he wants do do it again.
**I am now considering adding the ability to create recurring events, (meaning once it sets, it is available, bootable every day/weeks/or months during a time period ) and I am trying to figure out what would be the best database structure to allow it ?
Below are a few options I consider and limits I see. Please if anyone has experience in it or good advise / point of view, let me know !**
1. Adding List of dates and time
I could just add a field in the Events Data types with a list of date for each date the event will happen. This looks like the fastest and easiest option ! Just has to add dates based on rules defined by the user and with a time limit (one year for example).
But I see a number of limits here : cant change something for only one date/time, like number of participants, if it’s online or IRL, price, and so on. Would certainly limit things in time.´ for the event creator as something always happen.
**2. Create a master and it’s occurrence : **
I could change my initial data structure : create a « master event » with field that are not supposed to change in time (title, description…) and « occurrence » with everything that could be changed from time to time. So unique events has a list of 1 « occurrence » and recurring has a list of xxx occurrence…
This sounds pretty good! But when looking at my data, I think almost every field could potentially have the need to be modified by the events owner … so doesn’t really works because I would have almost nothing in the Master data Type.
**3. Duplicate the event x times through backend workflows : **
I ended up thinking the best way would definitely be this : when a user create a recurring event, I will let them set their rules (for example every week on Tuesday and friday) with of course some restrictions and a time limit. When the event is created, It launch a backend workflow to « duplicate » the event for each coming date, till the limit date.
So for example, it could be a recursive workflow creating the Tuesdays and Fridays event for the next 3 month.
Then, a month or so, prior to the last event, I could either email The user to ask him/her to set the date for the next months, or automatically do it with a schedule workflow that repeat the process : duplicate this event every tuesdays and fridays for the next 3 months…
I believe this last option is very powerfull and open full control for the user for each date/time, and would be exactly what I need to offer to my user, and the best solution regarding my actual data Structure.
My main concern for this is the size of the Data, and how it could affect performance and storage in the long run ?
If I have 100 users having 1 event happening 5 times a week, which is not that much, it’s 500 events/weeks, 2000/months.
Bubble could handle that this way ? Will it turn my data base into a big mess ? Will it slower the app ?
Thank you very much if you read this and have any ideas or comments