Город55 / Россия

Город живёт быстро. Портал должен успевать.

Разработка новой версии городского портала Омска: новости, объявления, автоматизация модерации и развитие внутренних инструментов.

Наш вклад
Новая архитектура, разработка портала и автоматизация
Продукт
Веб-портал
От заявки до результата
  1. Архитектура

    Независимые сервисы и асинхронная загрузка данных.

  2. Новости и объявления

    Развитие пользовательских сценариев городского портала.

  3. Модерация

    Автоматический анализ объявлений и помощь модераторам.

  4. Внутренние инструменты

    Отчётность, интеграции и автоматизация рабочих процессов.

О проекте

Город55 — городской портал Омска с новостями и объявлениями: недвижимость, автомобили, работа и другие повседневные задачи. К началу проекта существующая версия работала медленно и нестабильно. Мы разработали и внедрили новую версию сайта, переработали архитектуру и развивали инструменты для пользователей и команды портала.

Задачи и решения

Новая архитектура для быстрого отклика

Мы начали с анализа кода и разговоров с разработчиками, менеджерами и службой поддержки. Выяснилось, что страницы долго ждали базу данных и внешние источники: прогноз погоды, курсы валют и другие сервисы. Сбой одного поставщика мог помешать отображению всей страницы.

Приложение разделили на небольшие независимые сервисы. Для внешних источников создали собственные сервисы-посредники, а сайт переработали в одностраничное веб-приложение с асинхронной загрузкой необходимых данных. В результате среднее время отклика страниц сократилось с 4,5 секунды до 400 мс.

Стабильность, которую можно измерить

Для наблюдения за состоянием системы использовали статистическое управление процессами и карты Шухарта. Они помогали замечать отклонения, искать причины и оценивать эффект исправлений. В отдельном кейсе описано, как за три месяца число ошибок, видимых пользователю, сократилось в 10 000 раз относительно старой версии сайта.

Работу дополняли автоматические тесты, непрерывная интеграция в TeamCity и инструменты масштабирования IIS. Скорость и стабильность рассматривались вместе: пользователю важно и быстро получить страницу, и успешно выполнить свою задачу.

Модерация без долгой очереди

Ручная проверка объявлений создавала задержки. Мы изменили процесс и внедрили автоматический анализ текста: система распознавала содержание и искала подозрительные сочетания. Объявления, которые она могла полностью распознать и в которых не находила подозрительных признаков, публиковались автоматически; остальные направлялись модераторам.

Так автоматизация взяла на себя часть повторяющейся работы, а сложные случаи оставались людям. Среднее время модерации объявления сократилось до 30 секунд.

Понятные объявления и удобные сценарии

Работа над порталом включала разбор запросов и текстов объявлений на естественном языке. Например, за словами «двушка в центре» нужно распознать запрос о двухкомнатной квартире. Мы решали такие задачи вместе с развитием UX разделов недвижимости и новостей, инструментов монетизации объявлений и проверки продуктовых гипотез.

Портал как часть рабочих процессов

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

По мере работы требования к отдельным разделам менялись. Поэтому проект охватывал не только выпуск новой версии, но и дальнейшее развитие пользовательских сценариев и внутренних инструментов.

Результат работы

Город55: что изменилось

4,5 с → 400 мс

Сократили среднее время отклика страниц после внедрения новой архитектуры.

30 секунд

Снизили среднее время модерации объявления благодаря автоматизации и изменению процесса проверки.

15 → 3 сервера

Запустили новую версию на меньшем числе серверов. Это стало дополнительным результатом переработки архитектуры.

Инструменты команды

Технологии проекта

Стек, с которым мы работали над Город55.

C#

Логика приложения

T-SQL

Запросы и логика работы с данными

Ext.js

Компоненты веб-интерфейса

TPL

Параллельное выполнение задач

Lodash

Утилиты для работы с данными

Selenium

Приёмочные тесты в браузере

TeamCity

Непрерывная интеграция

IIS

Веб-серверы и балансировка нагрузки

Подробнее о работе

Улучшение скорости отклика страниц в 10+ разКак студенты смогли в 10 000 раз сократить количество баговИскусственный интеллект (AI) модерирует контент

У вашего продукта — своя задача.

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