|
|
| Строка 1: |
Строка 1: |
| == Определение функциональных требований ==
| | {{UserMGPU |
| Перед разработкой системы RarePay была проведена аналитика внутренних процессов бренда RARE MOD, направленная на выявление узких мест в обработке расходов сотрудников. Основной проблемой являлось отсутствие централизованного и прозрачного механизма подачи заявок и контроля оплат.
| | |Field_of_knowledge=Информатика |
| Целью проекта стало создание автоматизированного чат-бота, который упрощает процесс подачи заявок, снижает нагрузку на бухгалтерию и формирует прозрачную систему учета расходов.
| | |PedDirection=Нет |
| Ключевая идея проекта:
| | |Working_On=Система RarePay |
| Создать единый канал взаимодействия между сотрудником и бухгалтерией, объединяющий создание заявки, учет данных и подтверждение оплаты.
| |
| | |
| '''Функциональные требования:'''
| |
| Создание заявки на оплату через чат-бот
| |
| Пошаговое заполнение данных (сумма, назначение, категория)
| |
| Автоматическая запись данных в 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 архитектуры с разделением логики. | |
| {{#mermaid:
| |
| flowchart LR
| |
| A[User Telegram] --> B[Bot]
| |
| B --> C[Backend]
| |
| C --> D[Google Sheets]
| |
| C --> E[Accounting Chat]
| |
| }} | | }} |
| '''Компоненты:'''
| |
| Bot Layer — обработка сообщений пользователя
| |
| Backend — логика заявок
| |
| Data Layer — Google Sheets
| |
| Notification Layer — отправка уведомлений
| |
| Такой подход позволяет легко масштабировать систему и добавлять новые функции.
| |
| == Общая схема работы системы ==
| |
| {{#mermaid:
| |
| flowchart TB
| |
| A[User] --> B[Bot]
| |
| B --> C[Form Input]
| |
| C --> D[Backend]
| |
| D --> E[Save to Sheets]
| |
| D --> F[Send to Accountant]
| |
| F --> G[Approve/Pay]
| |
| G --> H[Notify User]
| |
| }}
| |
| '''Описание процесса:'''
| |
| Пользователь создает заявку
| |
| Бот собирает данные
| |
| Данные записываются в таблицу
| |
| Заявка отправляется бухгалтеру
| |
| После оплаты приходит уведомление
| |
| == Детализация backend-логики ==
| |
| Backend реализует бизнес-логику и управление состояниями заявок.
| |
| {{#mermaid:
| |
| flowchart TB
| |
| A[Message] --> B[Handler]
| |
| B --> C[Validation]
| |
| C --> D[Create Request]
| |
| D --> E[Save]
| |
| E --> F[Notify]
| |
| }}
| |
| '''Ключевые функции:'''
| |
| Обработка команд (/start, /new, /status)
| |
| Валидация данных
| |
| Генерация ID заявки
| |
| Работа со статусами
| |
| Логирование
| |
| == Управление состоянием пользователя ==
| |
| Каждый пользователь проходит сценарий (state machine):
| |
| {{#mermaid:
| |
| flowchart TB
| |
| A[Start] --> B[Enter Amount]
| |
| B --> C[Enter Description]
| |
| C --> D[Confirm]
| |
| D --> E[Submit]
| |
| }}
| |
| Это позволяет избежать ошибок и сделать UX максимально понятным.
| |
| == Работа с Google Sheets ==
| |
| Google Sheets используется как простая и прозрачная база данных.
| |
|
| |
| '''Структура таблицы:'''
| |
| ID заявки
| |
| Имя сотрудника
| |
| Сумма
| |
| Назначение
| |
| Дата
| |
| Статус
| |
|
| |
| '''Преимущества:'''
| |
| Простота
| |
| Доступ для бухгалтера
| |
| Быстрая интеграция
| |
| Наглядная отчетность
| |
|
| |
| == Система уведомлений ==
| |
| Система уведомлений обеспечивает двустороннюю связь:
| |
| Пользователь → бухгалтер
| |
| Бухгалтер → пользователь
| |
| {{#mermaid:
| |
| flowchart LR
| |
| A[User Request] --> B[Accountant Chat]
| |
| B --> C[Payment Done]
| |
| C --> D[User Notification]
| |
| }}
| |
| == Обработка ошибок и отказоустойчивость ==
| |
| Система предусматривает обработку следующих ситуаций:
| |
| Некорректный ввод данных
| |
| Потеря соединения
| |
| Ошибки API
| |
| Дублирование заявок
| |
|
| |
| '''Решения:'''
| |
| Повторные запросы
| |
| Валидация на каждом этапе
| |
| Логирование ошибок
| |
| Резервные уведомления
| |
|
| |
| == Безопасность системы ==
| |
| В системе реализованы базовые меры безопасности:
| |
| Ограничение доступа по user ID
| |
| Защита API-ключей
| |
| Логирование действий
| |
| Проверка ролей (сотрудник / бухгалтер)
| |
| == Роли пользователей ==
| |
| Система разделяет пользователей:
| |
| '''Сотрудник:'''
| |
| Создает заявки
| |
| Получает уведомления
| |
| Просматривает статус
| |
| '''Бухгалтер:'''
| |
| Получает заявки
| |
| Обрабатывает оплату
| |
| Меняет статус
| |
| == Масштабируемость и развитие ==
| |
| Система может быть расширена:
| |
| Добавление категорий расходов
| |
| Аналитика расходов
| |
| Дашборд для руководства
| |
| Интеграция с CRM или 1С
| |
| Автоматические лимиты
| |
| == Пользовательский опыт (UX) ==
| |
| Основной упор сделан на:
| |
| Минимум действий
| |
| Пошаговый сценарий
| |
| Быстрый отклик
| |
| Понятные сообщения
| |
|
| |
| Процесс создания заявки на оплату наглядно показан ниже:
| |
| [[File:112.jpg|thumb|center|RarePay - Создание заявки через бота]]
| |
|
| |
| [[File:113.jpg|thumb|center|RarePay - Заявка создана]]
| |
|
| |
| == Заключение ==
| |
| RarePay представляет собой полноценную систему автоматизации финансовых процессов внутри RARE MOD.
| |
| В отличие от классических решений, система:
| |
| упрощает взаимодействие
| |
| снижает нагрузку на бухгалтерию
| |
| делает процесс прозрачным
| |
| ускоряет обработку заявок
| |
|
| |
|
| [[Категория:UserMGPU]] | | [[Категория:UserMGPU]] |
| [[Категория:АДЭУ-221]] | | [[Категория:АДЭУ-221]] |