От первичных требований до готового SA-LK: реальный пример и анализ
Создание личного кабинета для клиентов — задача, которая требует чёткого понимания бизнес-процессов и технической реализации. Часто заказчик не знает, с чего начать, а разработчик — какую информацию запросить. В этой статье мы на примере нашего проекта SA-LK (личный кабинет 1С VPS) покажем, как правильно составить техническое задание (ТЗ) на каждом этапе: от первичных пожеланий до детального документа для команды программистов.
Ключевая мысль: сначала заказчик формулирует бизнес-требования (ТЗ-1), а затем наша команда совместно с заказчиком превращает их в полноценное ТЗ для разработчиков (ТЗ-2), уточняя архитектуру, роли, API и интеграцию с 1С.
Что должно быть в первичном ТЗ от заказчика (ТЗ-1)
Первый шаг — описать, что именно должен делать личный кабинет с точки зрения бизнеса. Ниже приведён реальный пример требований, с которого мы начинали проект SA-LK.
- Группы компаний / Личные кабинеты — справочник, включающий перечень сотрудников (ФИО, телефон, адрес) и их роли.
- Договоры и юридические лица — каждый договор связан с реальным договором в 1С.
- Справочник услуг — номенклатура услуг с датой начала и окончания, периодом (месяц, квартал, полгода, год).
- Выгрузка данных по API — счета, реализации, выписки по платежам с возможностью выгрузки «по изменениям» и за период.
- Журнал обмена — на стороне 1С фиксация ошибок и предупреждений.
- Основные разделы визуально — дашборд (неоплаченные счета, баланс, последние реализации, услуги с истекающим сроком), персональные данные, договоры, сверка, перечень счетов, услуги с пролонгацией, каталог услуг с кнопкой «Заказать».
- Инвентаризация ресурсов — VPS сервера, IP-адреса, пользователи, сайты.
Такой документ — основа для дальнейшего обсуждения. Он не требует технических деталей, но должен быть максимально полным с точки зрения функциональности.
Как мы превращаем ТЗ-1 в ТЗ-2 (для программистов)
Получив бизнес-требования, наша команда анализирует их и готовит детальное техническое задание. В ТЗ-2 мы описываем:
- Технологический стек (PHP 8.3, Laravel, MariaDB, Vue.js, Laravel Sanctum, CentOS).
- Структуру базы данных (сущности: Users, Clients, Roles, Members, Contracts, Services, ClientServices, Invoices, Resources, ServiceCategories).
- API-эндпоинты для фронтенда и интеграции с 1С.
- Требования к фронтенду (адаптивность, использование Vue.js).
- Правила аутентификации и разграничения прав (роли, токены).
- Механизм синхронизации с 1С через HTTP-сервисы с обработкой ошибок и журналированием.
- Распределение ролей в команде (глава проекта, веб-программист, backend-разработчик, 1С-разработчик).
- Конкретные задачи с декомпозицией (например, реализовать пролонгацию услуг, формирование сверок, отправку заявок на почту).
Вот пример структуры ТЗ-2, который мы использовали в проекте SA-LK:
Пример: разделы ТЗ-2 (сокращённо)
- 1. Общая информация — цель, текущий статус (backend на Laravel уже развёрнут).
- 2. Технические детали — версии ПО, ссылка на репозиторий, CI/CD.
- 3. Структура базы данных — описание таблиц и связей.
- 4. Реализованные API-эндпоинты — CRUD для основных сущностей, /api/login.
- 5. Основные разделы веб-приложения — дашборд, персональные данные, договоры, сверка, счета, услуги, каталог, инвентаризация.
- 6. Интеграция с 1С — конвейерная передача данных, безопасность, токены.
- 7. Требования к доработке — фронтенд на Vue.js, доработка бэкенда (пролонгация, сверки, отправка почты), настройка обмена с 1С.
- 8. Распределение ролей и обязанностей — кто за что отвечает.
- 9. Текущие задачи — конкретные пункты для каждого участника команды.
Анализ: какие данные лучше предоставить на старте проекта
Чтобы ускорить разработку и избежать доработок, заказчик должен подготовить следующие материалы:
- Описание бизнес-процессов — как клиенты получают услуги, как выставляются счета, какие роли существуют.
- Перечень справочников из 1С — контрагенты, договоры, номенклатура услуг, сотрудники.
- Примеры документов — счёт, реализация, платёжное поручение (поля, которые нужно выгружать).
- Требования к правам доступа — кто может видеть какие договоры, услуги, ресурсы.
- Дизайн-макеты или референсы — желаемый внешний вид личного кабинета (хотя бы эскизы).
- Технические ограничения — требования к хостингу, нагрузке, безопасности (например, двухфакторная аутентификация).
Наличие этих данных позволяет нашей команде сформировать точную смету и сроки, а также избежать типичных ошибок на этапе интеграции с 1С.
Как происходит работа над проектом SA-LK
В нашем процессе участвуют несколько ролей, чётко распределённых по зонам ответственности:
- Глава проекта — архитектура, код-ревью, CI/CD, безопасность серверной части.
- Веб-программист — разработка интерфейса на Vue.js, адаптивность, интеграция с API.
- Backend-разработчик — разработка API, документация, интеграция с внешними сервисами.
- 1С-разработчик — настройка выгрузки данных из 1С, HTTP-сервисы, журнал обмена.
Благодаря такому разделению мы одновременно ведём разработку фронтенда, бэкенда и интеграции, что сокращает общее время запуска. Весь процесс идёт параллельно: пока backend готовит эндпоинты, фронтенд создаёт макеты, а 1С-специалист настраивает обмен.
В итоге клиент получает готовый личный кабинет, где можно управлять договорами, услугами, счетами, ресурсами, а также формировать сверки и заказывать новые услуги одним кликом.
Почему стоит доверить разработку личного кабинета профессионалам
Самостоятельное создание такого решения требует глубоких знаний в 1С, веб-разработке, базах данных и безопасности. Ошибки в интеграции могут привести к рассинхронизации данных, утечке информации или простою бизнеса. Компания S-Alpha.RU уже более 10 лет занимается подобными проектами, имеет собственный дата-центр, сертификацию по защите данных и штат сертифицированных специалистов 1С и Битрикс.
Мы не просто пишем код — мы помогаем на всех этапах: от сбора требований до технической поддержки и масштабирования. Готовы предоставить демо-доступ к уже работающему SA-LK, чтобы вы могли оценить функционал.