ЖЖИТНЯКОВDigital System Обсудить проект
ProductionCOMMERCE / DATA

Hermes / Tradefon

Агрегатор оптовых прайсов электроники в Telegram: сбор из каналов и файлов поставщиков, поиск по каталогу, розничные интерфейсы и публичное API.

Production · действующая система агрегации, отдельная от Tradefon Market

АРХИТЕКТУРНАЯ СХЕМА: HERMESКаналыПарсерыХранилищеБоты и APIВитрина
Архитектурная схема по документации проекта (не скриншот). Настоящий интерфейс будет добавлен после проверки.
  • 1 685тестовых функций в 123 файлах
  • 12маршрутов публичного API
  • 14команд бота
  • 16таблиц хранилища

Тесты считаются по числу тестовых функций в репозитории; прохождение тестов здесь не утверждается.

Задача

Прайсы приходят в разных форматах и из разных каналов. Вручную сравнивать предложения долго, а розничному клиенту нельзя показывать внутренние данные.

Личный инженерный вклад

Автор и разработчик системы.

Решение

  • Сбор сообщений и файлов из каналов в единое хранилище с полнотекстовым поиском (SQLite WAL + FTS5)
  • Два режима бота: внутренний и розничный. В розничном скрыты поставщик, закупочная цена и ссылки на источники
  • Публичное API каталога и React-витрина, Telegram Mini App с проверкой подписи initData
  • Дашборд на Streamlit для контроля парсеров и заявок
Статус Production и ограничения

Работает для реальных пользователей и поддерживается. Лимиты по IP с отказом по умолчанию, ограничение длины поискового запроса, проверка доверенных прокси при старте, HMAC-проверка данных Mini App. Закупочные цены, маржа и поставщики на сайте не раскрываются.

Технологии

Python 3.13TelethonSQLite FTS5FastAPIReactTypeScriptDocker

Источник фактов: tradefon-mini-app-prod: README.md, hermes/api.py, hermes/handlers.py, hermes/db.py, tests/.