Студия НАДО
Поддержка и развитие SaaS-платформы для поиска тендеров на Laravel и PostgreSQL
Студия НАДО
#Поддержка и развитие сайта#Программирование сайта

Поддержка и развитие SaaS-платформы для поиска тендеров на Laravel и PostgreSQL

14 
Студия НАДО Россия, Омск
Поделиться: 0 0 0
Поддержка и развитие SaaS-платформы для поиска тендеров на Laravel и PostgreSQL
Сфера

Финансы, страхование, инвестиции

Сдано

Июнь 2025

Задача

EWATender — SaaS-платформа для поиска и анализа государственных и коммерческих тендеров.

Сервис агрегирует информацию с различных площадок, помогает пользователям искать закупки, а также предоставляет дополнительные образовательные продукты и услуги тендерного сопровождения.

За годы развития система превратилась в крупный легаси-проект с большим количеством интеграций, парсеров и внутренних сервисов.

На протяжении примерно пяти лет систему развивал один разработчик. После его ухода выяснилось сразу несколько критичных проблем:

- отсутствовала техническая документация;

- бизнес не понимал устройство собственного продукта;

- часть парсеров перестала корректно работать;

- код был распределён между несколькими репозиториями или вовсе отсутствовал;

- внешние сервисы и доступы были известны только бывшему разработчику.

Кроме исправления ошибок, наша задача заключалась в том, чтобы принять проект на полноценную техническую поддержку и сделать его независимым от конкретного исполнителя.

Решение

Что мы сделали

Провели технический аудит проекта

Работа началась с полной инвентаризации системы. Мы изучили архитектуру платформы, восстановили принципы работы сервисов и одновременно начали создавать техническую документацию, которой ранее не существовало. Фактически пришлось выполнить обратный инжиниринг проекта.

Восстановили работу парсеров

Основная ценность платформы — актуальная информация о тендерах. Во время аудита выяснилось, что часть парсеров работала некорректно. Из-за этого пользователи не видели часть закупок. Мы проверили работу всех парсеров, определили причины ошибок и восстановили корректную обработку различных источников данных.

Решили проблему после изменения API государственных закупок

Во время сопровождения произошел критический инцидент.

Основной источник данных изменил способ предоставления информации и ввел ограничения на количество запросов. Стандартный механизм перестал позволять получать весь необходимый объем данных. Мы проанализировали доступные варианты и реализовали альтернативный способ получения информации через API мобильного приложения.

После этого появилась новая проблема — ограничение количества страниц при выборке. Мы переработали алгоритм запросов, разделив их по категориям и типам закупок, что позволило продолжить получать полный объем данных.

Создали техническую документацию

Одной из важнейших задач стало документирование проекта. Мы подготовили более 30 технических документов, описав:

  • архитектуру системы;

  • работу каждого парсера;

  • внешние интеграции;

  • резервное копирование;

  • запуск проекта;

  • обслуживание инфраструктуры;

  • используемые сервисы.

После завершения работ клиент получил полный комплект документации для дальнейшего сопровождения системы.

Передали клиенту исходный код

До начала проекта часть кода отсутствовала в репозиториях или находилась только у предыдущего разработчика. Мы объединили кодовую базу, подготовили единый Git-репозиторий и передали его заказчику вместе с историей изменений. Теперь проект может сопровождать любая команда разработки.

Работа с PostgreSQL

Проект использовал PostgreSQL вместо более привычного для нас MySQL. Во время сопровождения мы подробно изучили существующую архитектуру базы данных и особенности реализации.

В проекте активно использовались:

  • партиционирование больших таблиц;

  • JSON-поля;

  • полнотекстовый поиск PostgreSQL;

  • Foreign Data Wrappers;

  • хранимые процедуры и триггеры.

Это позволило понять существующую архитектуру без переписывания системы и безопасно продолжить развитие проекта. Сегодня мы применяем этот опыт и на других проектах с PostgreSQL.

Что было сделано

  • проведен аудит легаси-проекта;

  • восстановлена работа парсеров;

  • реализован новый механизм получения данных после изменения API;

  • подготовлено более 30 документов технической документации;

  • выполнена инвентаризация внешних сервисов;

  • создан единый Git-репозиторий;

  • восстановлена управляемость проекта.

Результат

После завершения работ компания перестала зависеть от одного разработчика.

Клиент получил:

  • полностью документированную систему;

  • рабочие парсеры тендерных площадок;

  • прозрачную архитектуру проекта;

  • единый репозиторий исходного кода;

  • информацию обо всех внешних интеграциях;

  • возможность безопасно развивать платформу с любой новой командой разработки.

https://crm.ewatender.com/

Стек технологий

  • PHP PHP Язык программирования
  • Nuxt.js Nuxt.js Фреймворк/библиотека
  • Vue.js Vue.js Фреймворк/библиотека
  • PostgreSQL PostgreSQL База данных

Оцените кейс
Спасибо за оценку
Выскажите мнение
Авторизуйтесь, чтобы добавить свой комментарий.
оставить заявку

Хотите заказать похожий проект?

Студия НАДО с удовольствием обсудит вашу задачу

Оставить заявку