Проблема:
- Service Worker файл (sw.js) находился в корне backend/
- Hardcoded пути к иконкам в sw.js и push.py (/static/img/logo-192.png)
- Функция serve_service_worker() в главном urls.py проекта
- Зависимость от project-specific структуры
- Невозможность переиспользовать приложение без изменений
Решение:
Service Worker на месте:
- backend/notifications/static/notifications/sw.js
- backend/notifications/views.py - serve_service_worker()
- backend/notifications/urls.py - добавлен endpoint sw.js
- backend/eusrr_backend/urls.py - импорт view из notifications
Удаление hardcoded путей:
- sw.js: убрана константа icon='/static/img/logo-192.png'
- senders/push.py: убран hardcoded 'icon': '/static/img/logo.png'
- config.py: добавлены PUSH_DEFAULT_ICON, PUSH_DEFAULT_BADGE (None = browser default)
- README.md: документация по настройке через NOTIFICATIONS_CONFIG
Изменения:
- Создан: notifications/views.py с serve_service_worker()
- Создан: notifications/static/notifications/sw.js
- Изменен: notifications/urls.py - добавлен path('sw.js')
- Изменен: notifications/config.py - настройки иконок
- Изменен: notifications/senders/push.py - использование config
- Изменен: notifications/README.md - документация
- Упрощен: eusrr_backend/urls.py - удалена функция, добавлен импорт
- Удалены: backend/sw.js, backend/static/sw.js, backend/communications/sw.js
Преимущества:
- ✅ Полностью автономное приложение
- ✅ Нет зависимостей от структуры проекта
- ✅ Конфигурируемые иконки через settings.py
- ✅ Browser defaults если иконки не указаны
- ✅ Легко переносить между проектами
- ✅ Единообразие архитектуры (SRP)
Верификация:
- python manage.py check - успешно
Документация проекта EUSRR
Эта папка содержит всю документацию проекта, организованную по категориям.
📁 Структура
completed/
Завершенные задачи: рефакторинги, исправления, реализованные фичи (22 файла)
guides/
Активные руководства и инструкции для разработчиков (гайды по валидации, миграции, настройке)
architecture/
Архитектурная документация и анализ систем (рендеринг чата, архитектура страниц)
diagnostic/
Диагностические руководства (WebSocket 1006, отладка проблем)
in-progress/
Активные задачи в разработке (закупки, получатели заявок, календарь)
reports/
Отчеты и аудиты проекта (реорганизация документации, план очистки)
📝 Главная документация
- README.md - основная документация проекта
- docs/reports/ - отчеты и планы по проекту
🔍 Поиск информации
- Завершенные фичи →
completed/ - Как настроить X →
guides/ - Как работает Y →
architecture/ - Проблемы с Z →
diagnostic/ - Что в разработке →
in-progress/ - Отчеты и аудиты →
reports/
Description
Разработка — в develop; локальный CI работает через Git hooks и quality gates перед коммитом/пушем. После проверки — слияние в master. Push в master запускает blue-green деплой на CORP через Gitea Actions и Telegram-отчёт. Статус деплоя — «Действия».
https://corp.robotail.pro/
Readme
87 MiB
Languages
Python
47.7%
TypeScript
30%
JavaScript
15.5%
HTML
4%
SCSS
2.1%
Other
0.7%