Files
antigol-service/docs/COMMERCIAL_PROPOSAL.md
talorr cda36918e8 init
2026-03-27 03:36:08 +03:00

119 lines
7.6 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Коммерческое предложение
## Проект
Система сигналов на базе Alpinbet с парсером, backend API, PWA-клиентом, push-уведомлениями и административной панелью.
## 1. Цель проекта
Разработка системы для получения сигналов из источника Alpinbet, их обработки и доставки пользователям в режиме, близком к реальному времени, с разграничением доступа по подписке и по ботам.
## 2. Состав работ
### 2.1 Backend
Будет реализовано:
- регистрация и авторизация пользователей;
- роли пользователей и базовое разграничение прав;
- система подписок с датой окончания и проверкой доступа;
- разграничение доступа к ботам;
- API для PWA-клиента и административной панели;
- прием и обработка сигналов от парсера;
- логика отправки уведомлений;
- базовое логирование системных событий.
Ограничения:
- backend не гарантирует 100% доставку уведомлений, так как доставка зависит от внешних push-провайдеров и настроек устройства пользователя;
- при изменении бизнес-логики доступа, тарифов или ролей требуется отдельная доработка.
### 2.2 Интеграция с Alpinbet
Будет реализовано:
- подключение к источнику данных Alpinbet по учетным данным заказчика;
- регулярный опрос страниц с интервалом около 20 секунд;
- сохранение сигналов в систему;
- защита от дублирования сигналов;
- привязка сигнала к конкретному боту/источнику;
- поддержка встроенного списка ботов в парсере.
На текущем этапе в парсер зашиваются следующие боты:
- `raketafon``https://alpinbet.com/dispatch/antigol/raketafon`
- `pobeda-1-comand``https://alpinbet.com/dispatch/antigol/pobeda-1-comand`
- `raketabas``https://alpinbet.com/dispatch/antigol/raketabas`
- `sol-1www``https://alpinbet.com/dispatch/antigol/sol-1www`
- `fon-stb``https://alpinbet.com/dispatch/antigol/fon-stb`
Важно:
- доступ к Alpinbet, учетные данные и фактическая структура страниц находятся на стороне заказчика;
- при изменении API, HTML-структуры, механизма авторизации или адресов страниц Alpinbet требуется отдельная доработка;
- при недоступности источника система не генерирует сигналы;
- качество и стабильность парсинга напрямую зависят от стабильности внешнего источника.
### 2.3 Push-уведомления
Будет реализовано:
- отправка уведомлений при появлении новых сигналов;
- регистрация устройства пользователя;
- доставка через web push;
- базовая обработка невалидных push-подписок.
Ограничения:
- на iPhone push-уведомления работают через PWA и зависят от Safari, разрешений пользователя и системных настроек;
- уведомления могут приходить с задержкой;
- гарантируется попытка отправки уведомления, но не гарантируется фактическое получение на устройстве.
### 2.4 Клиентское приложение (PWA)
Будет реализовано:
- доступ через браузер как web-приложение;
- установка на телефон как PWA;
- авторизация пользователя;
- просмотр списка сигналов;
- просмотр срока действия подписки;
- отображение доступных пользователю ботов;
- работа с push-уведомлениями в рамках возможностей браузера.
Ограничения:
- приложение является PWA, а не нативным приложением;
- публикация в App Store и Google Play не входит в данный этап;
- функциональность ограничена возможностями браузера и платформенных ограничений PWA.
### 2.5 Административная панель
Будет реализовано:
- просмотр списка пользователей;
- управление сроками доступа и подписками;
- выдача и продление доступа;
- управление доступом к ботам;
- базовый просмотр сигналов и статусов доставки уведомлений.
Не входит:
- сложная аналитика;
- финансовая отчетность;
- CRM-функции и продвинутая история изменений.
### 2.6 Запуск системы
Будет выполнено:
- настройка серверного окружения;
- деплой проекта;
- базовая проверка работоспособности backend, parser, frontend и push-механизма;
- проверка получения сигналов из подключенных ботов.
## 3. Что не входит в проект
- публикация в App Store / Google Play;
- интеграция платежных систем;
- юридические документы и правовая часть;
- техническая поддержка сторонних сервисов и поставщиков;
- доработки, вызванные изменениями на стороне Alpinbet, Firebase, браузеров или операционных систем;
- SLA на внешние сервисы и гарантии бесперебойной работы источника данных.
## 4. Технические ограничения и допущения
- система работает по модели best effort для внешних интеграций;
- парсер зависит от доступности Alpinbet и сохранности учетной сессии;
- при изменении структуры страниц могут потребоваться срочные корректировки селекторов и логики парсинга;
- скорость появления сигнала у пользователя зависит от источника, интервала опроса, сети, браузера и push-провайдера;
- доступ к ботам, список ботов и учетные данные предоставляются заказчиком.