Участник:Александр Попов: различия между версиями

Материал из Поле цифровой дидактики
 
(не показаны 3 промежуточные версии этого же участника)
Строка 4: Строка 4:
Ключевая идея проекта:
Ключевая идея проекта:
Создать единый канал взаимодействия между сотрудником и бухгалтерией, объединяющий создание заявки, учет данных и подтверждение оплаты.
Создать единый канал взаимодействия между сотрудником и бухгалтерией, объединяющий создание заявки, учет данных и подтверждение оплаты.
'''Функциональные требования:'''
'''Функциональные требования:'''
Создание заявки на оплату через чат-бот
Создание заявки на оплату через чат-бот
Строка 13: Строка 14:
История заявок пользователя
История заявок пользователя
Валидация вводимых данных
Валидация вводимых данных
'''Нефункциональные требования:'''
'''Нефункциональные требования:'''
Высокая скорость обработки запросов
Высокая скорость обработки запросов
Строка 20: Строка 22:
Простота использования (минимум действий)
Простота использования (минимум действий)
Таким образом, RarePay выступает как инструмент оптимизации внутренних процессов, а не просто чат-бот.
Таким образом, RarePay выступает как инструмент оптимизации внутренних процессов, а не просто чат-бот.
== Получение API и конфигурация проекта ==
== Получение API и конфигурация проекта ==
Для работы системы используются внешние сервисы и API:
Для работы системы используются внешние сервисы и API:
Строка 25: Строка 28:
Google Sheets API — хранение данных
Google Sheets API — хранение данных
(опционально) webhook-сервер для обработки событий
(опционально) webhook-сервер для обработки событий
'''Процесс настройки:'''
'''Процесс настройки:'''
Создание бота через @BotFather
Создание бота через @BotFather
Строка 31: Строка 35:
Настройка таблицы для учета
Настройка таблицы для учета
Конфигурация backend
Конфигурация backend
'''Пример .env:'''
'''Пример .env:'''
TELEGRAM_BOT_TOKEN="your_token"
TELEGRAM_BOT_TOKEN="your_token"
Строка 37: Строка 42:
ACCOUNTING_CHAT_ID="chat_id"
ACCOUNTING_CHAT_ID="chat_id"
Использование переменных окружения позволяет обеспечить безопасность и изолировать чувствительные данные.
Использование переменных окружения позволяет обеспечить безопасность и изолировать чувствительные данные.
== Архитектурное проектирование системы ==
== Архитектурное проектирование системы ==
Система построена по принципу event-driven архитектуры с разделением логики.
Система построена по принципу event-driven архитектуры с разделением логики.
Строка 97: Строка 103:
== Работа с Google Sheets ==
== Работа с Google Sheets ==
Google Sheets используется как простая и прозрачная база данных.
Google Sheets используется как простая и прозрачная база данных.
'''Структура таблицы:'''
'''Структура таблицы:'''
ID заявки
ID заявки
Строка 104: Строка 111:
Дата
Дата
Статус
Статус
'''Преимущества:'''
'''Преимущества:'''
Простота
Простота
Строка 109: Строка 117:
Быстрая интеграция
Быстрая интеграция
Наглядная отчетность
Наглядная отчетность
== Система уведомлений ==
== Система уведомлений ==
Система уведомлений обеспечивает двустороннюю связь:
Система уведомлений обеспечивает двустороннюю связь:
Строка 125: Строка 134:
Ошибки API
Ошибки API
Дублирование заявок
Дублирование заявок
'''Решения:'''
'''Решения:'''
Повторные запросы
Повторные запросы
Строка 130: Строка 140:
Логирование ошибок
Логирование ошибок
Резервные уведомления
Резервные уведомления
== Безопасность системы ==
== Безопасность системы ==
В системе реализованы базовые меры безопасности:
В системе реализованы базовые меры безопасности:

Текущая версия от 03:49, 27 марта 2026

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

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