Одна ссылка. Разные маршруты.
Разработали сервис коротких ссылок с правилами переадресации по времени, датам и местоположению и аналитикой переходов.
- Наш вклад
- Собственный продукт: разработка сервиса и интерфейса
- Продукт
- SaaS-платформа
Создать ссылку
Задать адрес назначения и описание, чтобы легко найти ссылку позже.
Настроить правила
Выбрать условия по времени, датам, дням недели и местоположению.
Направить посетителя
Применить подходящее правило или использовать адрес по умолчанию.
Посмотреть аналитику
Сравнить переходы по направлениям, платформам, браузерам и географии.
О проекте
LYNX.LAND — внутренний проект HWdTech для создания коротких ссылок и управления переадресацией. За одной ссылкой можно закрепить адрес по умолчанию и несколько правил: куда отправить посетителя в зависимости от условий. Мы разработали серверную часть и интерфейс управления, объединив ссылки, правила и статистику в одном сервисе.
Короткая ссылка с управляемым назначением
Длинный адрес неудобно передавать и трудно узнавать среди других ссылок. В LYNX.LAND пользователь создавал короткую ссылку, задавал адрес назначения и добавлял описание. Личный кабинет позволял хранить и редактировать ссылки в одном месте.
Переадресация по условиям
Для одной ссылки можно было настроить несколько правил: ограничить действие определёнными датами, временем суток, днями недели или местоположением посетителя. Например, одна и та же ссылка могла вести на страницу акции в заданные даты, а в остальное время — на основную страницу. Это пример использования механизма правил.
Сервис выбирал первое подходящее активное правило. Если ни одно не совпадало, переход выполнялся по адресу по умолчанию. Такой подход позволял сочетать специальные сценарии с обычной переадресацией.
Понимать, куда ведут переходы
В интерфейсе были доступны графики по четырём параметрам: адресу переадресации, платформе, браузеру и местоположению. Пользователь мог выбрать период — день, неделю, месяц или год — и посмотреть распределение переходов.
Сервер агрегировал события в MongoDB по времени и выбранному параметру. Для ссылок с несколькими правилами аналитика по адресу назначения помогала увидеть, как переходы распределялись между разными направлениями.
От серверной логики до личного кабинета
Серверную часть построили на Node.js и Express, данные хранили в MongoDB с использованием Mongoose. Интерфейс разработали на Ember.js с Ember Data и компонентами Ember Paper; оформление — на Sass.
В проекте предусмотрели русский и английский интерфейсы. Для тестирования использовали Jest и Supertest на сервере, QUnit и Sinon на клиенте. Сервер и веб-приложение развивались в одном репозитории.
Собственный продукт команды
Работа над описанной версией началась в ноябре 2017 года и потребовала двух человеко-месяцев. Проект объединил разработку пользовательского интерфейса, логику выбора маршрута и обработку статистики — от создания ссылки до анализа переходов по ней.
LYNX.LAND: что изменилось
Правила переходов
Время суток, диапазон дат, дни недели и местоположение определяют, куда ведёт ссылка.
4 среза аналитики
Адрес назначения, платформа, браузер и местоположение. Статистику можно смотреть за день, неделю, месяц или год.
2 человеко-месяца
Объём работ над описанной версией сервиса. Разработка началась в ноябре 2017 года.
Технологии проекта
Стек, с которым мы работали над LYNX.LAND.
Node.js
Серверная среда JavaScript
Express
Серверный веб-фреймворк
MongoDB
Документная база данных
Ember.js
Интерфейс и логика веб-приложения
Sass
Стили и оформление интерфейса
Lodash
Утилиты для работы с данными
Jest
Автоматические тесты сервера
QUnit
Тестирование веб-интерфейса
Sinon
Подмена зависимостей в тестах
У вашего продукта — своя задача.
Обсудим, что нужно вашим пользователям и как превратить это в работающий продукт.