📅 Интеграция с 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 это выглядит так:
Пользовательская история: синхронизация событий
- Когда пользователь добавляет новое событие в дневник обработок от varroa или в календарный вид событий, обработок и оповещений, мы должны синхронизировать это событие в одну сторону - в Google Calendar.
- Когда пользователь удаляет синхронизированное событие, мы должны удалить его из Google Calendar.
Двусторонняя синхронизация
- Дать пользователю настройку:
one-way-syncилиtwo-way-sync.- При двусторонней синхронизации нужно будет удалять событие из нашей системы, если пользователь удалит его из Google Calendar. Требуется исследовать, насколько это реализуемо и какие побочные эффекты могут возникнуть.