Кейс: TenderBot — платформа для управления строительными тендерами

Ниша: Строительство, тендерные процедуры Стек: Python, Aiogram 3, PostgreSQL, Google Sheets/Drive API, Docker

Задача клиента

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

Решение от Flowcore

Мы спроектировали и разработали многокомпонентную тендерную систему, центральным интерфейсом которой стал Telegram-бот. Через него менеджеры создают тендеры, подрядчики получают персонализированные предложения и отправляют отклики, а администраторы управляют ролями и базой участников.

Архитектура построена с упором на надежность, асинхронность и удобство для нетехнических сотрудников: Google Sheets используется как понятная админ-панель для справочников, а Google Drive — как единое хранилище проектной документации.

Ключевые реализованные возможности:

  • Пошаговое создание тендеров: Менеджеры формируют заявки через FSM-сценарий с подтверждениями, кнопками "Назад", множественным выбором и пагинацией.
  • Иерархия специализаций: Реализована древовидная структура из 35+ категорий работ в PostgreSQL. Система умеет раскрывать родительские категории и точно подбирать подрядчиков.
  • Автоматический подбор подрядчиков: Бот выбирает релевантных исполнителей из базы по специализации, рейтингу и доступным данным компании.
  • Google Drive для документации: Для каждого тендера создается стандартизированная структура папок, куда загружаются исходные документы и сметы BoQ от подрядчиков.
  • Персональные отклики подрядчиков: Подрядчики получают подходящие тендеры, отправляют цену, сроки, комментарии и прикрепляют смету прямо через Telegram.
  • Синхронизация с Google Sheets: APScheduler запускает автоматическую синхронизацию администраторов, менеджеров и подрядчиков при старте и по расписанию.
  • Ролевая модель: Интерфейсы и права администратора, менеджера и подрядчика разделены через кастомные фильтры Aiogram.

Технические детали

Бэкенд реализован на Python 3.11, Aiogram 3 и SQLAlchemy 2.0 в асинхронном режиме. PostgreSQL хранит тендеры, подрядчиков, специализации, роли и статусы откликов. Фоновые задачи синхронизации выполняются через APScheduler.

Для безопасной работы с Google Drive внедрена OAuth 2.0-аутентификация. Бот работает с диском от имени пользователя, использует его квоту и не упирается в ограничения сервисных аккаунтов. Проект полностью контейнеризирован через Docker и Docker Compose для быстрого развертывания на сервере.

Результат

Заказчик получил автономную систему, которая сокращает запуск тендера с нескольких часов до 5-10 минут. Вся документация хранится в единой структуре Google Drive, подрядчики получают релевантные предложения, а менеджеры видят прозрачную историю заявок, статусов и откликов.

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

Python 3.11, Aiogram 3, SQLAlchemy 2.0, PostgreSQL, APScheduler, Google Sheets API, Google Drive API, OAuth 2.0, Docker, Docker Compose, Git.

Связанные материалы

Как создать Telegram-бота

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

Читать гайд

Telegram-бот с Google Sheets

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

Читать гайд

Аналитика маркетплейсов

Как автоматизировать сбор данных, P&L, витрины и отчеты по маркетплейсам.

Читать гайд

Хотите автоматизировать тендеры или заявки?

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