Автоматизируем и улучшаем DevExp вокруг одинокого .NET BFF бекенда — UWDC
  • 35
  • 0
Целевая аудитория доклада - это .NET-разработчики, но он будет интересен и бекенд-разработчикам других стеков, включая DevOps-инженеров. Ведь инфраструктура отлично портируется для FastAPI, NestJS, даже для C++ и для другого стека.

На докладе покажу кросплатформенный, контейнеризованный сетап инфраструктуры вокруг .NET API, который:
- Хранит свои данные в PostgreSQL
- Использует EFCore в качестве ORM
- Предоставляет REST-like API для своего фронтенда, написанного на JS
- Закрыт JWT-аутентификацией
- Зависит от внешних сервисов, которые вызывает по HTTP

Сетап включает в себя настроенные для запуска в VSCode Dev Containers:
- PostgreSQL
- PgAdmin
- MockServer
- Karate-тесты
- Api

Акцент на Dev Containers и тотальную контейнеризацию и изоляцию позволяет запускать этот проект не только локально но и в GitHub Codespaces с такими же возможностями для запуска, отладки, тестирования. Это уникальная фишка сетапа.

Сам проект, на котором буду показывать, будет жить в GitHub опенсорсе. Бери и используй.

Второй частью доклада является автоматизация, в которую входит:
- Запуск xUnit "unit" тестов в PR
- Запуск Karate E2E тестов в Docker Compose в PR
- Проверка того, что нет изменений в модели, для которых забыли добавить миграцию в PR
- линтинг проекта в PR
- Запуск xUnit "unit" тестов в PR
- Генерация диаграммы схемы БД в формате mermaid по модели в PR
- Подсчет покрытия кода unit и e2e тестами и их общее объединенное покрытие в PR, вместе с создание бэйджей покрытия для README.md
- Применение semantic-release для выпуска релизов и версионирования Api
- Публикация npm пакета с клиентом Api для JS-фронта с проверкой линтингом фронтенда, что бекенд его не сломал в PR

Сетап подойдёт, как для монолитного бекенда, так и для микросервисной инфраструктуры. Например, RabbitMQ можно добавить по аналогии и тестировать связь с брокером, публикацию сообщений и реакцию на них.

Часть инфры от Microsoft для разработке на .NET в VSCode ещё не очень зрелая и устойчивая (экстеншины). Но это уже вполне рабочий подход.

UWDC 2026, секция Бэкенд

Время доклада ещё не назначено

Комментариев ещё нет — будьте первым!

Отзывов ещё нет

Представители веб-студий, свободные профессионалы, владельцы крупных проектов и просто молодые специалисты — присоединяйтесь, нам есть что обсудить 🤟