КЕЙС SHRED ПРИЛОЖЕНИЕ НА SYMFONY

Спасение стартапа резко выросшего из MVP

Shred Labs — стартап в сфере онлайн-фитнеса, который основали в 2018 году два персональных тренера из Лос-Анджелеса. Чарли Хейл и Адам Саммер запустили мобильное приложение с записями тренировок для занятий дома и в тренажерном зале.

2020 - н.в.

ПРОБЛЕМА

Проект привлек несколько раундов инвестиций. Приложение использовали больше 100 тысяч человек, но спустя два года оно все еще работало на базе кода, который написали по принципу MVP — быстро и не задумываясь о масштабировании в будущем. Бэкенд приложения в разное время разрабатывали несколько отдельных команд. К 2020 году стало понятно, что код проекта слишком запутанный, в нем множество повторов, не хватает комментариев и документации.

При этом популярность онлайн-тренировок быстро росла: из-за пандемии Covid-19 закрывались фитнес-залы, люди самоизолировались. Чтобы получить максимальную выгоду от потока новых пользователей, приложение Shred нужно было развивать, добавлять функциональность, оптимизировать его работу для возросшей нагрузки.

В это же время стартовал новый раунд инвестиций, и Shred Labs обратились за помощью к команде Resolventa.

ЗАДАЧИ

Команде Resolventa предстояло решить две большие задачи:

  • внедрить новую функциональность;
  • сделать приложение устойчивым к высокой нагрузке, чтобы не было сбоев при росте числа пользователей.

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

РЕШЕНИЕ

Команда Resolventa столкнулась с противоречием: с одной стороны, нужно было как можно быстрее добавить в Shred новые возможности. С другой стороны, сначала необходимо было навести порядок в бэкенде проекта. Внедрение функциональности в существующий код могло вызвать ошибки и нестабильную работу приложения. Разработчикам пришлось бы прикладывать дополнительные усилия, чтобы поддерживать работоспособность проекта. Для небольших срочных задач такой подход может сработать, но для долговременной перспективы не подходит.

При этом отложить работу над новыми возможностями на несколько месяцев было нельзя, потому что клиент хотел привлечь новых пользователей в самые короткие сроки. Поэтому команда приняла решение разрабатывать новые модули, оптимизировать существующий код и писать документацию параллельно.

В первую очередь для приложения настроили интеграцию с платежными системами Apple Pay и Stripe, добавили возможность загрузить свое видео с тренировкой и запустить плейлист из Spotify. Кроме того, разработали модуль для продаж приложения корпоративным клиентам.

Работа с документацией для API и покрытие кода тестами заняли около двух месяцев. За это время специалисты Resolventa:

  • разобрались в коде, где не было никаких комментариев;
  • подробно описали методы API, параметры и типы данных;
  • определили, какая функциональность критически важна для работы приложения;
  • написали автоматические тесты и внедрили статические анализаторы кода.

Для каждого метода API создали подробную документацию

Одновременно команда внедряла привычные процессы: Scrum, код-ревью, непрерывную интеграцию и внедрение. Resolventa использует их во всех проектах, чтобы обеспечить прозрачную, гибкую и быструю разработку.

В следующие месяцы эксперты приводили в порядок и оптимизировали код. В первую очередь переписывали те части приложения, которые работали медленно. Также разработчики вычищали баги и ошибки, переписывали функциональность и объединяли похожие функции, чтобы в коде не было повторов.

Команда обновила основу Shred — фреймворк Symfony. В 2020 году вендор перестал выпускать обновления безопасности для устаревшей третьей версии фреймворка, поэтому приложение перенесли на актуальную пятую версию.

Через полгода Resolventa завершила все крупные задачи. Клиент высоко оценил работу команды и попросил заняться другими элементами проекта: запустить личный кабинет пользователя на сайте, промо-страницы и Android-приложение.

Личный кабинет пользователя на сайте Shred

300

эндпоинтов API

задокументировала команда Resolventa

РЕЗУЛЬТАТ

Resolventa спасла Shred от коллапса разработки: MVP с запутанным кодом превратили в стабильное приложение, которое выдерживает высокую нагрузку. Команда подготовила понятную документацию по API, поэтому удалось значительно ускорить разработку мобильного приложения, уменьшить количество багов и скорость их исправления. Наконец, внедрение методологии Scrum сделало разработку предсказуемой и стабильной для клиента.

200+ тысяч

человек используют приложение Shred

RUS

ENG

В команде работают отличные профессионалы. Они пишут качественное ПО в установленные сроки и с минимальным количеством ошибок, благодаря своим знаниям, навыкам и вниманию к деталям. Они быстро и четко понимают требования и не нуждаются в подробных спецификациях. С ними приятно работать, искренне рекомендую.

Dmitry’s team is highly professional, producing quality software on schedule with minimum bugs, due to their solid skills and attention to detail. They understand requirements readily and thoroughly, without the need for extensive specifications upfront or multiple roundtrips afterwards to deliver quality software as requested. They are a pleasure to work with and I highly recommend them.

Gerald Chao

CTO. Shred

Resolventa продолжает работать с проектом Shred: поддерживает и развивает бэкенд, а также разрабатывает Android-приложение.

Более 3 лет

Shred Labs сотрудничает с Resolventa

ТЕХНОЛОГИИ

PHP, Symfony, MySQL, Redis, Kotlin, Docker, AWS, React, TravisCI, PHPUnit

ИНТЕГРАЦИИ

Apple Pay, Stripe, OneSignal, Mailjet, AppsFlyer, Facebook Business, MixPanel, Spotify, Datadog

Нужно решить похожую задачу?

Напишите нам, чтобы обсудить подробности или свяжитесь другим удобным способом.

Мы отвечаем быстро и по делу!

КОНТАКТЫ / 

Свяжитесь с нами любым удобным способом и получите консультацию у Дмитрия - нашего руководителя.

зайти в офис /

Россия, Новосибирск, ул. Семьи Шамшиных, 12

позвонить /

+7 913 921 7200

написать /

наши вакансии /

Если вы хотите, чтобы мы заранее подготовились к разговору по вашему проекту, заполните форму обратной связи. Мы изучим всю информацию и договоримся на удобное для вас время общения.

Ваше имя
Ваш e-mail *
Файл
Прикрепить файл...
Сообщение *

© 2024 Resolventa