Please enable JavaScript.
Coggle requires JavaScript to display documents.
Веб-сервис для уведомлений и отслеживания цен на торговой площадке -…
Веб-сервис для уведомлений и отслеживания цен на торговой площадке
Цель проекта
Общая цель
Разработка веб-сервиса для мониторинга цен на виртуальные предметы CS:GO
Автоматическое уведомление пользователей при снижении цен
Повышение эффективности торговли за счет быстрого реагирования
Пользовательские цели
Упростить слежение за ценами на интересующие предметы
Минимизировать время, затрачиваемое на ручной мониторинг
Исключить необходимость постоянной авторизации через Steam
Получать персонализированные уведомления в Telegram
ИССЛЕДОВАТЕЛЬСКИЙ РАЗДЕЛ
Предметная область
Характеристика рынка виртуальных предметов
Виды предметов (скины, кейсы, ножи и пр.)
Ценовая нестабильность и динамика
Потребности и боли пользователей
Telegram-бот
Определение и назначение
Команды: /start, /help, /settings, /add
Интеграция с Telegram API через aiogram
BotFather для создания и токена
Способы работы: polling или webhook
Преимущества чат-ботов
Автоматизация процессов
Уведомления в реальном времени
Персонализация отслеживания
Мобильность и доступность
Упрощенное взаимодействие без браузера
Обзор аналогов
Market CS:GO
CS.MONEY
CS:GO Analyst
Steam Market
Недостатки
отсутствие персонализированных уведомлений
нет гибкой фильтрации
требование авторизации Steam
задержки в обновлении данных
Цель и задачи
Основная цель
создать универсальный бот
Задачи
исследование предметной области
выбор технологий и средств
проектирование архитектуры
реализация интерфейса
тестирование и отладка
разработка инструкций
Входные/выходные данные
Входные
название
лимит
ID пользователя
Выходные
уведомление
ошибки
подтверждения
Требования
Регистрация пользователя
Поиск предметов
Настройка лимитов
Добавление/удаление предметов
Получение уведомлений
КОНСТРУКТОРСКИЙ РАЗДЕЛ
Язык программирования
Python
Простота синтаксиса
Aiogram для Telegram API
Поддержка async/await
Библиотеки: requests, json, sqlite3
Среда разработки
PyCharm
Отладка, подсветка, автодополнение
Интеграция с Git
Виртуальные окружения
Профилировка кода
Архитектура
Клиент-серверная модель
Асинхронный цикл обработки сообщений
REST API взаимодействие
Алгоритм
Обработка команд
Сохранение данных
Запрос к API
Сравнение цены с лимитом
Отправка уведомления
Интерфейс
Главное меню
Inline-кнопки
Ответы и подтверждения
Ссылки на товары
ИСПЫТАТЕЛЬСКИЙ РАЗДЕЛ
Отладка
Синтаксические ошибки
Логические ошибки
Профилировка и логгирование
Использование PyCharm Debugger
Тестирование
Модульное тестирование
Интеграционное тестирование
Системное тестирование
Приемочное тестирование
Тест-кейсы
Регистрация /start
Добавление предмета
Ошибка при вводе несуществующего предмета
Проверка уведомлений
Удаление предмета
Методы тестирования
Журналирование логов
Ручные сценарии
Проверка UI-реакции
Подтверждение выхода уведомлений