.работа
DotWorkBot
Смена без единой веб-страницы: биржа умещается в переписку, а прод-нагрузку тянет фоновый процесс.
суть
Биржа разовых смен целиком в Telegram: работодатель публикует смену, работник её берёт, а отдельный taskiq-воркер сам держит «физику» биржи, напоминает о выходе, освобождает неподтвердившихся и закрывает просроченные заказы, оставаясь единственным лидером через Redis-лок.
Платформа изнутри
Живая kanban-доска биржи смен, а не список полей. Попробуйте её ниже и посмотрите, как всё работает изнутри.
Это живая доска биржи разовых смен, и вы за работодателя. Работники сами берут смены: кто-то не выходит, кто-то уходит посреди смены, а большинство отрабатывают и сдают работу вам на приёмку: примите её или отклоните. Крутите часы, чтобы увидеть день целиком, или создайте свою смену.
Выберите тип: окно и ставка подставятся. Опубликуйте, и смена появится в «Открыто».
Окно: ·
- @ramil свободен
- @dilara свободен
- @artur свободен
- @lena свободен
- @timur свободен
- @sofia свободен
_operational_control_loop спит · ждёт такта
3 роли: worker · employer · admin PostgreSQL · Redis (FSM/throttle/lock) · MinIO/S3 фото · AES-бэкапы · VPS-деплой с откатом
масштаб
размер и срок: что стоит за продуктом.
архитектура
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-совместимом хранилище, публичные ссылки
стек
- Язык 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-совместимом хранилище: большие бинарники вне реляционной базы.
хронология
как продукт рос от первой версии.
-
6 May 2026
Старт и MVP
Роли работник/работодатель/админ, мульти-слотовые заказы, taskiq-воркер, MinIO, рейтинги, рассылки: всё ядро в первый день.
-
7-8 May 2026
Прод, бэкапы и мониторинг
Deploy pipeline на VPS с health-rollback, AES-зашифрованные бэкапы pg_dump и MinIO-зеркала, следом Portainer для мониторинга контейнеров и правка валидации при создании заказа.
-
1 Jul 2026
Хардненинг и аудит перед публикацией
Документация в стандарте DotCore, затем предпубличный хардненинг: ролевые фильтры доступа, непривилегированный контейнер, закреплённые версии зависимостей, редактирование секретов в логах, только последние 4 цифры карты вместо полного номера и presigned-ссылки MinIO вместо публичного доступа к фото. Git-история вычищена, аудит проходит вчистую и ставит зелёный бейдж.