Чему вы научитесь
- проектировать backend по Vertical Slice Architecture, где вся логика одной фичи собрана в одном месте;
- разделять операции на команды и запросы по принципу CQRS;
- строить REST API на ASP.NET Core с минимальными эндпоинтами (Carter);
- работать с PostgreSQL как с документной базой через Marten;
- применять паттерн «Посредник»: использовать MediatR — и написать собственный аналог с нуля, разобравшись в рефлексии и дженериках;
- переходить на Wolverine и сравнивать генерацию кода на старте с поиском обработчиков через рефлексию;
- настраивать валидацию (FluentValidation) и маппинг объектов (Mapster, затем Mapperly на source generators);
- обрабатывать ошибки через паттерн Result и библиотеку ErrorOr, а не только исключениями, и выбирать подходящую стратегию;
- реализовывать полнотекстовый поиск средствами самого PostgreSQL, со словоформами;
- переводить анемичную модель в Rich Domain Model — с инвариантами, фабриками и доменным поведением;
- применять event sourcing: хранить историю изменений, строить проекции и получать состояние на любой момент прошлого («time travel»);
- организовывать обновления в реальном времени через Server-Sent Events;
- запускать весь стек (API + база + инфраструктура) одной командой с помощью .NET Aspire: описывать ресурсы в AppHost и связывать их между собой;
- настраивать наблюдаемость: три сигнала телеметрии (логи, метрики, трейсы) через OpenTelemetry и OTLP, собственные `ActivitySource`, health-checks для liveness и readiness;
- читать дашборд Aspire — трейсы запросов, метрики и логи сервиса в одном окне;
- подключать внешнюю инфраструктуру как контейнеры (Prometheus и Grafana) и экспортировать в неё метрики приложения.
О курсе
Собираем реальный backend-сервис на C# и .NET по Vertical Slice Architecture: CQRS, документное хранилище и event store Marten поверх PostgreSQL, Wolverine, полнотекстовый поиск, богатая доменная модель, event sourcing, живые обновления через Server-Sent Events и, наконец, .NET Aspire — оркестрация всего стека одной командой плюс телеметрия и health-checks — от чистого решения до продвинутых приёмов
Для кого этот курс
.NET-разработчики уровня junior/middle, которые знают C#, но хотят вырасти в проектировании backend-архитектуры.
Те, кто пишет на ASP.NET Core и хочет уйти от классической многослойной архитектуры к Vertical Slice + CQRS.
Разработчики, которым интересны Marten, Wolverine, event sourcing, полнотекстовый поиск Postgres, .NET Aspire, но непонятно, с чего начать и как это сочетается вместе.
Все, кто готовится к собеседованиям, где спрашивают про архитектуру, CQRS, обработку ошибок и работу с БД.
Когда это особенно пригодится: старт нового сервиса «с чистого листа», рефакторинг легаси-проекта, желание навести порядок в разросшемся коде или просто прокачать инженерный кругозор на современном стеке.
Начальные требования
Чтобы курс шёл комфортно, желательно заранее:
- уверенно знать C#: классы и интерфейсы, дженерики и ограничения (
where),async/await, LINQ, nullable-ссылочные типы; - иметь базовое представление об ASP.NET Core и о том, как устроен HTTP/REST (методы, статус-коды, маршруты);
- уметь пользоваться Git и Docker на уровне базовых команд (клонировать репозиторий, поднять контейнер).
Не требуется заранее: опыт с Marten, Wolverine, Mapperly, event sourcing, CQRS, Vertical Slice Architecture, .NET Aspire и OpenTelemetry — всё это объясняется в курсе с нуля.
Преподаватели курса
Как проходит обучение
- Видео-уроки — по короткому ролику на каждый шаг разработки.
- Развёрнутые текстовые лекции к каждому уроку: то, что в видео пролетает быстро, здесь разобрано подробно — с листингами кода дословно из проекта, ссылками на документацию и врезками теории
- Тесты с автоматической проверкой (1–3 на урок) — чтобы закрепить понятия сразу после урока
- Готовый код-проект
catalog-api(в Git по шагам-коммитам), Postman-коллекция и клиент-дашборд для практики — код можно собрать и запустить у себя - Формат работы: посмотреть видео → прочитать лекцию → пройти тест → повторить шаг в своём проекте
- Вопросы и обсуждение — в комментариях к шагам и в Телеграм-чате
Что вы получите
- Навык проектирования backend по VSA/CQRS — то, что ценят работодатели и о чём спрашивают на собеседованиях.
- Готовый референс-проект современного .NET-сервиса, который можно показать в портфолио и переиспользовать как шаблон.
- Понимание трейд-оффов, а не только «как сделать»: когда уместен Result, а когда исключения; чем богатая модель лучше анемичной; когда генерация кода выигрывает у рефлексии.
- Знакомство с актуальным стеком: .NET 10, Marten, Wolverine, Mapperly, FluentValidation, ErrorOr, PostgreSQL full-text search, .NET Aspire, OpenTelemetry, Prometheus и Grafana.
- Базовую наблюдаемость сервиса из коробки: телеметрия, трейсы и health-checks, которые можно переносить в свои проекты как готовые ServiceDefaults.
- Материалы для самостоятельной практики: пошаговый код в Git, Postman-коллекция, живой дашборд и симулятор нагрузки.
- Сертификат об окончании курса.