Fortech
  • Аутстаффинг
  • Аутсорс
  • Веб-разработка
  • Мобильная разработка
  • ИИ-решения
  • UI/UX-дизайн
  • Техническая поддержка
КейсыКонтактыО насБлогКарьера
Связаться
  • Аутстаффинг
  • Аутсорс
  • Веб-разработка
  • Мобильная разработка
  • ИИ-решения
  • UI/UX-дизайн
  • Техническая поддержка
КейсыКонтактыО насБлогКарьера
Связаться
Fortech
Юридический адрес
344011, Ростовская область, г. Ростов-на-Дону, Лермонтовская ул, д. 22, офис 6, 7, 8
ИНН / КПП
6154162274 / 616401001
ОГРН
1226100005922
ОКВЭД
62.01 Разработка компьютерного программного обеспечения
Код вида деятельности в области IT
1.01, 1.04, 1.05, 1.06

Услуги

  • Аутстаф
  • Аутсорс
  • Веб-разработка
  • Мобильная разработка
  • ИИ-решения
  • UI/UX-дизайн
  • Техническая поддержка

Компания

  • Кейсы
  • Контакты
  • О нас
  • Блог

Соцсети

  • ВКонтакте
  • MAX
  • Telegram
  • Workspace
  • YouTube

Аккредитованная IT-компания
Запись №25727 от 13.04.2022

Минцифры России

Позвать нас в тендер

  • bidzaar
  • B2B-Center
Контент © fortech.dev • 2026Политика конфиденциальностиПолитика обработки персональных данных
  1. Главная/
  2. Кейсы/
  3. Закрытая платформа и мобильное приложение бизнес-клуба: восстановили сервисы и навели порядок в импорте из CRM

Закрытая платформа и мобильное приложение бизнес-клуба: восстановили сервисы и навели порядок в импорте из CRM

Как мы вернули в работу два веб-сервиса после переезда кода, переписали тяжёлый импорт данных участников из AmoCRM и сделали массовую рассылку в Telegram

О проекте

Заказчик это закрытый клуб предпринимателей. Главный рабочий инструмент участников это мобильное приложение на Flutter. В нём они записываются на онлайн- и офлайн-мероприятия, обмениваются опытом и ищут деловые знакомства.

У платформы несколько сценариев. В разделе «Запросы» участник описывает задачу, а другие участники клуба отвечают своей экспертизой. Random Coffee случайно составляет пары для деловых встреч. Есть поиск наставника. Права в системе зависят от того, на каком этапе участник: например, «гостевой месяц» открывает одно, а полноценное членство другое.

Внутри это несколько сервисов. Основной бэкенд написан на PHP (Laravel и Symfony), часть сервисов и чат-бот на .NET 8 с фреймворком ABP, данные в PostgreSQL и Redis. Всё работает в Kubernetes в Yandex Cloud, сборка в GitLab. Разработчик Фортех подключился к проекту в декабре 2024 года и работал в бэкенд-команде заказчика.

Задача

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

Реализация

Ограничения задачи

Данные участников идут по длинной цепочке: AmoCRM, хранилище данных, сервис на ASP.NET и только потом основной бэкенд на PHP. Ошибка на любом шаге превращается в жалобу пользователя, поэтому импорт нельзя было просто выключить и переписать заново.

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

Команде не хватало людей: DevOps-инженер работал сразу на несколько проектов, CI/CD был настроен не для всех сервисов.

Решение

Сервисы после переезда. Приложение запросов это небольшое SPA, которое не перенесли вместе с остальным кодом, и оно перестало работать. Разработчик Фортех развернул его в Kubernetes, в тестовом и рабочем кластерах. С приложением авторизации было похоже: на проде стояла старая версия. Её исправили и написали конфигурации, чтобы одну и ту же сборку можно было разворачивать и на тестовом стенде, и на проде.

План рефакторинга импорта. Импорт разобрали целиком, составили план работ и разбили его на этапы. План согласовали с заказчиком. Первый этап касался самого проблемного участка, передачи данных из сервиса на ASP.NET в основной бэкенд на PHP.

C#PostgreSQLFlutterVueDocker

Тяжёлые запросы. Основная работа была в оптимизации SQL. Запросы UPDATE и DELETE вынесли из циклов, а множественные UPDATE заменили одной операцией MERGE. Все SELECT вынесли из транзакций, а несколько транзакций объединили в одну. Код импорта разнесли по отдельным методам, чтобы его можно было читать и тестировать по частям.

Рассылка в Telegram. Старый механизм уведомлений убрали. Вместо него разработчик написал алгоритм массовой рассылки сообщений пользователям в Telegram.

После этого по плану идут сценарии тестирования и само тестирование нового импорта.

Результат

Приложение запросов и приложение авторизации снова работают и разворачиваются в Kubernetes одинаково на тестовом стенде и на проде.

У импорта из AmoCRM есть согласованный с заказчиком план по этапам. Первый, самый проблемный участок переписан: запросы больше не крутятся в циклах, транзакций стало меньше, код разделён на понятные методы.

Уведомления участникам клуба уходят через новый механизм массовой рассылки в Telegram.

Частые вопросы

Почему при импорте из CRM у пользователей сбиваются данные?
Чаще всего из-за того, что импорт обновляет записи по одной в цикле и в нескольких разных транзакциях. Если что-то падает посередине, часть данных уже записана, а часть нет. Помогают массовые операции вроде MERGE и одна транзакция на весь пакет.

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

Что делать, если после смены подрядчика перестали работать сервисы?
Проверить, всё ли перенесли, и какие версии развёрнуты на каждом стенде. В этом проекте одно приложение просто забыли перенести, а у другого на проде осталась старая версия.

Работает ли Фортех с проектами на нескольких языках сразу?
Да. Здесь бэкенд состоит из сервисов на PHP и .NET, и разработчик Фортех работал как раз на стыке между ними.

Нужен похожий проект?

Расскажите о задаче — оценим сроки и стоимость за 2–3 рабочих дня.

Написать в Telegram →

Связанные услуги

  • Backend-разработка
  • Техническая поддержка сайтов и IT-проектов

Другие кейсы

  • Обложка кейса Фортех: Подписание документов девелопера

    Единый сервис подписания документов через Контур.Диадок для девелопера

    Как мы с нуля сделали микросервисы, которые принимают документы из внутренних систем, отправляют их на подпись в Диадок, следят за статусами и хранят архив

  • Обложка кейса Фортех: Платформа автодилера

    Бэкенд микросервисной платформы для сети автосалонов

    Как бэкенд-разработчик Фортех 1 год и 3 месяца работал в одной из двадцати команд автодилера: интеграции, общий NPM-пакет, новая авторизация и наблюдаемость

  • Внутренняя информационная система колл-центра по вопросам здравоохранения и COVID–19

    Внутренняя информационная система колл-центра по вопросам здравоохранения и COVID–19

    Доработали бэкенд системы колл-центра: статистика по операторам, темам и времени ожидания, отчёты по COVID-19 для госорганов в Excel и PDF

  • Обложка кейса Фортех: Учёт ремонта скважин

    Система учёта и контроля ремонта скважин для нефтяной компании

    Как мы перевели авторизацию на Keycloak, подготовили продукт к поставке без внешних интеграций и добавили новые виды ремонтов и отчётов

Готовы начать?

Опишите задачу — пришлём оценку проекта за 2–3 рабочих дня или резюме специалистов за 1–2 рабочих дня.

  • partners@fortech.dev
  • +7 (989) 617-13-94
  • Телеграм: @fortech_sales