WES: Как подготовить стартап к выходу на Средний Восток?
00. Worldwide English Services — стартап с богатой историей
INOSTUDIO имеет большой опыт в работе со стартапами. Несколько лет назад мы разрабатывали и продвигали собственный стартап-проект, поэтому хорошо понимаем потребности и боли молодых компаний.
Международный онлайн-сервис для изучения английского языка WES — это стартап с богатой историей и очень важной, на наш взгляд, миссией — повышение качества образования. Мы работаем с WES уже в течение четырех лет, и в этот раз перед нами стояла амбициозная задача — помочь клиенту покорить Средний Восток, а также увеличить продажи на уже покоренных рынках.
01. Грандиозные планы нашего заказчика
Наш Клиент Джаред Фирт четко понимал, что необходимо его бизнесу, когда снова обратился к нам в 2018 году.
Джаред планировал поэтапное внедрение обновлений: доработать существующий функционал, реализовать новые фичи и сделать редизайн лендинга. Но когда шел активный процесс разработки, приоритет клиента изменился в сторону развития стартапа в арабских странах. Поэтому план выпуска был экстренно пересмотрен, и все версии с модификациями были опубликованы в течение одной недели.
02. WES с точки зрения дизайна
В процессе работы над дизайном лендинга мы подготовили вайрфреймы — схему взаимодействия между экранами. Клиент смог визуально увидеть сценарий поведения пользователя, что позволило отказаться от избыточных экранов, которые ранее казались необходимыми. Именно поэтому мы всегда подходим к работе над дизайном комплексно.
Поскольку основную аудиторию WES составляют корпоративные клиенты, наши дизайнеры ориентировались на деловой стиль сайта. Мы обсудили целевые портреты пользователей, принимающих решение о сотрудничестве с WES, и все визуальные материалы готовили с учетом этих данных.
Перед нами стояла задача вызвать доверие у основной аудитории. Джареду важно было показать, как изменятся показатели бизнес-пользователей после старта сотрудничества. Для этого были построены графики. Информации, которую хотелось отобразить, достаточно много, поэтому графики интерактивно меняются, чтобы не превращать страницу в длинное полотно.
03. Три команды — одна общая цель
С момента начала разработки команды не один раз менялась. Мы были третьими.
Сразу после старта работы с заказчиком команда INOSTUDIO столкнулась с некоторыми трудностями. Мы не получили никакой технической документации о проекте, а вся инфраструктура будущего сервиса нигде не была зафиксирована. К счастью, у нас был налажен контакт с предыдущей командой разработки, поэтому в режиме диалога удалось получить всю необходимую информацию.
Хочется обратить особое внимание на то, что документирование проекта — очень важная часть процесса разработки. Это и забота о текущих разработчиках, которые поддерживают проект, и о новых специалистах, которым необходимо будет погрузиться в проект в будущем.
04. Работа над оптимизацией
Клиенту было важно, чтобы специалисты сделали упор на скорость разработки. Поэтому прошлая команда использовала достаточно общие и наивные подходы для получения данных со стороны API. В результате чего, когда количество пользователей начало увеличиваться, система стала очень медленно отвечать на запросы. В итоге нашей команде пришлось прибегнуть к различным оптимизациям, внедряя сложную бизнес-логику. Вот некоторые из них:
-
Календарь: вместо получения одного списка всех уроков была внедрена постраничная загрузка данных. В результате увеличилась скорость загрузки календаря и снизилась нагрузка на сервер. Также была решена проблема невозможности отображения в календаре более 1000 уроков.
-
Пагинация и фильтрация: для увеличения скорости загрузки страниц была внедрена пагинация. Таблицы с большим количеством данных и немалое число пользователей теперь не влияют на работоспособность сервиса. Для быстрого поиска нужной информации была реализована фильтрация данных.
-
Чат: в первых версиях сервиса в чате отображался весь список пользователей, с которыми происходило взаимодействие (для преподавателей это было крайне неудобно). Было принято решение пересмотреть принцип построения списка недавних контактов: выбираются только те пользователи, с которыми была переписка в последние несколько недель. Также были внесены некоторые правки в алгоритм загрузки истории сообщений: подгружаются несколько последних сообщений, остальные по необходимости.
05. Контроль качества
До того, как команда INOSTUDIO взялась за работу над сервисом WES, на проекте не был поставлен процесс контроля качества. Технические специалисты разрабатывали фичи и сразу же их «заливали». Проект был сырой, а времени мало.
Для того чтобы взять ситуацию под контроль, мы незамедлительно подключили команду тестировщиков, которая занялась получением данных о работе существующей функциональности и тестированием новой. За короткое время нам удалось вывести качество сервиса WES на должный уровень.
06. Технические особенности проекта
Сервис, на котором производится обучение студентов, реализован в виде SPA (Single Page Application) с Laravel RESTful API на backend и TypeScript, React+Mobx на frontend.
На проекте были применены Swagger UI, инструмент для автоматической генерации документации по спецификации из кода, и Swagger Codegen — инструмент для автоматической генерации клиентских библиотек по спецификации из кода. Это позволило помимо автоматического создания документации генерировать клиентскую библиотеку для frontend и поддерживать её в актуальном состоянии при изменении API.
07. Личный баланс и система переноса занятий
В изначальных требованиях клиента была заложена система оплаты каждого счета по отдельности. С развитием проекта было необходимо:
— переработать систему оплаты для партнеров;
— скорректировать расчет вознаграждения для учителей;
— предоставить возможность владельцу сервиса устанавливать индивидуальные стоимости различных типов пакетов для каждого партнера;
— разрешить фиксировать изменения суммы вознаграждения для учителей при изменении их контракта.
Мы изучили новые требования, предоставленные клиентом, проанализировали поведение пользователей и нашли более удобный вариант системы оплаты.
Система фиксирует стоимость пакета занятий для партнера в момент его создания и утверждения учителем. Также для каждого проводимого урока устанавливается определенная сумма вознаграждения учителя. После этого система формирует для всех заинтересованных лиц ежемесячные счета на оплату/выплату денежных средств. Каждый счет подкрепляется счет-фактурой и актом выполненных работ. Для оплаты своих занятий пользователи сервиса пополняют счет в личном кабинете и далее распределяют средства между всеми своими счетами.
В сервисе реализована функция электронного расписания занятий, которая учитывает разницу часовых поясов всех пользователей. Однако не всегда занятия проходят по заранее намеченному расписанию. У обучающихся бывают разные жизненные ситуации, когда необходимо оперативно перенести занятие на другое время.
Для решения этой задачи была реализована система переносов занятий. Казалось бы, что может быть проще переноса занятия, найди свободное время и скажи, что урок будет тогда-то. С одним учеником — это понятно, просто! А если несколько групп с представителем, который должен собрать каждую в одно время?
Наше решение позволяет автоматизировать процесс переноса занятий как одиночных, так и групповых. В каждой ситуации система предоставляет пользователям сервиса возможность переноса урока или серии в более подходящее время для всех участников, учитывая при этом загруженность учителя. Сервис опрашивает каждую из заинтересованных сторон о возможности переноса урока на требуемую дату, отправляя необходимые уведомления в течение всего процесса переноса занятия, а также контролирует все временные рамки. Кроме того, есть возможность оперативного решения различного рода вопросов с помощью реалтайм-чата.
08. Результат
С 2015 года проект развился из локального стартапа в международный сервис. Благодаря плодотворному сотрудничеству клиенту удалось быстро выйти на новый рынок Среднего востока.
Опираясь на базу клиентов можно с уверенностью сказать, что количественные показатели проекта после обновления выросли. Число студентов возросло в два раза, и также появились еще 4 новые компании-партнеры, которые обучают своих сотрудников, используя данный сервис.
В первоначальной версии сервиса занятия в группе от двух до шести человек проводились по фиксированной цене. Конечно, это было невыгодно для группы с малым количеством учеников. Было принято решение разделить такую форму занятий на малые (до трех человек) и большие (от четырех до шести человек) группы с соответствующей стоимостью. В результате популярность выбора комфортной формы обучения увеличилась в разы, а именно с 4 до 60 групповых занятий.
Перейти на сайт
Полный текст статьи читайте на CMS Magazine