TMS Perevod4

Кейсы / Веб-приложение · TMS

TMS, на котором держится бюро переводов.

Наглядный пример нашей разработки веб-приложений на заказ: полноценная Translation Management System, собранная нашей командой для бюро переводов группы. Заказы, клиенты, переводчики, сметы и счета в одной платформе — в продакшене каждый день.

tms.perevod4.ru ↗

tms.perevod4.ru
Доска заказов TMS на tms.perevod4.ru: каждый заказ со статусом, клиентом и сроком

Проблема

Вести бюро на таблицах и почте — не выход.

Бюро переводов ведёт сотни заказов в месяц: у каждого заказа есть клиент, языковая пара, специализация, файлы, смета, назначенный переводчик, срок и счёт. Держать всё это в таблицах, чатах и почте — значит одно: рано или поздно что-то потеряется, и потеряется именно сдача.

Нужна была одна система, а не десять разрозненных инструментов. Одно место, где у каждого заказа есть статус, у каждого клиента — карточка, у каждого переводчика — загрузка, а у каждой работы — свой счёт.

Наш ответ

Полноценный TMS, собранный нами.

Мы спроектировали и разработали отдельную Translation Management System: веб-приложение, через которое проходят заказ, оплата, назначение, сдача и бухгалтерия. Это внутренняя операционная система группы — мы пользуемся ей каждый день. И это та же инженерия, которую мы вкладываем в веб-приложения на заказ для наших клиентов.

Единый источник правды: заказы, клиенты, переводчики, файлы, платежи
Каждое действие с заказом фиксируется в хронологическом журнале
Четыре роли — клиент, переводчик, проект-менеджер, администратор
Доступ к файлам только через защищённый эндпоинт, никогда не статикой в открытую

Что мы построили

Функции — от первой сметы до последнего счёта.

01Калькулятор сметы. Тарифы по языковой паре, типу услуги и специализации; цена считается до заказа, с откатом на базовый тариф.
02Мастер заказа в 3 шага. Клиент выбирает пару, услугу и специализацию, прикладывает файлы и видит оценку. Затем оплачивает.
03Анализ файлов. Загрузка docx, pdf, xlsx и txt с подсчётом знаков и определением языка и кодировки в фоне.
04Оплата и подтверждение. Карта для физлиц, счёт для компаний; менеджер подтверждает финальную цену, всё фиксируется.
05Рабочее место менеджера. Дашборд со статистикой, полная карточка заказа, назначение переводчиков и редакторов, чат с клиентом внутри заказа.
06Реестр переводчиков. Список, приглашения по почте, активация, загрузка по каждому.
07Глоссарии. Общие, по клиенту и по проекту, с экспортом для работы во внешних CAT-инструментах.
08Перевод с помощью ИИ. Наш внутренний слой: память переводов, машинный перевод и постредактирование по целым документам.

Внутри системы

Реальные экраны из системы в продакшене.

tms.perevod4.ru
Карточка клиента в TMS tms.perevod4.ru с историей заказов

У каждого клиента есть карточка: данные, прошлые заказы, платежи и документы в одном месте.

tms.perevod4.ru
Раздел счетов и бухгалтерии TMS tms.perevod4.ru

Счета формируются системой в PDF, с историей платежей, привязанной к заказу.

@massimoalefBot
Telegram Mini App TMS, открытое внутри чата, со списком заказов

Ещё одна деталь

TMS ещё и внутри Telegram.

Мы перенесли основные функции в Telegram Mini App: заказы открываются прямо внутри чата, ничего не нужно устанавливать. Такую интеграцию в Италии пока предлагают немногие — а мы умеем её делать, потому что уже сделали её для себя.

Как всё устроено внутри

Архитектура, рассчитанная надолго.

Слоёный бэкенд (router → service → repository → model): бизнес-логика живёт в сервисах, никогда не в контроллерах и не в моделях. Фронтенд организован по функциональности, с единым источником правды для данных. Медленные операции — анализ файлов, генерация PDF, письма — проходят через очередь, поэтому интерфейс остаётся отзывчивым.

БэкендPython 3.12 + FastAPI — типизация, документированный API, нативный async
ДанныеPostgreSQL 16 — полнотекстовый поиск, поля JSONB, нативные enum
ОчередьCelery + Redis для фоновых задач и кеша
AuthJWT RS256, refresh в httpOnly-cookie, четыре роли
ФронтReact + Vite + TypeScript, TanStack Router и Query, Tailwind
ФайлыАбстрагированное хранилище с белым списком типов и защитой от path traversal
Тестыpytest на бэкенде, Vitest и Playwright на критичных сценариях
ДеплойDocker Compose, HTTPS с автоматическими сертификатами, файловые бэкапы

Этапы

Строили этапами, ничего не переделывая дважды.

Каждый этап даёт что-то работающее и готовит следующий. Тот же метод, которым мы выводим в онлайн проекты клиентов: сначала фундамент, потом поток, приносящий ценность, потом остальное.

01Фундамент. Структура проекта, аутентификация по ролям, дизайн-система, первая версия базы данных.
02Клиентский поток заказа. Каталоги, тарифы, калькулятор, загрузка файлов, мастер заказа, оплата, письма.
03Рабочее место менеджера. Дашборд, карточка заказа, реестр и назначение переводчиков, чат с клиентом.
04Рабочее место переводчика и финансы. Входящие задачи, сдачи, экономическая картина бюро.
05Глоссарии и перевод с помощью ИИ. Память переводов, машинный перевод и постредактирование по целым документам.

Результат

В продакшене, каждый день.

2 года

в продакшене, без возврата к таблицам

180

заказов в месяц, более 2000 в год

14

администраторов, проект-менеджеров и партнёрских агентств работают в ней

ПРОЕКТ ГРУППЫ REMARKA — МОЖНО ПРОВЕРИТЬ НА tms.perevod4.ru

Заинтересовал этот проект?

Нужно разработать похожее приложение или сайт? Обращайтесь.

Проектируем и разрабатываем сайты и веб-приложения на заказ для компаний и специалистов. Расскажите о своей идее: смета за 24 часа, фиксированная цена.