Участник:Александр Попов
Определение функциональных требований
Перед разработкой системы 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 представляет собой полноценную систему автоматизации финансовых процессов внутри RARE MOD. В отличие от классических решений, система: упрощает взаимодействие снижает нагрузку на бухгалтерию делает процесс прозрачным ускоряет обработку заявок
