Пользователи 2ГИС каждый день помогают нам поддерживать точность данных: сообщают о новых компаниях, добавляют дорожные события, загружают фото и пишут отзывы. Раньше мы могли поблагодарить их только словами или устроить розыгрыш подарков. Но слова со временем забываются, а подарки достаются далеко не каждому. Поэтому мы решили сделать так, чтобы все неравнодушные к 2ГИС люди видели свой вклад в продукт и нашу за это благодарность.
Так появились награды — виртуальные медальки, которые мы начисляем за разного рода задания: загрузить фото в карточки кафе, написать отзывы о театрах, уточнить время работы организаций и так далее. Заработанные награды пользователи видят в личном профиле 2ГИС и на вкладке «Мой 2ГИС» в мобильном приложении. Там же мы показываем, сколько осталось до следующего достижения.
Чтобы реализовать эту фичу, мы научились обрабатывать поток событий объемом 500 тысяч записей в час (местами — до 50 тысяч в секунду) и анализировать данные из нескольких сервисов. А еще — добавили немного метапрограммирования для того, чтобы упростить конфигурирование при разработке новых наград.
Вместе с Rapter расскажем, что находится под капотом процесса выдачи наград.