О клиенте
Клиенту требовалось ERP-приложение для управления сотрудниками, подразделениями, задачами, мероприятиями, календарями и внутренними коммуникациями. Первоначально приложение было создано в Google AI Studio в формате PWA-прототипа, ориентированного преимущественно на мобильные устройства.
У клиента не было собственной команды с достаточным опытом в разработке программного обеспечения, а требования к продукту уточнялись по мере работы над ним. Это позволило быстро создать работающий прототип, но в процессе выявились проблемы: дублирование функций, неудобный пользовательский интерфейс, недостатки в системе аутентификации и архитектуре приложения, которые затрудняли его дальнейшее развитие и использование в реальных условиях.
Задача команды СКЭНД заключалась в том, чтобы сохранить основную концепцию продукта, устранить технические проблемы и подготовить приложение к полноценному использованию.
- Отрасль: ERP, управление персоналом и командой
- Тип приложения: PWA
- Сроки: 1,5 месяца
Задача проекта
Прототип, созданный в Google AI Studio, позволял оценить основные возможности продукта, однако требовал существенной доработки перед запуском в промышленную эксплуатацию. Задача заключалась не просто в развертывании существующего приложения, а в устранении архитектурных и функциональных ограничений, повышении уровня безопасности, обеспечении стабильной работы и создании независимой инфраструктуры, контролируемой клиентом.
Основными задачами проекта были:
- Аудит и переработка кода: Устранить дублирование функциональности и упорядочить архитектуру приложения.
- Безопасность и управление доступом: Устранить уязвимости, доработать разграничение прав доступа (RBAC), внедрить двухфакторную аутентификацию.
- Модернизация базы данных: Перейти на PostgreSQL и автоматизировать миграции с помощью Prisma.
- Независимая инфраструктура: Перенести приложение на VPS, использовать Docker и сократить зависимость от сторонних облачных сервисов.
- Автоматизация развертывания: Настроить CI/CD для ускорения выпуска обновлений.
- Надежность и производительность: Настроить резервное копирование, мониторинг и оповещения, провести нагрузочное тестирование.
- Оптимизация затрат и дальнейшей разработки: Сократить инфраструктурные расходы и подготовить процесс развития приложения с помощью ИИ-ассистентов и GitHub.
Обзор проекта
Команда СКЭНД начала работу с экспорта проекта в GitHub, на основе которого организовала независимый процесс разработки и развертывания приложения.
На следующем этапе команда перевела приложение на PostgreSQL и внедрила Prisma для управления миграциями базы данных. Одновременно разработчики усилили защиту, доработали механизмы разграничения прав доступа, добавили двухфакторную аутентификацию, а также реализовали push-уведомления и уведомления по электронной почте.
Затем команда перенесла приложение с Firebase и Google Cloud Run на выделенный VPS. Для этого специалисты настроили Docker, защиту и CDN через Cloudflare, а также автоматическое резервное копирование.
Параллельно команда автоматизировала выпуск обновлений с помощью CI/CD на базе GitHub, сократив время развертывания до двух минут. Кроме того, специалисты внедрили подход Spec-Driven Development (SDD), благодаря которому клиент сможет самостоятельно продолжать разработку с помощью Claude Code, Cursor и OpenCode.
Наконец, команда провела нагрузочное тестирование: при 98 запросах в секунду задержка P99 составила менее 300 мс. Для дальнейшего контроля стабильности приложения специалисты также настроили мониторинг в Prometheus и Grafana, сбор журналов событий и оповещения.
Решение
В результате прототип был преобразован в стабильное ERP-приложение, готовое к промышленной эксплуатации. Команда упорядочила функциональность в соответствии с согласованными требованиями, устранила дублирование функционала и обеспечила целостность пользовательского интерфейса.
Кроме того, клиент получил независимую среду разработки и развертывания, не зависящую от Google AI Studio.
Основные возможности приложения
- Управление персоналом и рабочими процессами. Работа с сотрудниками, подразделениями, задачами, мероприятиями, календарями и внутренними коммуникациями.
- Мобильное PWA-приложение и разграничение прав доступа. Поддержка мобильных устройств и управление доступом на основе ролей пользователей с учетом бизнес-требований.
- Защита учетных записей и уведомления. Двухфакторная аутентификация с подтверждением по электронной почте, а также push- и email-уведомления о событиях в приложении.
- Управление данными. Хранение связанных бизнес-данных в PostgreSQL и управление миграциями схемы базы данных с помощью Prisma.
- Инфраструктура и надежность. Контейнеризация с Docker, автоматические выпуски обновлений через GitHub, резервное копирование с учетом требований RTO и RPO.
- Мониторинг и защита. Отслеживание состояния приложения и инфраструктуры с помощью Prometheus и Grafana, защита и ускорение доставки контента через Cloudflare Firewall и CDN.
- Независимая разработка с помощью ИИ. Управление исходным кодом и дальнейшее развитие продукта через GitHub без привязки к Google AI Studio, с использованием Claude Code, Cursor и OpenCode.
Технологический стек
Для преобразования прототипа Google AI Studio в независимое приложение, готовое к промышленной эксплуатации, использовались следующие технологии и инструменты:
- База данных: PostgreSQL
- ORM и миграции: Prisma
- Контейнеризация и инфраструктура: Docker, выделенный VPS
- Безопасность: Cloudflare Firewall, RBAC, двухфакторная аутентификация по электронной почте, устранение уязвимостей на основе результатов аудита OWASP Top 10
- CDN и доставка контента: Cloudflare CDN, собственный домен
- CI/CD: Автоматизированное развертывание на основе Git
- Резервное копирование: Автоматическое резервное копирование базы данных и файлов с определенными RTO и RPO
- Мониторинг: Prometheus, Grafana
- Уведомления: Оповещения по электронной почте
- Методология разработки: Spec-Driven Development (SDD)
- ИИ-инструменты разработки: Claude Code, Cursor, OpenCode
Результаты
За 1,5 месяца команда СКЭНД подготовила прототип к промышленной эксплуатации, повысив производительность и безопасность приложения, ускорив развертывание и снизив стоимость обслуживания. Ключевые результаты проекта:
- Производительность и масштабируемость. Задержка P99 составила менее 300 мс при нагрузке 98 запросов в секунду. Тестирование проводилось с учетом примерно 200 активных пользователей в день и 500 в месяц.
- Скорость и стоимость обслуживания. Время выпуска обновлений сократилось до 2 минут благодаря автоматизации CI/CD. Ежемесячные расходы на инфраструктуру, хостинг и электронную почту снизились со 126 до 22 долларов США, включая НДС, — на 83%.
- Безопасность и надежность. Команда устранила 1 критическую и 4 уязвимости средней степени серьезности, связанные с OWASP Top 10. Также специалисты внедрили PostgreSQL, автоматизированные миграции Prisma, Docker, резервное копирование, защиту Cloudflare, мониторинг Prometheus и Grafana и оповещения по электронной почте.
- Независимость и дальнейшее развитие. Команда перевела приложение на независимый процесс разработки и развертывания на базе GitHub. Клиент получил возможность самостоятельно развивать продукт с помощью ИИ-ассистентов без привязки к Google AI Studio.