Тестовое для backend developer от компании AppBooster 🧑🏻‍💻

При создании мобильных приложений и иногда для тестирования гипотез приходится запускать AB-тесты. Для этого нужна система, представляющая собой простейшее REST API, состоящее из одного эндпойнта.

📲 Процесс: 1. Приложение генерирует уникальный ID клиента 2. Запрашивает список экспериментов с заголовком Device-Token 3. Сервер возвращает список экспериментов

🔑 Для каждого эксперимента клиент получает: • Ключ: имя эксперимента. В клиенте есть код, который будет изменять какое-то поведение в зависимости от значения этого ключа • Значение: одна из возможных опций (см. ниже)

⚠️ Важно: девайс всегда остается в одной группе!

🎨 Эксперимент 1: Цвет кнопки Гипотеза: цвет кнопки "купить" влияет на конверсию

• Ключ: button_color • Опции:

Так после 600 запросов к API с различными DeviceToken каждый цвет должны получить по 200 девайсов

💰 Эксперимент 2: Стоимость покупки Гипотеза: У нас есть гипотеза, что изменение стоимости покупки в приложении может повлиять на нашу маржинальную прибыль. Но чтобы не терять деньги в случае неудачного эксперимента, 75% юзеров будут получать старую цену и только на малой части аудитории мы протестируем изменение.

• Ключ: price • Опции:

  • 10 → 75%
  • 20 → 10%
  • 50 → 5%
  • 5 → 10%

📌 Требования и ограничения: 1. Если девайс однажды получил значение, то он всегда будет получать только его 2. Эксперимент проводится только для новых девайсов: если эксперимент создан после первого запроса от девайса, то девайс не должен ничего знать об этом эксперименте

✅ Задание: 1. Спроектировать, описать и реализовать API 2. Добавить эксперименты (1) и (2) в приложение 3. Создайте страницу для статистики: простая таблица со списком экспериментов, общее количество девайсов, участвующих в эксперименте и их распределение между опциями

🛠 Технологии: любые по вашему выбору

➕ Дополнительные плюсы: • Наличие тестов 🧪 • Задеплоенная версия 🚀 • Скорость ответа сервера <100ms ⚡️

#тестовое | 🍩 Поддержать канал 🫶