Tuesday, May 11, 2021

Реализация мультисообществ

В мае 2021 года требуется реализовать возможность сосуществования нескольких сообществ на сайте, в мобильном приложении и в боте Telegram. Этот пост будет содержать план работ и результат.


Таблица сообществ

Планируется, что информация о сообществах будет загружаться из базы. Необходимо описать сущность "Сообщество", создать соответствующую таблицу в Firebase и описать это в документации. 

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


Выбор сообщества

На сайте и мобильном приложении необходимо реализовать экран выбора сообщества. Когда пользователь впервые попадает на сайт, отображается приветствие и приглашение выбрать сообщество. 

Выбор пользователя сохраняется в куках или в локальном хранилище мобильного устройства. Во время второго визита пользователя открывается страница выбранного сообщества. 

Необходимо реализовать экран выбора сообществ. На сайте есть экран "Сообщества" — его необходимо доработать. В мобильном приложении необходимо реализовать новый экран.


Изменения в анонсах

У каждого анонса мероприятия появится привязка к сообществу. Необходимо обновить сущность "Анонс". При создании анонса необходимо указывать индикатор сообщества. Старые мероприятий по умолчанию отображаются в первом сообществе.


Изменения в услугах

У каждой услуги также появится привязка к сообществу. Необходимо обновить сущность "Услуга". При создании услуги необходимо указывать индикатор сообщества. Старые услуги по умолчанию отображаются в первом сообществе.


Отображение анонсов и услуг

В пути URL необходимо указывать название сообщества для правильной навигации. Продумать и описать в документации все варианты роутов (ссылок). Для старых роутов по умолчанию показывать данные первого сообщества.


Обновление закрепа

Закреп — это закрепленное сообщение в чате Telegram. Когда организатор вносит изменения на сайте, бот по необходимости обновляет в чате закрепленное сообщение.

Так как у каждого сообщества свой чат, бот должен обновлять закреп в зависимости от того, в каком сообществе произошли изменения.


Замечания

После реализации у каждого организатора будет возможность создавать анонс в любое из сообществ. Так как за все время ни разу не возникало проблем из-за наличия доступа, то принято решение не заниматься реализацией разграничения доступа организаторов к сообществам.


upd 28.08.2021

Результат

Мультисообщества реализованы. Планировалось сделать за 20 дней, сделано за 3 месяца и 20 дней. 

Далее -- новый дизайн и карта мероприятий.