Skip to content

Releases: bsekinaev/UserManager

Production-ready: Docker, tests & CI/CD v2.0.0

Choose a tag to compare

@bsekinaev bsekinaev released this 31 May 17:29

🚀 Что нового в v2.0.0

Проект полностью переработан для отбора на стажировку в Digital агентство «Победа».
Помимо выполнения базового ТЗ, добавлена инженерная инфраструктура production-уровня.

🐳 Инфраструктура & DevOps

  • Добавлен Dockerfile (запуск от непривилегированного appuser, оптимизированный образ)
  • Настроен docker-compose.yml с профилями web (разработка) и test (автозапуск pytest)
  • Внедрён Docker HEALTHCHECK для мониторинга доступности API
  • Добавлен .dockerignore для ускорения сборки и уменьшения размера образа

🧪 Тестирование & Code Quality

  • 10 изолированных pytest-тестов (CRUD, валидация, edge-cases, дубликаты)
  • Покрытие кода доведено до ~98% (pytest-cov, coverage.xml)
  • Фикстуры с временной БД (tempfile) → тесты работают в любом окружении, не зависят от порядка запуска
  • Интегрирован GitHub Actions: автозапуск тестов и сборка покрытия при каждом push/PR

⚙️ Production-готовность

  • Перевод с Flask dev-server на Gunicorn (4 воркера, логирование в stdout)
  • Двухуровневая валидация данных (Regex на сервере + UI-подсветка на клиенте)
  • Защита от XSS (escapeHtml в DOM) и SQL-инъекций (параметризованные запросы ?)
  • Обновлён README.md: добавлен контекст задания, инструкции запуска за 3 команды, таблица API

Задача для Fullstack-разработчиков от Digital агентства «Победа» (Нетология.Лаборатория практики).