Информационные технологии и интернет
Август 2026
Создать демонстрационную fullstack-систему для автоматизации внутренних процессов согласования заявок в компании.
Требовалось реализовать понятный workflow, в котором сотрудник может создать и отправить заявку на согласование, руководитель — рассмотреть её и принять решение, а система — контролировать допустимые переходы между состояниями и сохранять историю действий.
Отдельными требованиями были разграничение доступа по ролям, защита данных разных пользователей, обработка конкурентных изменений, предсказуемые API-контракты, фильтрация и пагинация списков, а также возможность повторно открыть отклонённую заявку, внести изменения и снова отправить её на согласование.
Проект создавался как демонстрация архитектуры корпоративного workflow-приложения и инженерных подходов, применимых при разработке внутренних бизнес-систем.
ApprovalFlow реализован как разделённое fullstack-приложение с Java/Spring Boot backend и отдельным интерфейсом на React и TypeScript.
На серверной стороне реализована ролевая модель доступа с использованием Spring Security. Сотрудник может создавать заявки в статусе черновика, редактировать их, отправлять на согласование, просматривать историю изменений и повторно открывать отклонённые заявки. Руководитель работает с отдельной очередью заявок и может принимать или отклонять их с указанием причины.
Все переходы между состояниями проверяются сервером. Для защиты от конфликтов при параллельном изменении данных используется optimistic locking, а история переходов хранится отдельно и позволяет восстановить последовательность действий по заявке.
Данные хранятся в PostgreSQL. Структура базы управляется миграциями Flyway, а Hibernate используется в режиме проверки соответствия схемы модели приложения.
Frontend реализован на React и TypeScript с защищёнными маршрутами и интерфейсом, который учитывает роль текущего пользователя.
Для проверки бизнес-логики и работы с реальной PostgreSQL используется интеграционное тестирование через Testcontainers. В проекте настроен CI через GitHub Actions, а для локальной демонстрации подготовлен контейнеризированный контур на Docker Compose с PostgreSQL, backend и frontend через Nginx.
В результате получился воспроизводимый демонстрационный контур корпоративной workflow-системы, на котором можно показать полный цикл обработки заявки — от создания сотрудником до решения руководителя и сохранения истории процесса.
В результате был создан рабочий демонстрационный контур корпоративной системы согласования заявок с разделением пользователей по ролям и контролируемым жизненным циклом бизнес-процесса.
Реализован полный сценарий работы сотрудника и руководителя: создание и редактирование заявки, отправка на согласование, просмотр очереди руководителем, принятие или отклонение заявки, повторное открытие отклонённой заявки и сохранение истории переходов между состояниями.
Серверная часть обеспечивает разграничение доступа, проверку допустимых переходов, защиту данных пользователей и обработку конфликтов конкурентного изменения. Для хранения данных используется PostgreSQL с управляемыми миграциями схемы.
Проект получил отдельный frontend на React и TypeScript, backend на Java/Spring Boot, интеграционный тестовый контур с PostgreSQL через Testcontainers и воспроизводимое локальное окружение на Docker Compose.
На текущем этапе реализован и проверен основной MVP и демонстрационный workflow. Проект предназначен для демонстрации архитектурных и инженерных подходов к разработке внутренних корпоративных систем и не позиционируется как готовая публичная production-система.
![]()
Станислав Ларин
Fullstack-разработчик
ApprovalFlow создавался не как очередной CRUD-пример, а как модель реального внутреннего бизнес-процесса. Поэтому основной акцент был сделан на жизненном цикле заявки, разграничении ролей, истории действий, защите от конфликтующих изменений и тестируемости бизнес-логики. Проект показывает подход Stalar Vision к разработке систем, где важна не только работа интерфейса, но и предсказуемость поведения всей системы.