Чередование · 2025 – продолжается
S-Print v4
Переработка платформы Société des Grands Projets, где подрядчики подают декларации: с Java/Vue на Symfony и React.
История
S-Print — платформа, которую SGP предоставляет своим контрактным партнёрам для декларирования и проверки данных: экономической деятельности и рабочих мест, созданных при строительстве Grand Paris Express, а также безопасности на стройплощадках. Она отслеживает точные обязательства по контрактам, например резервирование не менее 20 % суммы для малого и среднего бизнеса и 10 % часов для людей, далёких от рынка труда.
Версия 3 основана на Java и Vue.js. Версия 4, которую я помогаю создавать, заменяет её на Symfony и API Platform на стороне сервера, TypeScript и React на стороне интерфейса. Цель: заменить Excel-файлы, которые присылали компании, удобным интерфейсом ввода с контролируемыми справочниками и автоматизировать передачу данных в аналитический инструмент Cockpit. Также речь о модернизации технической базы, сокращении долга и упрощении изменений.
Я специалист по разработке в команде S-Print подразделения разработки. Я шаг за шагом, функциональность за функциональностью воссоздаю то, что делает версия 3: страницы и компоненты React/TypeScript (список и поиск компаний, просмотр данных о несчастных случаях, списки и формы экономического следа, создание контрактов), переиспользуемый механизм вызовов API с аккуратной обработкой ошибок, доработки сервисов Symfony и их API-тесты. Я проверяю код, пишу и запускаю тесты, документирую и по очереди провожу agile-церемонии.
Пока v4 не завершена, v3 остаётся в эксплуатации: поэтому мне всегда нужно анализировать существующее, чтобы ничего не упустить. Одна из моих целей вместе с наставником: внести вклад в выпуск версии 4.0.0 и активно участвовать в ревью кода.
Что я из этого выношу
Перестраивать, ничего не ломая: понять старую версию, аккуратно переписать её, сравнить поле за полем. За каждым полем формы стоит реальное обязательство перед местной занятостью и малым бизнесом, поэтому точность данных — приоритет.