Как мы помогли запустить приложение для маркета кроссовок Xstreet

В два часа ночи в одной из групп в Telegram я увидел сообщение: нужны разработчики, чтобы «докрутить» приложение. Тут же написал потенциальному клиенту. Пообщались текстом в телеграмм и клиент ответил: «Давайте работать». Через день мы подписали договор. Так состоялась наша самая быстрая сделка. Теперь предстояло так же быстро включиться в проект: сроки горели.

Кто такие Xstreet и зачем им приложение 

Xstreet — это площадка, где можно купить брендовые кроссовки, в том числе редкие модели. Она работает по принципу биржи. Селлеры регистрируются и выставляют обувь на продажу. А покупатели смотрят предложения и отслеживают динамику изменения цены.

e2f8013e5b75a048bbae6f65938c4772.webp

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

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

Подробнее о площадке и функционале расскажем в следующей статье. А сейчас поговорим о том, в каком виде нам передали проект — и что мы сделали для того, чтобы релиз всё-таки состоялся.

4289fc8bc9447aeccb382dcfa6174fe1.webp

Что мы обнаружили, когда увидели почти готовое (нет) приложение 

Проект достался нам от других разработчиков в незавершённом виде, и работы предстояло много. Большинство функций отсутствовали: не были внедрены оплата и онлайн-касса, не была готова админка, не работал «биржевой стакан» — страница, где можно оценить и сравнить предложения от селлеров. Приложение было переспамлено запросами к серверу, поэтому глючило. 

Мы поняли, что впереди трудный путь, и начали готовить приложение к релизу. 

Какие задачи мы решили 

3c566d47807720c999102b07a7765f49.webp

  1. Приём оплаты. Пока стандартно списываем деньги со счёта покупателя. В дальнейшем внедрим функционал, который сами же предложили заказчику: возможность не списывать деньги со счёта покупателя сразу, а замораживать сумму на срок до 60 дней. Это поможет Хstreet экономить на комиссии в случае возврата.

  2. Онлайн-кассу. Здесь тоже была своя сложность: после оплаты нужно сформировать не два, а три чека. Один мы отправляем агенту, то есть реселлеру, а другие два — покупателю.

  3. Интеграцию со СДЭК. Передача информации о заказе в службу доставки — это последний шаг сделки.

  4. Бухгалтерскую отчётность. Теперь бухгалтерия может выгружать отчёты о финансовых операциях: Xstreet обязан отчитываться перед контролирующими органами как кассовый агент и формировать отчеты агента.

  5. Биржевой механизм. Довели до ума раздел, в котором собраны все предложения на покупку или продажу конкретной модели.

  6. Параллельно поправили ошибки на бэке и фронте, разделили девелоперский и продакшн-серверы, настроили админку, сделали приложение быстрее. Что касается бюджета: с учётом возможных доработок запуск MVP оценили примерно в 5 млн ₽.

Какие технологии использовали 

Тут повезло: заказчик работал с технологиями, с которыми мы привыкли работать сами. Из основного:

  • Фреймворк React Native. Хорошо подходит для приложений, поэтому мы его любим. Это кроссплатформенный фреймворк — писать код дважды не пришлось. Хотя мы бы предпочли Flutter: он надежнее. Если бы начинали разработку с нуля, выбрали бы его.

  • Панель администрирования Laravel Nova. Её мы используем всегда. Да, многие программисты от неё плюются: говорят, невозможно кастомизировать дизайн, добавить какие-то элементы. По-моему, именно неизменность — сильная сторона Laravel Nova. Не приходится продумывать структуру админки — ты просто знаешь лимиты и принимаешь правила игры.

  • DaData для валидации данных пользователей. Здесь тоже не пришлось изучать новый инструмент: мы пользуемся DaData практически во всех проектах.

Применение простых инструментов ускорило разработку —, а скорость была одним из главных требований заказчика.

Как выстроили работу 

Мы взяли в проект двух бэкэндеров, одного мобайл-разработчика, девопса и проджекта. Я выступал как бизнес-аналитик — проверял работу и давал рекомендации.

e951dcd32352411234e8bb92bb94da6d.webp

С планированием случился казус: мы стартовали как раз в тот момент, когда у нас «отвалился» задачник. Так что первое время команда просто фиксировала работу в гугл-таблице. Узнавать статусы задач и контролировать процесс было очень сложно. Кошмар продолжался две недели, пока мы настраивали таск-менеджер на собственных серверах. 

Тестировщик подключился только со второго месяца работы, так что в начале искать баги пришлось самим. Чтобы всё успеть, тестировали прямо в процессе разработки. Иногда программисты сразу видели ошибки и исправляли их ещё до тестирования. Ну и реактивный заказчик помогал: как только мы выпускали обновление, его команда составляла список недочётов и присылала нам. Цель такого подхода — как можно быстрее решать текущие задачи и переходить к новым.

Почему мне так понравился проект 

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

Мы максимально открыты: например, можем пригласить на внутренний созвон. Если у ребят из команды заказчика есть желание, они приходят — просто слушают, а иногда включаются в обсуждение. Важно не бояться быть на виду, «приоткрывать дверь на кухню». Мы свободно обмениваемся мнениями. Можем дать совет, как улучшить бизнес-процессы или как эффективнее управлять продажами. 

Думаю, заказчик оценил, что мы взялись за такой замороченный проект, где нет времени на раскачку. Это, мне кажется, наша фишка — ворваться, сразу включиться в работу и стать частью команды. А ещё мне нравится вот что: заказчик понимает, за что платит и какой результат хочет получить. Это отличает его от клиентов, которые говорят: «Вот вам деньги, сделайте что-нибудь». И уходят. В общем, с Xstreet мы сработались.

Приложение опубликовано в версии MVP в Google Play, а в AppStore появится после апрува от Apple. Хstreet уже составили план работ на ближайший год, так что нам будет чем заняться: поддержку и развитие проекта мы тоже взяли на себя.

https://play.google.com/store/apps/details? id=io.xstreet.app&ref=vc.ru

Посмотреть приложение в playmarket

© Habrahabr.ru