network-user
ко всем проектам
Бот 6 May 2026 в проде

.работа

DotWorkBot

Смена без единой веб-страницы: биржа умещается в переписку, а прод-нагрузку тянет фоновый процесс.

суть

Биржа разовых смен целиком в Telegram: работодатель публикует смену, работник её берёт, а отдельный taskiq-воркер сам держит «физику» биржи, напоминает о выходе, освобождает неподтвердившихся и закрывает просроченные заказы, оставаясь единственным лидером через Redis-лок.

Платформа изнутри

Живая kanban-доска биржи смен, а не список полей. Попробуйте её ниже и посмотрите, как всё работает изнутри.

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

Часы города 9:00
Открыто 0
    нет открытых смен
    В работе 0
      никто не в работе
      На приёмке 0
        нет работ на приёмке
        Закрыто 0
          пока ничего не закрыто
          Работники города
          • @ramil 1.2 км · ★4.9 свободен
          • @dilara 2.0 км · ★4.7 свободен
          • @artur 3.4 км · ★4.8 свободен
          • @lena 0.8 км · ★5.0 свободен
          • @timur 5.1 км · ★4.6 свободен
          • @sofia 2.7 км · ★4.9 свободен
          Журнал воркера
          _operational_control_loop спит · ждёт такта

          3 роли: worker · employer · admin PostgreSQL · Redis (FSM/throttle/lock) · MinIO/S3 фото · AES-бэкапы · VPS-деплой с откатом

          масштаб

          размер и срок: что стоит за продуктом.

          11k строк кода
          3 роли: работник · работодатель · админ
          12 миграций базы данных
          VPS авто-деплой с health-rollback

          архитектура

          storage Bot API lock notify Telegram aiogram bot taskiq worker operational ctrl Redis · FSM PostgreSQL 16 MinIO · S3

          Bot API: апдейты пользователей и исходящие сообщения

          • aiogram bot Bot API

          Отдельный процесс: периодические циклы смен и бэкапов

          • operational ctrl
          • Redis · FSM lock

          Polling-диспетчер: роутеры по ролям, middleware сессии и бана

          • PostgreSQL 16
          • Redis · FSM
          • MinIO · S3

          Физика смен: напоминания, релиз неявок, авто-закрытие

          • PostgreSQL 16
          • Telegram notify

          FSM-хранилище, лидер-лок воркера, маркеры бэкапов

          Заказы, назначения, пользователи, рейтинги, рассылки

          Фото заказов в S3-совместимом хранилище, публичные ссылки

          Нажми на модуль: покажу его роль в системе.

          стек

          состав стека по слоям · 15
          • Язык 1
          • Фреймворк 4
          • Данные 3
          • Инфраструктура 4
          • Клиент 3

          Язык

          • Python 3.12

          Фреймворк

          • aiogram 3.27
          • SQLAlchemy 2
          • pydantic-settings
          • structlog

          Данные

          • PostgreSQL 16
          • Redis
          • MinIO / S3

          Инфраструктура

          • Docker Compose
          • Alembic
          • taskiq
          • pyzipper AES backups

          Клиент

          • Telegram Bot API
          • reply keyboards
          • inline keyboards

          что умеет

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

          Роли и маршруты

          Работник, работодатель и админ получают разные меню и фильтры доступа; регистрация работника: пошаговый FSM с телефоном, городом и геолокацией.

          Заказы и смены

          Создание заказа, мульти-слотовые назначения, жизненный цикл open → in_progress → completed/cancelled и уведомления всем участникам.

          Операционный контроль

          taskiq-воркер шлёт напоминания о выходе, освобождает неподтверждённых работников и сам закрывает просроченные заказы.

          Рассылки и защита

          Рассылка новых заказов с таргетингом по городу и дедупом, админ-рассылки, плюс rate-limit и бан-проверки в middleware.

          Бэкапы и деплой

          AES-зашифрованные бэкапы (pg_dump + зеркало бакета MinIO), restore-скрипты и авто-деплой на VPS с откатом по health-check.

          Рейтинги и хранилище

          Оценки работников в отдельной модели и фотографии заказов в S3-совместимом хранилище: большие бинарники вне реляционной базы.

          хронология

          как продукт рос от первой версии.

          1. 6 May 2026

            Старт и MVP

            Роли работник/работодатель/админ, мульти-слотовые заказы, taskiq-воркер, MinIO, рейтинги, рассылки: всё ядро в первый день.

          2. 7-8 May 2026

            Прод, бэкапы и мониторинг

            Deploy pipeline на VPS с health-rollback, AES-зашифрованные бэкапы pg_dump и MinIO-зеркала, следом Portainer для мониторинга контейнеров и правка валидации при создании заказа.

          3. 1 Jul 2026

            Хардненинг и аудит перед публикацией

            Документация в стандарте DotCore, затем предпубличный хардненинг: ролевые фильтры доступа, непривилегированный контейнер, закреплённые версии зависимостей, редактирование секретов в логах, только последние 4 цифры карты вместо полного номера и presigned-ссылки MinIO вместо публичного доступа к фото. Git-история вычищена, аудит проходит вчистую и ставит зелёный бейдж.