Как мы помогли запустить приложение для маркета кроссовок Xstreet
В два часа ночи в одной из групп в Telegram я увидел сообщение: нужны разработчики, чтобы «докрутить» приложение. Тут же написал потенциальному клиенту. Пообщались текстом в телеграмм и клиент ответил: «Давайте работать». Через день мы подписали договор. Так состоялась наша самая быстрая сделка. Теперь предстояло так же быстро включиться в проект: сроки горели.
Кто такие Xstreet и зачем им приложение
Xstreet — это площадка, где можно купить брендовые кроссовки, в том числе редкие модели. Она работает по принципу биржи. Селлеры регистрируются и выставляют обувь на продажу. А покупатели смотрят предложения и отслеживают динамику изменения цены.
Получается, что все предложения селлеров собраны на одной площадке. Покупатели могут напрямую купить понравившуюся модель у продавца и даже предложить свою цену. При этом все кроссовки проходят проверку на оригинальность, поэтому покупатели уверены, что приобретают оригинальную вещь.
Приложение понадобилось, чтобы сделать торги удобнее для всех участников — и для селлеров, и для покупателей. В смартфоне легко отслеживать, как меняется цена. В удачный момент вы просто оформляете заказ — и желанная пара отправляется к вам.
Подробнее о площадке и функционале расскажем в следующей статье. А сейчас поговорим о том, в каком виде нам передали проект — и что мы сделали для того, чтобы релиз всё-таки состоялся.
Что мы обнаружили, когда увидели почти готовое (нет) приложение
Проект достался нам от других разработчиков в незавершённом виде, и работы предстояло много. Большинство функций отсутствовали: не были внедрены оплата и онлайн-касса, не была готова админка, не работал «биржевой стакан» — страница, где можно оценить и сравнить предложения от селлеров. Приложение было переспамлено запросами к серверу, поэтому глючило.
Мы поняли, что впереди трудный путь, и начали готовить приложение к релизу.
Какие задачи мы решили
Приём оплаты. Пока стандартно списываем деньги со счёта покупателя. В дальнейшем внедрим функционал, который сами же предложили заказчику: возможность не списывать деньги со счёта покупателя сразу, а замораживать сумму на срок до 60 дней. Это поможет Хstreet экономить на комиссии в случае возврата.
Онлайн-кассу. Здесь тоже была своя сложность: после оплаты нужно сформировать не два, а три чека. Один мы отправляем агенту, то есть реселлеру, а другие два — покупателю.
Интеграцию со СДЭК. Передача информации о заказе в службу доставки — это последний шаг сделки.
Бухгалтерскую отчётность. Теперь бухгалтерия может выгружать отчёты о финансовых операциях: Xstreet обязан отчитываться перед контролирующими органами как кассовый агент и формировать отчеты агента.
Биржевой механизм. Довели до ума раздел, в котором собраны все предложения на покупку или продажу конкретной модели.
Параллельно поправили ошибки на бэке и фронте, разделили девелоперский и продакшн-серверы, настроили админку, сделали приложение быстрее. Что касается бюджета: с учётом возможных доработок запуск MVP оценили примерно в 5 млн ₽.
Какие технологии использовали
Тут повезло: заказчик работал с технологиями, с которыми мы привыкли работать сами. Из основного:
Фреймворк React Native. Хорошо подходит для приложений, поэтому мы его любим. Это кроссплатформенный фреймворк — писать код дважды не пришлось. Хотя мы бы предпочли Flutter: он надежнее. Если бы начинали разработку с нуля, выбрали бы его.
Панель администрирования Laravel Nova. Её мы используем всегда. Да, многие программисты от неё плюются: говорят, невозможно кастомизировать дизайн, добавить какие-то элементы. По-моему, именно неизменность — сильная сторона Laravel Nova. Не приходится продумывать структуру админки — ты просто знаешь лимиты и принимаешь правила игры.
DaData для валидации данных пользователей. Здесь тоже не пришлось изучать новый инструмент: мы пользуемся DaData практически во всех проектах.
Применение простых инструментов ускорило разработку —, а скорость была одним из главных требований заказчика.
Как выстроили работу
Мы взяли в проект двух бэкэндеров, одного мобайл-разработчика, девопса и проджекта. Я выступал как бизнес-аналитик — проверял работу и давал рекомендации.
С планированием случился казус: мы стартовали как раз в тот момент, когда у нас «отвалился» задачник. Так что первое время команда просто фиксировала работу в гугл-таблице. Узнавать статусы задач и контролировать процесс было очень сложно. Кошмар продолжался две недели, пока мы настраивали таск-менеджер на собственных серверах.
Тестировщик подключился только со второго месяца работы, так что в начале искать баги пришлось самим. Чтобы всё успеть, тестировали прямо в процессе разработки. Иногда программисты сразу видели ошибки и исправляли их ещё до тестирования. Ну и реактивный заказчик помогал: как только мы выпускали обновление, его команда составляла список недочётов и присылала нам. Цель такого подхода — как можно быстрее решать текущие задачи и переходить к новым.
Почему мне так понравился проект
Скажу банальную вещь, но коммуникация — залог успеха. Как и мы, заказчик любит работать быстро, поэтому нам не пришлось подстраиваться под темп друг друга.
Мы максимально открыты: например, можем пригласить на внутренний созвон. Если у ребят из команды заказчика есть желание, они приходят — просто слушают, а иногда включаются в обсуждение. Важно не бояться быть на виду, «приоткрывать дверь на кухню». Мы свободно обмениваемся мнениями. Можем дать совет, как улучшить бизнес-процессы или как эффективнее управлять продажами.
Думаю, заказчик оценил, что мы взялись за такой замороченный проект, где нет времени на раскачку. Это, мне кажется, наша фишка — ворваться, сразу включиться в работу и стать частью команды. А ещё мне нравится вот что: заказчик понимает, за что платит и какой результат хочет получить. Это отличает его от клиентов, которые говорят: «Вот вам деньги, сделайте что-нибудь». И уходят. В общем, с Xstreet мы сработались.
Приложение опубликовано в версии MVP в Google Play, а в AppStore появится после апрува от Apple. Хstreet уже составили план работ на ближайший год, так что нам будет чем заняться: поддержку и развитие проекта мы тоже взяли на себя.
https://play.google.com/store/apps/details? id=io.xstreet.app&ref=vc.ru
Посмотреть приложение в playmarket