Разработка Telegram Mini Apps
дистанционно
договорная
Пожелания и особенности: Разработка Telegram и MAX Mini App (WebApp) и Backend-системы для автоматизированного склада Self-Storage (хранение вещей) 1. Общее описание проекта Требуется разработать систему автоматизации для «безлюдного» склада временного хранения (Self-Storage) на 61 ячейку разной размерности (от 1 до 15 кв. м). Интерфейс взаимодействия с клиентом — Telegram Mini App MAX Mini App (WebApp). Управление складом, СКУД (система контроля доступа) и замками ячеек должно происходить автоматически на основе статуса оплаты и аренды в базе данных. 2. Архитектура и стек технологий (Рекомендуемый готовы обсуждать и ваши предложения ) Backend: Python (FastAPI / Django / Sanic), SQLAlchemy / Tortoise ORM. Frontend (Mini App): React.js / Vue.js / Next.js + TailwindCSS (клиентская часть должна быть легковесной и адаптированной под мобильный интерфейс Telegram). База данных: PostgreSQL / СУБД Redis (для сессий и очередей). Бот-платформа: Aiogram 3.x. Протоколы интеграции СКУД: HTTP / TCP-запросы (вебхуки) к контроллеру автоматики (Wiren Board / Laurent / Modbus-шлюз по шине RS-485). 3. Роли пользователей Клиент: Пользователь Telegram, который регистрируется, выбирает, оплачивает ячейку и управляет доступом (открытием дверей) через интерфейс Mini App. Администратор: Владелец бизнеса. Имеет доступ к панели управления (также через WebApp или защищенный веб-интерфейс) для контроля склада, ручного открытия замков и проверки документов. 4. Функциональные требования: Пользовательский интерфейс (Client Flow) Блок 1: Авторизация и KYC (Верификация) Вход в Mini App без пароля (используется валидация initData от Telegram). Форма первичной регистрации: ФИО, Контактный телефон (подтверждение через SMS или Telegram Shared Contact). Загрузка фото паспорта (главный разворот + прописка) и селфи с паспортом. Данные отправляются в БД со статусом «На проверке». Блок 2: Каталог и Интерактивная карта Вывод доступных тарифов по категориям/размерам: Локеры (1 кв. м), Боксы (5, 8, 10, 15 кв. м). Визуальная схема (карта) склада: свободные ячейки подсвечиваются зеленым, занятые — серым. При клике на свободную ячейку открывается карточка: размер, цена в месяц, кнопка «Забронировать». Бронь закрепляется за пользователем на 15 минут. Блок 3: Оплата и Подписка (Рекуррентные платежи) Интеграция с интернет-эквайрингом (Т-Банк) по API. Возможность оплаты картой или через СБП (Систему быстрых платежей). Обязательно: Реализация рекуррентных платежей (автопродление подписки каждый месяц с привязанной карты). Интеграция с Облачной кассой (Атол Онлайн / CloudKassir) для отправки чеков в ИФНС по 54-ФЗ. Блок 4: Управление доступом (СКУД) Вкладка «Моя аренда» появляется после успешной оплаты: Кнопка «Открыть входную дверь склада»: Активна только при наличии оплаченной аренды. При нажатии бэкенд отправляет HTTP/TCP запрос на IP-адрес главного контроллера склада. Кнопка «Открыть мою ячейку №[Х]»: При нажатии сервер отправляет команду на релейный модуль, к которому привязан замок конкретной ячейки. Ограничение: Защита от случайных нажатий (Double-click protection) и таймаут между открытиями (например, не чаще 1 раза в 30 секунд). 5. Функциональные требования: Панель администратора (Admin Flow) Должна быть реализована в виде WebApp внутри Telegram (доступ только для разрешенных Telegram ID). Управление пользователями: Список клиентов, просмотр загруженных паспортов, кнопки «Одобрить верификацию» / «Отклонить». Управление складом: Сетка всех 61 ячеек с возможностью вручную изменить статус (Свободна / Занята / Заблокирована / Техническое обслуживание). Логирование действий: История открытий дверей (кто, во сколько и какую дверь открыл) для разбора инцидентов. Прямое управление: Кнопки экстренного открытия входной двери и любой выбранной ячейки администратором удаленно. 6. Системная логика и Фоновые задачи (Cron) Скрипт проверки сроков: Раз в сутки система проверяет даты окончания аренды. За 3 дня до списания — отправка уведомления в бот: «Напоминаем, через 3 дня спишется ХХХ руб. за продление ячейки». Если автоплатеж не прошел — попытка повторного списания через 1 день. Клиенту уходит уведомление об ошибке. В день окончания оплаченного периода (при отсутствии оплаты) статус ячейки меняется на «Просрочена», в Mini App автоматически блокируются кнопки открытия дверей для данного пользователя. 7. Требования к интеграциям Эквайринг: Т-Банк API (работа с токенами карт для рекуррентных списаний). Фискализация: CloudKassir / Атол по API. СКУД (Железо): Отправка REST/TCP команд на релейные платы управления замками (конкретное железо выберем совместно с исполнителем, предварительно — платы расширения на базе протокола Modbus/RS-485 через шлюз или Laurent).
2026-05-18
Откликнуться