TGViewer
Голос UWDC / Суровый айтишник Голос UWDC / Суровый айтишник @trueit · 282 subscribers
Post #261 367
Приходим на доклад Александра автоматизировать и улучшать DevExp вокруг одинокого .NET BFF бекенда
-
Автоматизируем и улучшаем DevExp вокруг одинокого .NET BFF бекенда
Александр Шинкарев
Tourmaline Core, CEO
#Бэкенд
-
Целевая аудитория доклада - это .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 ещё не очень зрелая и устойчивая (экстеншины). Но это уже вполне рабочий подход.
-
Нажимайте "Хочу послушать" и бот пришлет вам уведомление о начале доклада.

-
Билеты тут! (бесплатно) нооооо могут закончиться
  • 🔥 5
  • 👍 2
  • ❤ 1
  • 🤝 1
More from @trueit
  1. Jul 2, 2026Через полчаса начинаем, ждём трансляцию по ссылке https://vk.com/uwdcconf?z=video-14839588…
  2. Jun 19, 2026Пришло время немного помитапить) - Автоматизация ревью кода 2 июля в 15:00 мск (онлайн) Ег…
  3. May 16, 2026Завершаем интеллектуальную часть UWDC и начинаем думать о менее официальной — на афтепати…
  4. May 16, 2026Спасибо девчатам из GIGASCHOOL за AI секцию и активность на площадке. - GIGASCHOOL — агент…
  5. May 16, 2026Огромное спасибо команде INTEC за ежегодную поддержку UWDC. - Подходите на стенд компании,…
  6. May 16, 2026Партнёр конференции — компания МАРКЕТИНГ • ПРОДАЖИ • КОУЧИНГ Это комплексный подход для ус…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →