Техническая поддержка и доработка Django веб-приложения с системой модерации контента. Проект - база данных исторических персоналий с ролевой моделью доступа (Читатель/Редактор/Администратор) и процессом утверждения изменений.
Внедрено в эксплуатации: production-система на выделенном сервере, Docker Compose, SSL через certbot, PostgreSQL 15.
Техническое решение:
• Draft Pattern архитектура: оригиналы и черновики для каждой сущности (3 домена: персоналии, храмы, прихожане)
• Процесс модерации: Редактор создаёт черновик → Администратор сравнивает → Принять/Отклонить изменения
• Ролевая модель с декораторами: Читатель (просмотр), Редактор (CRUD черновиков), Админ (модерация + полный доступ)
• REST API на Django REST Framework с версионированием (v1/) и OpenAPI документацией
Архитектура:
• 8 Django apps (users, temple, personalities, parishioners, main, search, manual, scripts)
• ~50 моделей данных включая Draft-модели для каждой сущности
• Представления сравнения: построчное сопоставление оригинала и черновика
• Nginx + Gunicorn + Docker Compose с SSL
Результат:
• Исправлена критическая ошибка связывания данных в системе модерации
• Восстановлен процесс принятия/отклонения изменений для администраторов
• Аудит кода с рекомендациями по техническому долгу
Технологии: Django 5.1.4, Django REST Framework 3.15, PostgreSQL 15, Docker, Nginx, drf-spectacular