I can't imagine using a third party service for this as calendar data is pretty confidential. Would probably have saved us a lot of time if this were an open source project though so we could use our own database.
What was your motivation for working on something like this? That would be hugely helpful for us to understand!
We also just decided to go ahead and open-source it: https://github.com/belvinlabs/proost-app. (Very rough; hit us up for help if you'd like to get involved.)
Will take a look!
Questions? Feedback? All very very welcome!
We chose MySQL based on the following requirements:
- It should be easy to write data to a database created by us, or hosted (on-premise) by a customer due to the sensitive nature of the data (which excludes Google Cloud Spanner and Amazon Aurora)
- As the purpose of this data is analyzed, the DB should be compatible with most BI tools (which excludes SQLite)
- There should be no vendor lock-in
- Due to the analysis purpose of this tool, we prefer a database that focusses on read performance vs write performance (MySQL > PostgreSQL)
- The Calendar Events table can grow long and we don't anticipate it getting wide, which favors row-based databases vs column-based databases (MySQL > Redshift)
- I personally use the WITH and WITH RECURSIVE statements a TON when doing analysis which originally excluded MySQL, but with the launch of MySQL 8, that no longer was an issue.
- We can easily build export functionality to SQLite
For all these reasons, we thought (and think) that MySQL 8 fits the use case quite well and we can relatively easily support other RDBMS databases if needed. Would love to hear your thoughts!
(Also just because LAMP stacks are popular, it doesn't mean they're much more than toys)
At the moment, the tool just syncs events from one month in the past through one month in the future, so it will pick up a finite subset of a potentially infinite series of recurring events. In future iterations, we imagine users defining their own timeframe to sync.
We'd love to hear how you'd like to use it, whether in the comments here or through Issues in that repo. That's hugely helpful to us right now!