Разработка социальной сети для соседей Вместе
«Вместе.ру» (сайт и мобильное приложение) – масштабный проект федерального уровня. Он представляет собой информационную платформу и социальную сеть для соседей во всех регионах РФ.
Экосистема «Вместе.ру» создана для активных граждан, которые привыкли держать под контролем вопросы ЖКХ и недвижимости. С помощью сервиса пользователи могут эффективно управлять недвижимостью, оставаться на связи с соседями, управляющей компанией, бизнесом в пешей доступности и органами власти.
Цели и задачи проекта
Перед нами стояла задача создать высоконагруженный онлайн-сервис с обширным функционалом:
- Кооперировать пользователей по жилищному признаку (дом, регион, муниципалитет).
- Обеспечивать связь между жителями домов, управляющими компаниями, бизнесом и органами власти с помощью социальной сети, сообществ и мессенджера.
- Оплачивать услуги ЖКХ и оформлять заявки в диспетчерскую службу.
- Проводить собрания собственников помещений онлайн.
- Получать важную информацию о событиях жизни региона, муниципалитета и домовладения.
Команда разработки
DD Planet занимается разработкой и развитием проекта с августа 2017 года по настоящее время в рамках направления “Интеграция”. Проект реализует выделенная команда из нескольких десятков разработчиков, включая отдельную группу мобильной разработки. Заказчик и специалисты на его стороне активно участвуют в ходе реализации проекта, что говорит о полноценной работе совместной Agile-команды клиента и исполнителя.
Реализованный функционал
1. Авторизация / регистрация пользователей с возможностью подтверждения аккаунта через Госуслуги
Зарегистрироваться в сервисе можно в одной из трех ролей: собственник недвижимости, арендатор или проживающий. В последних двух случаях требуется подтверждение от собственника недвижимости. Для подтверждения личности пользователя внедрена интеграция с сервисом Госуслуги.
2. Добавление недвижимости
Пользователь может добавлять N-число своих объектов недвижимости (как арендованных, так и тех, что находятся у него в собственности/сожительстве).
Вся информация об адресах недвижимости собирается из ГИС ЖКХ и ФИАС (дата постройки, название обслуживающей УК и тд.). Право владения подтверждается автоматически с помощью запроса выписки ЕГРН через интеграцию с Росреестром.
3. Стартовый экран – лента новостей
В ленту агрегируется контент из сообществ, в которых состоит пользователь. Типы нужного контента (новости, опросы, мероприятия и пр.) можно выбрать в настройках. Лента обновляется в режиме реального времени.
4. Сообщества
Система автоматически формирует сообщества по адресам (домам) и создает территориальные сообщества по районам, регионам, городам. Пользователи могут самостоятельно создавать сообщества по интересам, наполнять их контентом, организовывать внутренние чаты и пр.
На основании данных ФИАС генерируются домовые сообщества, а для объединений пользователей в районы и микрорайоны (для городов с населением свыше 300 тыс.) используется информация из 2Gis.
5. Связь с управляющей компанией и оплата ЖКУ
Данный раздел предоставляет пользователям доступ к взаимодействию с управляющей организацией. В нем подключены возможности управления лицевым счетом, оплаты квитанций, сдачи показаний индивидуальных приборов учета, создания и отслеживания заявок в диспетчерскую службу.
6. Чаты – полноценный мессенджер в приложении
7. Панель администратора
Для администраторов сервиса «Вместе.ру» была создана самописная админ-панель, в которой доступны следующие функции:
- Модерация голосований.
- Создание и модерирование контента в сообществах.
- Модерирование запросов на подключение УК и добавление их новых адресов (если адрес УК не смогли получить из ГИС ЖКХ).
- Просмотр информационного среза по количеству новых пользователей, нового контента и т.д.
Бэкенд
1. Чат
В качестве технологии для хранения и поиска истории сообщений в чатах был выбран известный движок Elasticsearch. Его главные преимущества:
- Большие возможности горизонтального масштабирования. При увеличении количества пользователей в системе достаточно подключать новые сервера, что исключительно важно для развития smart-сервиса с постоянно растущими нагрузками.
- Elasticsearch используют многие крупные бренды и проекты, например: Microsoft, IBM, Cisco, Facebook, GitHub, Stack Overflow, LinkedIn, Ebay, Volkswagen, NewYorkTimes, BBC и др. Команда DD Planet внедряет данный инструмент в крупных собственных и клиентских проектах.
2. Сервис нотификаций
В качестве технологии для хранения нотификаций и уведомлений мы выбрали MongoDB. Это было сделано по нескольким причинам:
Нереляционная база данных, т.к. структура нотификаций может меняться в зависимости от времени и типа нотификации. Удобные запросы по полям. Отсутствие связей между контентом и необходимости проводить операции соединения. Хорошо масштабируется на много узлов через шардинг.
3. Push-уведомления в режиме реального времени
Технология SignalR
- Двустороннее общение между клиентом и сервером.
- Удобный клиент.
- Многофункциональные .NET библиотеки для работы с сессиями клиентов
4. Стек технологий
Для бэкенд-разработки проекта использовались C# и ASP.NET. Их выбор обусловлен значительной экспертизой DD Planet в этих технологиях, накопленной в течение 16 лет использования.
Фронтенд
Фронтенд-разработка велась на современном javascript-фреймворке ReactJS, написанном разработчиками компании Facebook.
- Virtual DOM повышает производительность высоконагруженных приложений, что снижает вероятность возникновения возможных неудобств и улучшает пользовательский опыт.
- Использование изоморфного подхода помогает производить рендеринг страниц быстрее, тем самым позволяя пользователям чувствовать себя более комфортно во время работы с приложением.
- React также используют в Airbnb, Uber, Netflix, Twitter, Pinterest, Reddit, Udemy, Wix, Paypal, Imgur, Feedly, Stripe, Tumblr, Walmart и других крупных компаниях.
Мобильное приложение
Мобильное приложение реализовано для iOS и Android с помощью технологии Xamarin — фреймворка для кроссплатформенной разработки приложений с использованием языка C#.
Использован комбинированный подход в разработке: общая бизнес-логика и нативные инструменты для описания визуальной составляющей.
Более 50% кода написано единожды и используется на двух платформах.
В приложении реализовано порядка 200 экранных форм.
Результаты
Сейчас в сервисе «Вместе.ру» зарегистрированы несколько десятков тысяч пользователей по всей России.
В 2020 году количество новых установок приложения в месяц измеряется тысячами.
К сервису подключены крупные управляющие компании, органы власти и бизнес-структуры.
Проект продолжает активное развитие. Сейчас ведутся работы по расширению функционала чатов, улучшению контентной ленты, интеграции с доп. сервисами.