Схема базы данных для приложения для календаря / встреч, такого как Google Calendar - PullRequest
0 голосов
/ 04 ноября 2019

В настоящее время я работаю над приложением календаря, похожим на календарь Google, где вы можете забронировать повторяющиеся события, иметь «слоты» (выделенное время, когда другие люди могут записаться на встречу в вашем календаре) и другие подобные вещи.

Я ищу некоторые ресурсы или руководства о том, как правильно построить эту модель данных. У нынешней модели есть некоторые серьезные проблемы, которые, я чувствую, уже решены, и я заинтересован в поиске этих решений.

Наше текущее решение:

Назначение - содержит всю базовую информацию о назначении

Событие назначения - связано с назначением, имеет место для каждого повторяющегося события

Участник встречи - связанный с назначением, держит, кто посещает встречу.

Некоторые проблемы с этим:

  • Мы должны удалить и повторносоздавать все вхождения, когда кто-то редактирует одно событие в повторяющемся событии

  • Участник привязан к встрече, поэтому отдельные события не могут иметь разных участников. Если вы редактируете участника, он создает исключение (которое становится его собственным назначением)

и множество других проблем. Мне бы хотелось многое изменить, и я хочу попытаться найти правильный путь.

Спасибо за помощь !!

...