📅 Интеграция с Google Calendar

Чтобы помочь пчеловодам вести дневник обработок от varroa и планировать события без постоянного открытия нашего приложения, нужно интегрировать популярный Google Calendar и синхронизировать события.

Пользовательская история: подключение и отключение сервиса

  • Я захожу в web-app → страницу настроек → Google integration.
    • Попросить Designer (UX / UI / Industrial) спроектировать страницу Google-интеграций или сделать самостоятельно.
  • Я нажимаю кнопку Connect, чтобы авторизовать доступ к Google API и данным календаря пользователя.
    • Нужны разрешения на добавление, редактирование и удаление событий в календаре.
    • Здесь потребуется опыт работы с OAuth.
    • Можно переиспользовать код и опыт из user-cycle, где уже есть вход через Google.
    • После OAuth-процесса нужно сохранить Google-токены в нашей базе данных, таблице и сервисе.
  • Если я авторизовал доступ к Google Calendar, меня перенаправляет обратно на ту же страницу. Вместо кнопки Connect я должен увидеть Disconnect.
    • Если я нажимаю Disconnect, нужно очистить сохранённые токены.

Пример меню в приложении Pipedrive.

Пример UI синхронизации календаря в Pipedrive.

Пример диалога для ввода пользовательского email для синхронизации календаря.

  • Когда мы получим токены и доступ, нужно выбрать, какой calendar использовать для наших событий, если у пользователя несколько календарей. Например, в Google Calendar это выглядит так:

Пользовательская история: синхронизация событий

Двусторонняя синхронизация

  • Дать пользователю настройку: one-way-sync или two-way-sync.
    • При двусторонней синхронизации нужно будет удалять событие из нашей системы, если пользователь удалит его из Google Calendar. Требуется исследовать, насколько это реализуемо и какие побочные эффекты могут возникнуть.