lizerk 7dcc775b71 feat: денормализация unread_count для оптимизации чатов
- Добавлено поле unread_count в ChatReadState для кеширования счетчика
- Создана миграция 0030 с автоматическим пересчетом существующих данных
- Обновлен _auto_mark_read() для обнуления счетчика при прочтении
- Добавлен signal increment_unread_count_on_new_message для автоинкремента
- Упрощен get_queryset() - убраны подзапросы, используется Prefetch
- Обновлены сериализаторы для использования denormalized поля

Производительность: 4 SQL запроса вместо 100+ подзапросов
Решает проблему N+1 при загрузке списка чатов

Архитектура описана в backend/docs/architecture/UNREAD_COUNT_OPTIMIZATION.md
2026-03-10 18:09:06 +03:00
2026-03-10 17:00:51 +03:00

Документация проекта 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%