Разработка
веб-приложений

Занимаюсь разработкой сайтов и веб-приложений: проектирую и создаю личные кабинеты, сервисы бронирования и расчётов, внутренние системы компании на PHP, Python и Node.js.

от 90 000 ₽ PHP, Python, Node.js
Сначала проектированиеПродумываю сценарии и данные до того, как писать код.
Работает в браузереПриложение открывается на компьютере и телефоне без установки.
Связь с системамиПодключаю CRM, оплату и другие сервисы через API.
Обсудить приложение

Какие веб-приложения делаю

Веб-приложение решает задачу пользователя, а не просто показывает информацию:

  • Личный кабинет клиента
  • Сервис онлайн-записи и бронирования
  • Калькулятор стоимости и заказ
  • Кабинет дилера с прайсами
  • Система заявок и обращений
  • Учёт для сотрудников
  • Панель отчётов и аналитики
  • Сервис с ИИ-помощником

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

Что входит в разработку

Проектирование и разработка веб-приложения идут как один проект.

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

  • Анализ сценариев и пользователей
  • Прототип экранов и навигации
  • Структура базы данных
  • Серверная логика на PHP, Python или Node.js
  • Адаптивный интерфейс для компьютера и телефона
  • Авторизация, роли и права доступа
  • Интеграции через API
  • Тестирование и исправление ошибок
  • Развёртывание и резервные копии

Функции, которые часто встраиваю

Готовые блоки, из которых собирается приложение под задачу:

  • Онлайн-оплата и выставление счетов
  • Календарь, расписание и бронирование
  • Загрузка и генерация документов
  • Уведомления на почту и в Telegram
  • Отчёты и выгрузки в Excel
  • Поиск и фильтры по данным
  • ИИ-помощник с проверкой ответов
  • Разные роли: клиент, менеджер, администратор

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

Варианты реализации

Основу выбираю под задачу, бюджет и планы на развитие.

Приложение на базе сайта обычно быстрее запускается: авторизация, пользователи и контент уже есть, остаётся добавить логику. Отдельное приложение на PHP, Python или Node.js требует больше работы на старте, но не зависит от ограничений CMS и легче масштабируется под сложную логику. Какой вариант выгоднее, говорю после разбора задачи и, если сайт уже есть, после оценки его кода.

Приложение на базе сайта

Функции добавляются к сайту на 1С-Битрикс или WordPress: кабинет, заказы, документы. Пользователи и контент остаются в одной системе. Как устроен кабинет, разобрал в статье про личный кабинет клиента.

Подходит для
  • Кабинеты
  • Заказы

Отдельное приложение на PHP, Python или Node.js

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

Подходит для
  • Сервисы
  • Внутренние системы

Типичные ошибки при создании веб-приложения

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

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

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

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

Отдельная ошибка — выбирать исполнителя только по цене первой версии. Дешёвый старт на коде, который сложно развивать, оборачивается дорогими доработками. О том, на что смотреть при выборе, написал в статье как выбрать разработчика сайта.

Как проходит работа

Каждый этап заканчивается результатом, который можно посмотреть.

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

  1. Разбор задачи

    Выясняю, кто пользуется приложением и какие действия выполняет. Определяю, какие функции нужны в первой версии, а какие можно отложить.

  2. Проектирование

    Готовлю ТЗ, прототип и структуру данных, согласую объём и стоимость. Прототип можно пройти по экранам до начала программирования.

  3. Разработка

    Делаю приложение этапами и показываю промежуточные версии. Каждая версия доступна на тестовом сервере.

  4. Тестирование

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

  5. Запуск и развитие

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

Почему ко мне

Веб-приложение живёт годами, поэтому важен не только запуск.

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

Работа напрямуюЯ работаю напрямую, без посредников: решения принимаются быстро. Вопрос по логике приложения решается в переписке, без совещаний и пересказов.
Архитектура на выростЗакладываю структуру, в которую легко добавлять новые модули. Новая функция не требует переделывать то, что уже работает.
Поддержка после запускаОстаюсь на связи и развиваю приложение по мере роста задач. Знаю код проекта, поэтому доработки не начинаются с долгого изучения.

Частые вопросы

Сколько стоит разработка веб-приложения?

От 90 000 ₽. Стоимость зависит от числа ролей, экранов и интеграций, точную сумму называю после проектирования.

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

Сколько времени занимает создание веб-приложения?

Базовая версия (1 роль, до 5 экранов, своя база и админка) — от 4 недель, точный срок называю после разбора. Большое приложение запускаю по частям, начиная с ключевых функций.

Срок складывается из проектирования, разработки, тестирования и согласований. Последнее часто недооценивают: если замечания по прототипу и промежуточным версиям приходят быстро, работа идёт без простоев. Интеграции с внешними сервисами тоже влияют на срок, особенно если у них неполная документация. Поэтому срок называю после проектирования, когда объём уже понятен.

На чём ведётся разработка веб-приложений?

На PHP, Python или Node.js с базой данных MySQL. Если приложение связано с сайтом, использую 1С-Битрикс или WordPress, внешние сервисы подключаю через API.

Разработка веб-приложений на PHP, Python и Node.js удобна тем, что под эти языки легко найти хостинг и разработчиков, а проект можно развивать годами. Интерфейс делаю адаптивным, чтобы приложение работало в браузере компьютера и телефона без установки. Выбор между CMS и отдельной архитектурой делаю под задачу.

Чем веб-приложение отличается от сайта?

Сайт в основном показывает информацию, а в веб-приложении пользователь работает: оформляет заказы, считает, хранит документы, видит свои данные.

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

Можно ли сделать приложение на основе существующего сайта?

Да, если сайт на 1С-Битрикс или WordPress и его код в порядке. Сначала оцениваю текущий проект и говорю, что выгоднее — дорабатывать или делать отдельно.

Ориентируюсь на состояние кода, версии платформы и нагрузку. Если сайт давно не обновлялся или сильно изменён без документации, добавлять к нему сложную логику рискованно. Тогда приложение делаю отдельно и связываю с сайтом через API, а смежные правки выполняю в рамках доработки сайта на WordPress или на 1С-Битрикс.

Нужно ли техническое задание?

Его составляю на этапе проектирования. Что в него входит — в статье про техническое задание на сайт.

Для веб-приложения в ТЗ описываются роли пользователей, сценарии их действий, экраны, структура данных, интеграции и требования к безопасности. От вас нужны цели и описание процесса своими словами, остальное помогаю сформулировать вопросами. Согласованное ТЗ становится основой для оценки стоимости, плана этапов и приёмки готовых работ.

Что нужно подготовить перед началом разработки?

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

Если приложение должно обмениваться данными с CRM, платёжным сервисом или другой системой, понадобится доступ к их документации. Дизайн-макет не обязателен: интерфейс можно спроектировать на этапе прототипа. Важно назначить человека, который будет быстро отвечать на вопросы и проверять промежуточные версии.

Кто будет поддерживать приложение после запуска?

Могу продолжить работу: исправлять ошибки, обновлять компоненты, следить за резервными копиями и добавлять функции. Доработки оплачиваются по времени — от 2 000 ₽ за час, для крупных задач называю оценку заранее.

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

Нужно веб-приложение?

Расскажите, какую задачу оно должно решать, — предложу вариант реализации и оценку.