
Последнее время всё чаще думаю о том, чтобы собрать в отдельный компонент для InstantCMS то, что уже довольно долго разрабатывается и используется на нашем сайте знакомств oneinmoscow.com.
Причём речь не о том, чтобы однажды с нуля написать какой-то Dating.
По сути, значительная часть системы уже существует и работает на реальном проекте.
Она постепенно создавалась из вполне практических задач: нужен был нормальный каталог анкет, потом появились цели знакомств, продвижение, лайки, флирты, посетители профиля, уведомления, дополнительные действия с анкетами и многое другое.
В какой-то момент стало понятно, что из всего этого уже начинает складываться самостоятельная система знакомств для InstantCMS.
Основой является компонент Dating.
Главная идея была в том, чтобы не создавать вторую отдельную систему пользователей.
InstantCMS уже умеет работать с пользователями, профилями, личными сообщениями, фотографиями, уведомлениями и другими стандартными возможностями.
Поэтому Dating использует существующие аккаунты InstantCMS, но превращает их в полноценные анкеты знакомств.
Сейчас на oneinmoscow.com уже реализован отдельный каталог знакомств с фильтрацией пользователей.
Можно искать анкеты по основным параметрам, возрасту, городу и целям знакомства.
Причём цели — это не просто одно фиксированное значение.
Пользователь может указать несколько вариантов того, для чего он находится на сайте.
Например:
серьёзные отношения;
дружба и общение;
романтические отношения;
совместное времяпровождение;
встреча или свидание.
Под каждую цель можно фактически формировать отдельную выборку анкет.
То есть Dating становится не просто страницей со всеми пользователями, а отдельным каталогом со своей логикой.
Каталог анкет
Сам каталог тоже постепенно ушёл довольно далеко от стандартного списка пользователей.
Есть фильтрация, пагинация, карточки анкет, фотографии и быстрые действия.
Отдельно можно показывать рекомендуемые анкеты.
Можно учитывать активность пользователя и выводить тех, кто недавно был на сайте.
В профиле отображается последний визит.
Есть счётчики просмотров анкеты.
Сам профиль при этом остаётся обычным профилем пользователя InstantCMS, то есть не приходится дублировать данные между двумя разными системами.
И мне кажется, это один из главных плюсов такого подхода.

Продвижение анкеты
На сайте уже работает и отдельная механика продвижения.
Пользователь может сделать свою анкету более заметной.
Например, поднять её в каталоге или получить дополнительное выделение.
Для сайта знакомств это довольно важная функция: когда пользователей становится много, обычная анкета достаточно быстро уходит вниз.
При этом продвижение можно связать с биллингом InstantCMS.
То есть не нужно городить ещё одну внутреннюю валюту и отдельную платёжную систему — можно пользоваться тем, что уже предусмотрено CMS.
В дальнейшем это может позволить администратору самому задавать стоимость различных вариантов продвижения.

Просмотры профиля
Ещё одна уже реализуемая часть системы — посещения анкет.
Для знакомств это одна из самых естественных механик.
Открыл кто-то твою страницу — интересно узнать, кто это был.
И подобные вещи действительно заставляют пользователей возвращаться на сайт.
Можно развивать это дальше: показывать историю посетителей, ограничивать часть возможностей статусами или, например, уведомлять пользователя о новых просмотрах.

Лайки
Следующий уровень взаимодействия — симпатии.
В каталоге и профиле недостаточно одной кнопки «Написать сообщение».
Большинство людей сначала просто смотрят анкеты.
Поэтому намного проще дать возможность одним нажатием показать человеку:
«Ты мне понравился».
Если второй пользователь отвечает тем же, получается взаимная симпатия.
И это уже хороший повод начать разговор.
Подобные механики особенно хорошо работают на мобильных устройствах, где человек может просматривать анкеты и реагировать буквально одним нажатием.
Флиртики
Отдельно на oneinmoscow.com появилась механика, которую я условно называю «Флиртики».
Это уже не просто лайк.
Пользователь может отправить другому человеку небольшой знак внимания.
Условно это может быть:
❤️ симпатия
🔥 флирт
или любое другое действие, которое задаст администратор.
Смысл в том, что для начала общения совершенно необязательно сразу придумывать первое сообщение.
Иногда проще отправить знак внимания и посмотреть на реакцию.
Получатель получает уведомление, видит отправителя и может перейти к его анкете или ответить.
Для сайта знакомств это, казалось бы, небольшая функция, но именно из таких мелочей и складывается ощущение живого сервиса.

