diff --git a/.gitignore.ldap b/.gitignore.ldap
deleted file mode 100644
index dabfea94..00000000
--- a/.gitignore.ldap
+++ /dev/null
@@ -1,5 +0,0 @@
-# Добавляем в .gitignore данные LDAP (чтобы не коммитить)
-
-# LDAP test data
-backend/ldap_test_data/
-backend/ldap_test_config/
diff --git a/backend/CELERY_NEXT_STEPS.md b/backend/CELERY_NEXT_STEPS.md
deleted file mode 100644
index ae799d96..00000000
--- a/backend/CELERY_NEXT_STEPS.md
+++ /dev/null
@@ -1,201 +0,0 @@
-# Celery Integration - Следующие шаги
-
-## ✅ Что уже сделано
-
-1. ✅ Добавлены зависимости в `requirements.txt`:
- - `celery==5.5.3`
- - `redis==5.2.1`
- - `django-celery-beat==2.7.0`
- - `django-celery-results==2.5.1`
- - `flower==2.0.1`
-
-2. ✅ Создан файл конфигурации `eusrr_backend/celery.py`
- - Настроена автоматическая регистрация задач
- - Добавлен debug task для тестирования
-
-3. ✅ Обновлен `eusrr_backend/__init__.py`
- - Автоматический импорт celery_app при запуске Django
-
-4. ✅ Добавлены настройки Celery в `settings.py`:
- - `CELERY_BROKER_URL` - Redis как брокер сообщений
- - `CELERY_RESULT_BACKEND` - Redis для хранения результатов
- - Настройка роутинга задач по очередям
- - Таймауты и лимиты для workers
-
-5. ✅ Добавлены приложения в `INSTALLED_APPS`:
- - `django_celery_beat` - для периодических задач
- - `django_celery_results` - для хранения результатов
-
-6. ✅ Созданы Celery задачи в `notifications/tasks.py`:
- - `send_notification_task` - отправка одного уведомления
- - `send_bulk_notifications_task` - массовая отправка
- - `cleanup_old_notifications_task` - очистка старых уведомлений
- - `send_digest_email_task` - email-дайджесты
-
-## 🔄 Следующие шаги (выполнить вручную)
-
-### Шаг 1: Установка зависимостей
-
-Запустите задачу в VS Code:
-- **Pip: install requirements**
-
-Или вручную:
-```bash
-cd backend
-..\.venv\Scripts\pip install -r requirements.txt
-```
-
-### Шаг 2: Установка и запуск Redis
-
-#### Вариант 1: Windows (рекомендуется Memurai)
-1. Скачайте Memurai (Redis для Windows): https://www.memurai.com/
-2. Установите и запустите как службу Windows
-3. Redis будет доступен на `localhost:6379`
-
-#### Вариант 2: Docker
-```bash
-docker run -d -p 6379:6379 --name redis redis:7-alpine
-```
-
-#### Проверка Redis:
-```bash
-redis-cli ping
-# Должно вернуть: PONG
-```
-
-### Шаг 3: Применение миграций
-
-Запустите:
-```bash
-cd backend
-migrate_celery.bat
-```
-
-Или вручную:
-```bash
-..\.venv\Scripts\python manage.py migrate django_celery_beat
-..\.venv\Scripts\python manage.py migrate django_celery_results
-```
-
-### Шаг 4: Тестирование Celery Worker
-
-В отдельном терминале запустите worker:
-```bash
-cd backend
-..\.venv\Scripts\celery -A eusrr_backend worker -l info --pool=solo
-```
-
-**Примечание**: На Windows используйте `--pool=solo` или `--pool=gevent`
-
-### Шаг 5: Тестирование отправки задачи
-
-В Django shell:
-```python
-..\.venv\Scripts\python manage.py shell
-
-from celery import current_app
-current_app.send_task('eusrr_backend.debug_task')
-```
-
-Вы должны увидеть выполнение задачи в логах worker.
-
-### Шаг 6: Интеграция с NotificationService
-
-Обновите `notifications/services.py`:
-```python
-from notifications.tasks import send_notification_task, send_bulk_notifications_task
-
-class NotificationService:
- @staticmethod
- def create_notification(...):
- # Вместо синхронного создания
- send_notification_task.delay(
- notification_type=notification_type,
- user_id=user.id,
- title=title,
- message=message,
- link=link,
- sender_id=sender.id if sender else None,
- metadata=metadata,
- )
-```
-
-### Шаг 7: Запуск Flower (мониторинг)
-
-```bash
-cd backend
-..\.venv\Scripts\celery -A eusrr_backend flower
-```
-
-Откройте http://localhost:5555 для просмотра статистики задач.
-
-### Шаг 8: Настройка периодических задач
-
-В Django Admin:
-1. Перейдите в "Periodic Tasks"
-2. Добавьте задачу для `notifications.cleanup_old_notifications`
-3. Настройте интервал (например, раз в день)
-
-Или программно в `eusrr_backend/celery.py`:
-```python
-from celery.schedules import crontab
-
-app.conf.beat_schedule = {
- 'cleanup-old-notifications': {
- 'task': 'notifications.cleanup_old_notifications',
- 'schedule': crontab(hour=3, minute=0), # Каждый день в 3:00
- 'args': (90,) # Удалять уведомления старше 90 дней
- },
-}
-```
-
-Запустите beat scheduler:
-```bash
-..\.venv\Scripts\celery -A eusrr_backend beat -l info
-```
-
-## 📊 Ожидаемый результат
-
-**До внедрения Celery:**
-- Отправка сообщения в группу с 8 участниками: ~500ms
-- Блокировка API response до отправки всех уведомлений
-
-**После внедрения Celery:**
-- Отправка сообщения: <50ms (только создание задачи)
-- Уведомления обрабатываются асинхронно
-- API мгновенно отвечает пользователю
-
-## 🔍 Отладка
-
-### Проверка статуса Celery
-```bash
-..\.venv\Scripts\celery -A eusrr_backend inspect active
-..\.venv\Scripts\celery -A eusrr_backend inspect stats
-```
-
-### Проверка задач в очереди
-```bash
-..\.venv\Scripts\celery -A eusrr_backend inspect reserved
-```
-
-### Логи
-- Worker логи: консоль где запущен worker
-- Flower: http://localhost:5555
-- Django логи: стандартные логи приложения
-
-## 📚 Документация
-
-- Подробная документация: `docs/guides/CELERY_SETUP.md`
-- План внедрения (5 дней): `docs/in-progress/CELERY_INTEGRATION_PLAN.md`
-- Celery docs: https://docs.celeryq.dev/
-
-## ⚠️ Production Deployment
-
-Для production:
-1. Используйте Redis Cluster или Redis Sentinel
-2. Запускайте несколько workers с supervisord/systemd
-3. Настройте мониторинг (Flower + Prometheus)
-4. Добавьте retry policies и dead letter queue
-5. Настройте автоматический перезапуск workers
-
-См. `docs/in-progress/CELERY_INTEGRATION_PLAN.md` для деталей.
diff --git a/backend/CONSOLE_DEBUG_COMMANDS.md b/backend/CONSOLE_DEBUG_COMMANDS.md
deleted file mode 100644
index a9412630..00000000
--- a/backend/CONSOLE_DEBUG_COMMANDS.md
+++ /dev/null
@@ -1,207 +0,0 @@
-# 🔍 Команды для отладки календаря через консоль браузера
-
-Откройте консоль браузера (F12 → Console) и выполните эти команды:
-
-## 1️⃣ Проверить наличие интеграции
-
-```javascript
-// Должно вернуть объект, а не undefined
-window.calendarIntegration
-```
-
-**Ожидаемый результат:**
-```javascript
-{
- fetchEventsForVisibleCalendars: ƒ,
- getVisibleCalendarIds: ƒ,
- getCalendars: ƒ,
- setVisibleCalendars: ƒ,
- refresh: ƒ,
- instances: {manager: {...}, modal: {...}, widget: {...}}
-}
-```
-
-**Если undefined** → интеграция не инициализировалась!
-
----
-
-## 2️⃣ Проверить виджет календаря
-
-```javascript
-window.calendarWidget
-```
-
-**Должен вернуть объект FullCalendar**
-
----
-
-## 3️⃣ Проверить список календарей
-
-```javascript
-// Если интеграция работает:
-window.calendarIntegration.getCalendars()
-
-// Должно вернуть массив календарей:
-// [{id: 1, title: "Personal", color: "#0d6efd", ...}, ...]
-```
-
----
-
-## 4️⃣ Проверить видимые календари
-
-```javascript
-window.calendarIntegration.getVisibleCalendarIds()
-
-// Должно вернуть массив ID: [1, 2, 3]
-```
-
----
-
-## 5️⃣ Вручную загрузить события
-
-```javascript
-// Попробовать загрузить события для видимых календарей
-const start = new Date('2026-02-01');
-const end = new Date('2026-02-28');
-
-window.calendarIntegration.fetchEventsForVisibleCalendars(start, end)
- .then(events => {
- console.log('✅ Events loaded:', events.length);
- console.table(events);
- })
- .catch(err => {
- console.error('❌ Error:', err);
- });
-```
-
----
-
-## 6️⃣ Проверить, загружен ли скрипт интеграции
-
-```javascript
-// Проверить, есть ли в DOM скрипт
-document.querySelector('script[src*="calendarWidgetIntegration"]')
-
-// Должен вернуть
-
-
-
-
-