Как создать бэкэнд для функции напоминания, как в Google Calendar, используя django и python?

Мне нужно реализовать функцию, которая имеет повторяющийся характер. Пользователь сможет установить напоминание, и это напоминание будет иметь определенную частоту. Типы частоты следующие:

  1. Ежедневно
  2. Еженедельно
  3. Двухнедельные
  4. Месяц
  5. Bimonthly
  6. Квартальные
  7. Полугодовой
  8. Годовой
  9. Двухгодичный

И в довершение всего мне нужно позволить пользователю добавить опцию "напомнить мне за {x} часов до {запланированного напоминания}" Пожалуйста, помогите!

Может ли кто-нибудь объяснить мне, какие технологии мне нужно будет использовать для создания такой функции? Точнее говоря, чтобы создать бэкэнд для нее.

Я провел некоторое исследование и узнал о Celery & Redis как о способе, который следует использовать помимо задания Cron. А потом, узнав о Celery-Beat, я сдался. Почему? Потому что все это очень запутанно и сложно. Я не уверен, что это правильный путь или нет. Мне кажется, что это можно сделать неэффективным очень легко, если делать это грубой силой, или очень сложным, если делать это эффективно.

Вернуться на верх