Как проходила разработка приложения Клиент пришёл к нам с первым вариантом приложения на непопулярной технологии PhoneGap/Cordova. В рамках проекта требовалось переписать приложение на более перспективную технологию, React Native. Этот фреймворк позволяет создавать кроссплатформенные мобильные приложения с помощью единого кода для iOS и Android, которые практически не отличаются от нативных по внешнему виду, возможностям и производительности.
Race Chasers решили, что в первую очередь приложение должно показывать список спортивных мероприятий. Решили реализовать две базовые функции:
поиск спортивных соревнований по разным параметрам геолокация выбранных мероприятий и измерение расстояния от положения пользователя до места действия. Пользователи ищут подробную информацию о предстоящих соревнованиях — для этого используют быстрый или детальный поиск с помощью фильтров «дистанция», «город». Нажав на интересующее мероприятие, юзеры узнают место проведения соревнований и его удалённость от своего местоположения.
Клиенту было важно, чтобы дизайн приложения выделялся и запоминался. Тогда мы предложили, как улучшить дизайн, сделать его привлекательным и удобным для пользователей.
В результате реализовали:
анимацию фонового изображения в профайле кастомизацию профайлов в соцсети не только с помощью традиционных аватаров, но и фоновых изображений. После загрузки они динамически меняются по правилам, которые задаются на сервере и передаются по API. нотификации с меняющимся текстом и кастомным дизайном Race Chasers предложили превратить стандартные оповещения — например, «Пропало соединение с Интернетом» — в шутливые сообщения. Текст сообщений меняется по очереди, чтобы не наскучить пользователям.
Сначала пользователи вводят стандартные данные (имя, фамилия, электронная почта, пароль). Дальше выбирают вид спортивного соревнования и дистанцию — например, 10 км, полумарафон или марафон. Такая информация нужна, чтобы присваивать юзерам личные предпочтения, поскольку в дальнейшем Race Chasers планируют развивать приложение в полноценную социальную сеть.
Чтобы пользователь видел в результатах поиска только то, что интересно, создали раздел «Предпочтения».
Представим, что пользователь Майкл готов пробежать полумарафон, но при температуре не выше 65°F. Тогда он:
выставляет длину дистанции, вид соревнования и температуру видит в поиске только мероприятия, которые подходят под заданные критерии выбирает соревнование и начинает подготовку! Когда пользователи ищут соревнования, приложение выдает список мероприятий, которые показаны по удаленности от указанного пользователем индекса.
Когда мы анализировали требования к приложению, получили много проектных требований от клиента: прототип приложения на HTML5, 16 документов по API, старое приложение для Android на Cordova, множество методов для тестирования в Postman, дизайны экранов в PSD. Наши аналитики их изучили и выявили, что в некоторых документах содержится противоречивая или неполная информация. Как в таком случае гарантировать единое понимание задачи с заказчиком?
Мы решили этот вопрос следующим путём:
аналитики вместе с менеджером проекта свели документацию воедино разработчики и тестировщики провели реверс-инжиниринг и детально изучили старое Cordova приложение в разработке использовали SCRUM-методологию с еженедельными спринтами. Команда Race Chasers находилась на разных континентах: Северная Америка, Европа, Азия. Вместе с клиентом мы преодолели удалённость участников проекта друг от друга и разницу в часовых поясах с помощью нехитрых приёмов:
еженедельно на видеозвонках в Zoom обсуждали работу за прошедшую неделю, планировали следующую, уточняли сложные вопросы на звонке наш менеджер проекта демонстрировала новый функционал приложения на своем смартфоне технические вопросы — например, по взаимодействию с бэкэндом — решали по электронной почте. Так выглядит экран регистрации. Помимо стандартной информации, нужно указать данные о предпочитаемой дистанции и выбрать вид соревнования.
Результаты сотрудничества Разработали запланированный клиентом функционал. Получилось удобное приложение для спортсменов, где они:
ищут информацию о соревнованиях в соответствии с предпочтениями — от вида соревнований до комфортной температуры воздуха смотрят детали мероприятия — например, где пройдет событие, насколько далеко от текущего местоположения, каковы условия участия. Добавили UX/UI фишки: анимацию для фонового изображения в профайле пользователя и нотификации с меняющимся шутливым текстом.
На проекте использовали: React Native, Redux, JavaScript/CSS.