To help beekeepers do Varroa Treatment diary and plan their events without the need of using our app all the time, we should integrate popular google calendar to synchronize events
User story: (dis-) connecting service
- I go to web-app → settings page → google integration
- I click
Connect
button to authorize access to google API and user’s calendar data
- it will need permissions to add/edit/delete events in calendar
- proficiency with OAuth is needed here
- we should be able to reuse some code and experience in user-cycle that does user-cycle - Login with google
- after OAuth process, we should store google tokens in our DB [table and service t
- If I authorized google calendar access, I get redirected back to same page, now instead of
Connect
button, I should see Disconnect
- if I press
Disconnect
, we should cleanup stored tokens

example of the menu in Pipedrive app

an example of UI for Calendar sync in Pipedrive

An example dialog to enter custom email for calendar sync
- Once we get tokes and access, we should select which
calendar
we use for our events in case user has multiple calendars, for example in google calendar I mean these below →

User story: event sync
Two-way sync
- Allow user to have a setting.
one-way-sync
or two-way-sync
.
- In case of two-way sync, we would need to delete event from our system if user deletes it from google calendar. Research needed if this is doable and if there will be any side effects