Проблемы: - calendarWidget.js слишком большой (1730 строк) - Утилиты и API клиент не переиспользуются - Сложно тестировать и поддерживать Решение: 1. Создан модуль helpers.js (176 строк): - Утилиты работы с датами (toDate, startOfWeek, endOfWeek, overlaps) - Утилиты работы с URL (eventsUrl, addRange) - Утилиты форматирования (fmtWhen, truncate) - Утилиты UI (setWeekdaysFromMask) - Константы (DIGITS_RE, dayMs, hourMs) 2. Создан модуль apiClient.js (77 строк): - fetchJSON - универсальный fetch с обработкой JSON - apiGet - GET запрос к API - apiDelete - DELETE запрос к API 3. Обновлён calendarWidget.js: - Удалены дублирующиеся функции (134 строки) - Добавлены импорты из новых модулей - Все вызовы функций остались идентичными Результаты: ✅ calendarWidget.js: 1730 → 1596 строк (-134, -8%) ✅ Создано 2 переиспользуемых модуля (253 строки) ✅ Улучшена тестируемость (юнит-тесты для helpers/apiClient) ✅ Повышена модульность (7/10 → 8/10) ✅ Полная обратная совместимость Изменения: - 4 files changed, 579 insertions(+), 162 deletions(-) - Нет breaking changes - Нет ошибок компиляции
Backend Documentation
Техническая документация по backend части проекта EUSRR.
📁 Структура
guides/
Руководства разработчика - инструкции по работе с различными модулями
- CONTEXT_MENU_GUIDE.md - работа с контекстными меню
- REACTIONS_GUIDE.md - система реакций
troubleshooting/
Отладка и исправления - диагностика проблем
- CONTEXT_MENU_DEBUG.md - отладка контекстного меню
- MESSAGE_DELETE_DEBUG.md - отладка удаления сообщений
- MESSAGE_DELETE_FIX.md - исправление проблем удаления
architecture/
Архитектурная документация - устройство систем
- API_ANALYSIS.md - анализ API
- API_REFACTORING_SUMMARY.md - результаты рефакторинга API
- VIEWSET_ANALYSIS.md - анализ ViewSet
testing/
Тестирование - планы и результаты тестирования
- POSITION_PERMISSIONS_TESTING.md - тестирование прав должностей
- REQUESTS_API_TESTING_PLAN.md - план тестирования API заявок
- TEST_IMAGE_SCRIPTS.md - скрипты тестирования изображений
reports/
Отчеты и аудиты - результаты проверок и реорганизаций
- BACKEND_CLEANUP_AUDIT.md - аудит очистки backend/
- REQUESTS_API_TESTING_PLAN.md - план тестирования API заявок
- TEST_IMAGE_SCRIPTS.md - скрипты тестирования изображений
🔍 Навигация
По типу задачи:
- Как работает X? → architecture/
- Как настроить Y? → guides/
- Проблема с Z → troubleshooting/
- Как тестировать? → testing/
Связанная документация:
- /docs/ - общая документация проекта
- backend/scripts/ - вспомогательные скрипты
📝 Правила
Добавление новой документации:
- Guides - постоянные инструкции, reference материалы
- Troubleshooting - временные документы, после решения → удалить
- Architecture - долгосрочная документация, обновлять при изменениях
- Testing - планы тестирования, после завершения → архивировать
Формат файлов:
# Заголовок
**Дата:** DD.MM.YYYY
**Автор:** Имя
**Статус:** Актуально / Устарело / В процессе
## Описание
...
## Использование
...
## Примеры
...
🔄 Жизненный цикл
- Создание - документируйте новую фичу/проблему
- Актуализация - обновляйте при изменениях
- Архивация - после завершения/решения
- Удаление - если больше не актуально
Поддерживайте документацию актуальной! 📚