веб-приложений
Занимаюсь разработкой сайтов и веб-приложений: проектирую и создаю личные кабинеты, сервисы бронирования и расчётов, внутренние системы компании на PHP, Python и Node.js.
Какие веб-приложения делаю
Веб-приложение решает задачу пользователя, а не просто показывает информацию:
- Личный кабинет клиента
- Сервис онлайн-записи и бронирования
- Калькулятор стоимости и заказ
- Кабинет дилера с прайсами
- Система заявок и обращений
- Учёт для сотрудников
- Панель отчётов и аналитики
- Сервис с ИИ-помощником
Общее у всех этих проектов одно: пользователь приходит не читать, а сделать действие — записаться, рассчитать стоимость, отправить документ, проверить статус заказа. Поэтому разработка веб-приложения начинается с вопроса, какие действия выполняют люди и какие данные при этом появляются. От ответа зависят экраны, структура базы данных и то, какие системы нужно подключить.
Что входит в разработку
Проектирование и разработка веб-приложения идут как один проект.
Проектирование и разработка веб-приложений идут одним проектом, потому что ошибки в структуре данных или сценариях дорого исправлять после того, как код написан. Прототип экранов и схема базы данных согласуются до программирования. Это позволяет заранее увидеть, как приложение будет выглядеть и работать, и поменять решения, пока это стоит часов, а не недель.
- Анализ сценариев и пользователей
- Прототип экранов и навигации
- Структура базы данных
- Серверная логика на PHP, Python или Node.js
- Адаптивный интерфейс для компьютера и телефона
- Авторизация, роли и права доступа
- Интеграции через API
- Тестирование и исправление ошибок
- Развёртывание и резервные копии
Функции, которые часто встраиваю
Готовые блоки, из которых собирается приложение под задачу:
- Онлайн-оплата и выставление счетов
- Календарь, расписание и бронирование
- Загрузка и генерация документов
- Уведомления на почту и в Telegram
- Отчёты и выгрузки в Excel
- Поиск и фильтры по данным
- ИИ-помощник с проверкой ответов
- Разные роли: клиент, менеджер, администратор
Эти функции не нужно изобретать заново в каждом проекте: я уже решал похожие задачи и знаю, где обычно возникают сложности. Например, в бронировании важно исключить двойную запись на одно время, а в генерации документов — корректно подставлять данные клиента и сохранять историю версий. Набор функций определяется задачей, а не тем, что легко добавить. ИИ-помощника встраиваю по той же схеме, что и при интеграции нейросети: модель подключается через API на сервере, а ответы проходят проверку.
Варианты реализации
Основу выбираю под задачу, бюджет и планы на развитие.
Приложение на базе сайта обычно быстрее запускается: авторизация, пользователи и контент уже есть, остаётся добавить логику. Отдельное приложение на PHP, Python или Node.js требует больше работы на старте, но не зависит от ограничений CMS и легче масштабируется под сложную логику. Какой вариант выгоднее, говорю после разбора задачи и, если сайт уже есть, после оценки его кода.
Приложение на базе сайта
Функции добавляются к сайту на 1С-Битрикс или WordPress: кабинет, заказы, документы. Пользователи и контент остаются в одной системе. Как устроен кабинет, разобрал в статье про личный кабинет клиента.
Отдельное приложение на PHP, Python или Node.js
Собственная архитектура без ограничений CMS. Подходит для сервисов со сложной логикой, своими ролями и высокой нагрузкой. Интерфейс и серверная часть проектируются под задачу, без лишних модулей.
Типичные ошибки при создании веб-приложения
Первая и самая дорогая ошибка — начинать с кода, а не со сценариев. Если не описано, кто и что делает в приложении, требования всплывают по ходу работы, а уже написанные модули приходится переделывать. Короткое ТЗ и прототип экранов занимают небольшую часть бюджета, но заметно снижают число переделок и споров о том, что входило в задачу.
Вторая ошибка — пытаться сделать всё сразу в первой версии. Каждая дополнительная роль, отчёт или интеграция увеличивает срок и стоимость, а часть функций после запуска может оказаться ненужной. Разумнее запустить ключевой сценарий, посмотреть, как им пользуются, и только потом добавлять остальное.
Третья — недооценивать права доступа. В приложении, где работают клиенты, менеджеры и администраторы, нужно заранее решить, кто видит какие данные и кто может их менять. Если это не продумано, позже появляются утечки внутренних данных в кабинет клиента или, наоборот, сотрудники не могут выполнить свою работу.
Четвёртая — забывать про мобильные устройства. Многие пользователи откроют приложение с телефона, поэтому интерфейс сразу проектирую адаптивным и проверяю на разных экранах, а не дорабатываю после запуска. Это касается не только вёрстки: длинные таблицы, фильтры и формы на телефоне требуют отдельных решений, иначе ими неудобно пользоваться. Пятая — не планировать жизнь после запуска: резервные копии, обновления, мониторинг ошибок и человека, который будет вносить изменения. Эти вопросы обсуждаю ещё на этапе проектирования, чтобы приложение не осталось без поддержки, когда появятся новые задачи.
Отдельная ошибка — выбирать исполнителя только по цене первой версии. Дешёвый старт на коде, который сложно развивать, оборачивается дорогими доработками. О том, на что смотреть при выборе, написал в статье как выбрать разработчика сайта.
Как проходит работа
Каждый этап заканчивается результатом, который можно посмотреть.
Промежуточные версии показываю на тестовом сервере, где можно пройти сценарии самому и передать доступ сотрудникам. Замечания собираю по ходу работы, а не в конце, поэтому к запуску приложение уже проверено людьми, которые будут им пользоваться. Рабочие данные на тестовом сервере не используются, пока это не согласовано.
Разбор задачи
Выясняю, кто пользуется приложением и какие действия выполняет. Определяю, какие функции нужны в первой версии, а какие можно отложить.
Проектирование
Готовлю ТЗ, прототип и структуру данных, согласую объём и стоимость. Прототип можно пройти по экранам до начала программирования.
Разработка
Делаю приложение этапами и показываю промежуточные версии. Каждая версия доступна на тестовом сервере.
Тестирование
Проверяю сценарии, права доступа и работу на разных устройствах. Отдельно смотрю, что видит каждая роль и что ей запрещено.
Запуск и развитие
Переношу на рабочий сервер, исправляю найденное, добавляю функции. Настраиваю резервные копии и слежу за ошибками в первые недели работы.
Почему ко мне
Веб-приложение живёт годами, поэтому важен не только запуск.
Запуск — только начало жизни веб-приложения. Пользователи приходят с новыми запросами, бизнес меняет процессы, внешние сервисы обновляют свои 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 ₽ за час, для крупных задач называю оценку заранее.
Если планируете передать проект своему разработчику, код и ключевые решения документирую так, чтобы в них можно было разобраться без меня. Порядок передачи кода и доступов обсуждаю заранее, ещё до начала разработки.
Нужно веб-приложение?
Расскажите, какую задачу оно должно решать, — предложу вариант реализации и оценку.


