Модель данных и архитектура
До первой строки интерфейса — сущности, связи, права доступа. Отдельный вопрос — мультиарендность: как данные одной компании не утекут в отчёты другой.
Здесь визуал решает меньше, чем принято думать. Решает модель данных: роли, права, тарифы. Ошибитесь на старте — и через полгода любая новая функция будет ломать три старые. Поэтому мы не рисуем интерфейс первым делом. Сначала — MVP, который трогают реальные пользователи, а не документ на сто страниц. Дальше — итерации по две недели: сделали, показали, решили, что следующее.
В таких проектах архитектура важнее интерфейса. Если на старте неправильно разложены сущности, права и тарифы — через полгода любая новая функция начинает ломать три старые. Поэтому мы начинаем с вопросов, а не с макетов: кто пользователи, какие у них роли, что происходит с данными при отмене подписки или удалении аккаунта.
Дальше — первая рабочая версия с ограниченным набором функций, сразу на реальных пользователях. Это дешевле, чем год пилить продукт по ТЗ, написанному до первого живого отзыва. Итерации по две недели, в конце каждой — демо и решение, куда двигаться дальше.
До первой строки интерфейса — сущности, связи, права доступа. Отдельный вопрос — мультиарендность: как данные одной компании не утекут в отчёты другой.
Вход, восстановление доступа, приглашения в команду — рутина, которую легко недооценить и тяжело переделать задним числом. Роли разводим сразу под реальные сценарии, а не «админ / не админ». Кто и когда менял данные — видно в журнале, а не в логах, которые никто не читает.
Приём оплаты, тарифные ограничения, продление и отмена — это только половина. Вторая половина — что происходит, когда платёж не прошёл: банк отклонил, карта истекла, деньги списались, а вебхук не пришёл. Эти сценарии продумываем до запуска, а не после первой жалобы.
Пользователю — интерфейс, вашей команде — отдельная панель: поиск по клиентам, ручные операции, выгрузки. Без неё любая поддержка продукта превращается в тикет разработчику: «поправьте вручную, пожалуйста».
Воронка регистраций, удержание, выручка по тарифам — в панели, а не в файле, который аналитик присылает раз в месяц. Руководителю нужны цифры сегодня, а не после того, как кто-то найдёт время их собрать.
Сборка и выпуск версий — автоматически. База — с резервными копиями. Ошибки и падения — с оповещением в мессенджер, а не с постом пользователя в поддержку «у вас всё сломалось».
Сроки — для типового объёма. Точный план фиксируем в приложении к договору после аналитики.
Сценарии пользователей, модель данных, схема ролей и тарифов, границы первой версии. На выходе — не презентация, а документ и оценка по этапам, с которым можно спорить.
Компоненты, состояния, пустые экраны, ошибки — то, что обычно забывают до последнего момента. Личный кабинет и админку рисуем параллельно с началом разработки, а не после неё.
Две недели — демо. Ещё две — демо. Каждая итерация заканчивается рабочей сборкой на тестовом контуре, а не обещанием, что «почти готово».
Перенос на боевой контур, нагрузочная проверка, мониторинг. Дальше уже не по плану, а по тому, как ведут себя первые настоящие пользователи.
от 175 000 ₽ за первую версию · 8–14 недель
Стоимость первой версии зависит от числа ролей, сложности тарифной модели и количества интеграций. Смету собираем из задач и фиксируем в приложении к договору.
Все тарифы и почасовые ставкиВход по логину и паролю выглядит простой задачей, пока дело не доходит до хранения сессии и защиты от перебора. Разбираем решения, которые мы применяем в продакшене.
Выбор базы данных определяет, насколько дорого будет менять логику через год. Разбираем критерии на конкретных типах проектов, без религиозных войн.
Дизайн-система — не набор красивых макетов, а договорённость о токенах и компонентах. Разбираем, при каком размере продукта она начинает экономить, а не отнимать время.
Дашборд с двадцатью графиками не помогает решать. Разбираем, какие метрики отвечают на вопросы, а какие просто красиво растут.
Большинство уязвимостей в бизнес-приложениях — не изощрённые атаки, а забытая проверка прав. Публикуем чек-лист, по которому проходим перед каждым запуском.
Расскажите, что нужно сделать. На консультации разберём задачу и вернёмся с оценкой сроков и бюджета — без обязательств с вашей стороны.