Дневник разработки соцсети: репосты постов и произведений; админка; модуль формирования канона
Более подробное описание тут Разрабатываю соцсеть для писателей и сочувствующих. Рассказываю и ищу поддержки
Сегодня я доделал админку. Функционал совсем куцый: может выпускать токены регистрации, отслеживать их и отзывать. Это понадобится для закрытого альфа-теста, чтобы не регистрировать людей самостоятельно, а просто передавать ссылку с активным токеном регистрации. Типа приглашения.
Сделал возможность прикреплять к постам сущности: посты (делать репосты) и работы. Пока с ограничением, что нельзя репостить посты, к которым уже прикреплены сущности. Ограничение для упрощения реализации в моменте. Позже, когда реализую проверку на циклические репосты, ограничение сниму.
Фиксация канона
Это отдельная большая, нет, большущая тема. Функционал фиксации канона вселенной очень важен для для платформы в целом и на него планируется очень много механик.
Очевидное решение — затянуть в систему готовый WIKI движок и строить систему каноничности на нём. Но в планах накрутить сверху много социальных механик, вроде ачивок, рейтинга, прав доступа, систем доверия и т.д. и т.д... Да и WIKI движок штука тяжеловесная. Поэтому решил пилить собственный модуль.
Полная черновая документация занимает несколько тысяч строк .md текста и сюда я вываливать точно не буду, но в основных чертах расскажу.
Во-первых, канон доступен только для особых сообществ типа "Вселенная". Вне сообщества канон создать нельзя. Сообществам типа "Клуб" канон не нужен.
Общая реализация канона — цифровая картотека. То-есть каждый элемент канона обладает собственной "карточкой" с набором параметров и связей с другими карточками и произведениями.
Карточки имеют разные типы, потому что персонаж, локация, артефакт или организация обладают разным набором описываемых качеств.
Типы карточек хранятся в определённых шаблонах. Сообщества могут создавать собственные шаблоны и делать их публичными, либо приватными.
Карточку элемента лора может создать каждый участник сообщества, но по-умолчанию карточка создаётся с типом fanfic и видимостью участники сообщества. Создать карточку сразу в канон могут только доверенные участники сообщества. Сейчас это владелец, но позже количество ролей и способы стать доверенным членом сообщества расширятся.
Если карточка создаётся сразу в канон, то по-умолчанию она скрыта. То-есть видеть её может только создатель. Дальше создатель карточки может открыть видимость на
доверенных членов сообщества
на всех членов сообщества
на всех без ограничений.
Карточку, которая не относится к канону (фанфик) можно предложить в канон. Механику продвижения я ещё не продумал. Думаю, сначала сделаю одобрение только владельцем, либо модераторами. Другие механики в проработке, но пока о деталях говорить рано.
Карточки могут ссылаться на книгу или главу книги, где они появляются или упоминаются. Связь явная, так что позже можно будет строить графы связей.
Аналогично карточки ссылаются друг на друга, причём связь двусторонняя. Например "Персонаж -> владеет -> артефакт" и "Артефакт -> принадлежит -> персонаж". По этим штукам в будущем тоже можно будет строить графы связей. По крайней мере я, надеюсь, найду способ делать это так, чтобы не ронять систему :)
В общем работа движется. Всем спасибо за внимание :)








