Участник:Александр Попов

Материал из Поле цифровой дидактики

Определение функциональных требований

Перед разработкой системы RarePay была проведена аналитика внутренних процессов бренда RARE MOD, направленная на выявление узких мест в обработке расходов сотрудников. Основной проблемой являлось отсутствие централизованного и прозрачного механизма подачи заявок и контроля оплат. Целью проекта стало создание автоматизированного чат-бота, который упрощает процесс подачи заявок, снижает нагрузку на бухгалтерию и формирует прозрачную систему учета расходов. Ключевая идея проекта: Создать единый канал взаимодействия между сотрудником и бухгалтерией, объединяющий создание заявки, учет данных и подтверждение оплаты.

Функциональные требования: Создание заявки на оплату через чат-бот Пошаговое заполнение данных (сумма, назначение, категория) Автоматическая запись данных в Google Sheets Отправка заявки бухгалтеру в отдельный чат Уведомление пользователя о статусе заявки Обработка статусов (ожидание / одобрено / оплачено / отклонено) История заявок пользователя Валидация вводимых данных

Нефункциональные требования: Высокая скорость обработки запросов Надежность доставки сообщений Защита данных сотрудников Масштабируемость под рост команды Простота использования (минимум действий) Таким образом, RarePay выступает как инструмент оптимизации внутренних процессов, а не просто чат-бот.

Получение API и конфигурация проекта

Для работы системы используются внешние сервисы и API: Telegram Bot API — взаимодействие с пользователем Google Sheets API — хранение данных (опционально) webhook-сервер для обработки событий

Процесс настройки: Создание бота через @BotFather Получение токена Telegram Подключение Google Cloud и Sheets API Настройка таблицы для учета Конфигурация backend

Пример .env: TELEGRAM_BOT_TOKEN="your_token" GOOGLE_SHEETS_CREDENTIALS="path_to_json" SPREADSHEET_ID="your_sheet_id" ACCOUNTING_CHAT_ID="chat_id" Использование переменных окружения позволяет обеспечить безопасность и изолировать чувствительные данные.

Архитектурное проектирование системы

Система построена по принципу event-driven архитектуры с разделением логики.

Компоненты: Bot Layer — обработка сообщений пользователя Backend — логика заявок Data Layer — Google Sheets Notification Layer — отправка уведомлений Такой подход позволяет легко масштабировать систему и добавлять новые функции.

Общая схема работы системы

Описание процесса: Пользователь создает заявку Бот собирает данные Данные записываются в таблицу Заявка отправляется бухгалтеру После оплаты приходит уведомление

Детализация backend-логики

Backend реализует бизнес-логику и управление состояниями заявок.

Ключевые функции: Обработка команд (/start, /new, /status) Валидация данных Генерация ID заявки Работа со статусами Логирование

Управление состоянием пользователя

Каждый пользователь проходит сценарий (state machine):

Это позволяет избежать ошибок и сделать UX максимально понятным.

Работа с Google Sheets

Google Sheets используется как простая и прозрачная база данных.

Структура таблицы: ID заявки Имя сотрудника Сумма Назначение Дата Статус

Преимущества: Простота Доступ для бухгалтера Быстрая интеграция Наглядная отчетность

Система уведомлений

Система уведомлений обеспечивает двустороннюю связь: Пользователь → бухгалтер Бухгалтер → пользователь

Обработка ошибок и отказоустойчивость

Система предусматривает обработку следующих ситуаций: Некорректный ввод данных Потеря соединения Ошибки API Дублирование заявок

Решения: Повторные запросы Валидация на каждом этапе Логирование ошибок Резервные уведомления

Безопасность системы

В системе реализованы базовые меры безопасности: Ограничение доступа по user ID Защита API-ключей Логирование действий Проверка ролей (сотрудник / бухгалтер)

Роли пользователей

Система разделяет пользователей: Сотрудник: Создает заявки Получает уведомления Просматривает статус Бухгалтер: Получает заявки Обрабатывает оплату Меняет статус

Масштабируемость и развитие

Система может быть расширена: Добавление категорий расходов Аналитика расходов Дашборд для руководства Интеграция с CRM или 1С Автоматические лимиты

Пользовательский опыт (UX)

Основной упор сделан на: Минимум действий Пошаговый сценарий Быстрый отклик Понятные сообщения

Процесс создания заявки на оплату наглядно показан ниже:

RarePay - Создание заявки через бота
RarePay - Заявка создана

Заключение

RarePay представляет собой полноценную систему автоматизации финансовых процессов внутри RARE MOD. В отличие от классических решений, система: упрощает взаимодействие снижает нагрузку на бухгалтерию делает процесс прозрачным ускоряет обработку заявок