Действия прямо из анкеты
В результате вокруг профиля пользователя постепенно сформировался целый набор действий.
Из анкеты можно:
написать сообщение;
поставить лайк;
отправить флирт;
добавить пользователя в друзья;
перейти к другим стандартным действиям InstantCMS.
При этом стараюсь не превращать интерфейс в огромное количество текстовых кнопок.

Основные действия можно представить компактными и понятными иконками, особенно в мобильной версии.

Уведомления
Все эти механики мало что дают без нормальной системы уведомлений.

Поэтому события знакомств связаны с уведомлениями InstantCMS.
Пользователь должен понимать, когда им заинтересовались:
поставили лайк;
отправили флирт;
произошло взаимное действие;
пришло сообщение;
произошло другое важное событие.
Для отдельных событий используются также почтовые уведомления.
В итоге Dating получается не изолированным приложением внутри CMS, а использует уже существующую инфраструктуру InstantCMS.
И именно этого мне изначально хотелось добиться.
Что в итоге получилось
Если посмотреть на систему целиком, сейчас вокруг Dating уже существует довольно много механик:
Каталог знакомств
отдельный вывод анкет и фильтрация.
Цели знакомства
с возможностью использовать несколько целей.
Рекомендуемые анкеты
для дополнительного продвижения пользователей.

Последний визит и активность
чтобы было видно, насколько анкета живая.
Просмотры профиля
одна из основных механик интереса между пользователями.
Лайки
быстрый способ показать симпатию.
Взаимные симпатии
естественный повод начать общение.
Флиртики
небольшие знаки внимания без необходимости сразу писать сообщение.
Личные сообщения
через стандартную систему InstantCMS.
Друзья
тоже остаются частью общей экосистемы CMS.
Продвижение анкеты
с возможностью использования биллинга.
И всё это работает не как отдельная социальная сеть рядом с InstantCMS, а поверх самой InstantCMS.
Может быть, пора собрать всё это в компонент?
И вот здесь у меня как раз появились размышления.
А что, если постепенно привести всё это в порядок, отвязать специфические вещи от oneinmoscow.com и сделать нормальный устанавливаемый Dating для InstantCMS?
Чтобы человек мог поставить InstantCMS, установить компонент и получить основу собственного сайта знакомств.
Не обязательно огромный Tinder с миллионом функций.
Но нормальную базу:
каталог анкет → цели → поиск → лайки → флирты → просмотры → продвижение → сообщения → дополнительные механики.
Причём я бы не хотел делать один огромный монолит.
Некоторые функции вполне могут существовать отдельно и пригодиться вообще на других сайтах InstantCMS.
И один такой компонент как раз уже появился.
Подарки
На сайте знакомств мы дошли ещё до одной вполне ожидаемой функции — виртуальных подарков.
Пользователь может выбрать подарок и отправить его другому пользователю.
Подарки разбиваются по категориям, для них можно задавать стоимость, использовать баланс или рейтинг, управлять доступностью и другими параметрами.
Есть возможность отправки подарка анонимно.
Сам подарок связан с пользователями InstantCMS и может отображаться в их активности и профиле.
Но самое интересное здесь в другом.
Для работы подарков совершенно необязательно иметь сайт знакомств.
Они вполне могут использоваться:
в социальной сети;
на форуме;
в сообществе;
на тематическом портале;
практически на любом сайте с активными пользователями.
Поэтому именно «Подарки» я решил попробовать вынести в самостоятельный компонент.
Можно считать, что это первый небольшой кусочек той системы, которая сейчас работает на oneinmoscow.com.
Так что мысли о Dating пока остаются мыслями...
Но, похоже, начало уже положено. 🙂



А как вы боретесь или планируете с анкетами и фотографиями 18+ ну и как верификация личности. Где гарантия что анкету создали не от имени другого человека, а претензия и статья прилетит владельцу ресурса 🤷
никак не борюсь, за 10 лет претензий не было, для таких случаев предусмотрена почта abuse
никому не нужно, ясно понятно
По моему эта сфера полностью ушла в телефоны/приложения.
Почему не нужно? Вы же просто описали возможности системы, но предложений о продаже или чего другого в тексте нет.
Вот мне бы было интересно взять вашу готовую систему и разместить ее на поддомене, будет не будет работать это уже другой вопрос.
поклацать можно тут oneinmoscow.com
Отлично, замечательно