Курс на Stepik
Обложка курса «C#: Создаём API для маркетплейса на микросервисах» на Stepik
13 500₽ -11%
--:--:--
12 015

C#: Создаём API для маркетплейса на микросервисах 5.000

Открыть на
STEPIK.ORG

Курс предлагает комплексное обучение разработке микросервисов на .NET и C# с использованием современных технологий: CQRS, MediatR, gRPC, Marten, PostgreSQL, MySQL, Dapper, Entity Framework, Redis, RabbitMQ, MassTransit, Docker, Docker Compose, GitHub Actions, Serilog, ELK Stack, Prometheus, Grafana, k6 и Portainer. Вы создадите микросервисы с продвинутой архитектурой, научитесь их тестировать, логировать и мониторить, а также организуете автоматическое управление инфраструктурой

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «C#: Создаём API для маркетплейса на микросервисах»Учеников на курсе 62
Сертификаты, выданные на курсе «C#: Создаём API для маркетплейса на микросервисах»Сертификатов выдано 9
Отзывы о курсе «C#: Создаём API для маркетплейса на микросервисах»Отзывов получено 9
Рейтинг курса «C#: Создаём API для маркетплейса на микросервисах»Рейтинг курса 5.000
Уроки в курсе «C#: Создаём API для маркетплейса на микросервисах»Количество уроков 138
Тесты в курсе «C#: Создаём API для маркетплейса на микросервисах»Количество квизов 16
Задачи с кодом в курсе «C#: Создаём API для маркетплейса на микросервисах»Количество задач с кодом 5
Время прохождения курса «C#: Создаём API для маркетплейса на микросервисах»Время прохождения курса
Стоимость курса «C#: Создаём API для маркетплейса на микросервисах»Стоимость курса 13 500 ₽
Обновления курса «C#: Создаём API для маркетплейса на микросервисах»Обновления курса
Дата публикации курса «C#: Создаём API для маркетплейса на микросервисах»Дата публикации курса
Последнее обновление курса «C#: Создаём API для маркетплейса на микросервисах»Последнее обновление
Сложность hard

Содержание курса

Разделы в курсе «C#: Создаём API для маркетплейса на микросервисах» 11 разделов Уроки в курсе «C#: Создаём API для маркетплейса на микросервисах» 138 уроков Тесты в курсе «C#: Создаём API для маркетплейса на микросервисах» 16 тестов Задачи в курсе «C#: Создаём API для маркетплейса на микросервисах» 5 задач Время прохождения курса «C#: Создаём API для маркетплейса на микросервисах» 16 ч. Последнее обновление курса «C#: Создаём API для маркетплейса на микросервисах» обн. 24 мая 2026

1. Старт

4 урока
Закрытый
1.1 Приветствие
51
51
1м 53с
5
Открытый
1.2 Описание проекта
103
52
2м 15с
5
Закрытый
1.3 Дополнение
42
36
6м 11с
5
Закрытый
1.4 Начало разработки
109
101
1м 12с
15

2. Создание и публикация шаблона микросервиса

12 уроков
Закрытый
2.1 Введение в создание шаблона микросервиса
64
64
2м 52с
4
Закрытый
2.2 Создание структуры проекта с уточнением по файлу решения
53
44
6м 38с
5
Закрытый
2.3 Настройка зависимостей
45
45
2м 30с
5
Закрытый
2.4 Настройка Swagger для API документации
41
41
3м 4с
2
Закрытый
2.5 DependencyInjection для API слоя
40
40
3м 22с
3
Закрытый
2.6 DependencyInjection для остальных слоев
38
38
3м 26с
6
Закрытый
2.7 Настройка global usings директив
38
38
2м 50с
3
Закрытый
2.8 Создание GitHub Action workflow для автоматизации
38
36
3м 2с
5
Закрытый
2.9 Публикация пакета шаблона
38
38
3м 41с
4
Закрытый
2.10 Установка созданного шаблона
35
35
3м 43с
4
Закрытый
2.11 Использование шаблона для создания проектов
37
37
3м 18с
6
Закрытый
2.12 Публикация документации на GitHub Pages
36
34
2м 41с
4

3. Создание и настройка микросервиса каталога

14 уроков
Закрытый
3.1 Инициализация проекта и создание первого микросервиса каталога
31
31
2м 41с
6
Закрытый
3.2 Настройка портов для микросервиса каталога
31
31
1м 40с
4
Закрытый
3.3 Создание сущностей BaseEntity, Brand, Category, CatalogItem
30
30
2м 49с
5
Закрытый
3.4 Добавление репозитория IBrandRepository
30
30
1м 2с
4
Закрытый
3.5 Добавление репозитория ICategoryRepository
30
30
0м 30с
4
Закрытый
3.6 Добавление репозитория ICatalogItemRepository
30
30
1м 48с
5
Закрытый
3.7 Обновление конфигурации подключения
30
30
1м 42с
5
Закрытый
3.8 Настройка Docker Compose для БД и DBeaver
30
16
4м 46с
6
Закрытый
3.9 Тестовые данные и интеграция библиотеки Marten с PostgreSQL
30
30
2м 52с
7
Закрытый
3.10 Класс для инициализации и наполнения БД тестовыми данными
30
30
3м 32с
5
Закрытый
3.11 Интеграция Marten и инициализация БД в DI контейнер
30
30
3м 8с
5
Закрытый
3.12 Реализация CatalogRepository с методами работы через Marten
30
29
8м 42с
7
Закрытый
3.13 Добавление пакета MediatR в проект
29
29
1м 38с
7
Закрытый
3.14 Запрос, обработчик и ответ для получения списка брендов
29
29
4м 38с
7

4. CQRS и MediatR в каталога

12 уроков
Закрытый
4.1 BrandsController для получения брендов через MediatR
30
30
1м 58с
6
Закрытый
4.2 Регистрация MediatR и контроллеров в DI с MapControllers
28
28
2м 54с
6
Закрытый
4.3 Поддержка лицензии MediatR с ключом из конфигурации
28
28
4м 19с
6
Закрытый
4.4 Рефакторинг BrandsController на базовый ApiController
27
27
3м 5с
5
Закрытый
4.5 Исправление возврата результата в BrandsController
28
28
0м 24с
6
Закрытый
4.6 Версионирование API и обновление конфигурации Swagger
27
27
4м 57с
6
Закрытый
4.7 CQRS: запрос для получения категорий с техническим заданием
26
26
4м 15с
6
Закрытый
4.8 CQRS: запрос для получения товаров каталога
26
26
4м 30с
6
Закрытый
4.9 CQRS: запрос для получения товара по ID
26
26
4м 55с
6
Закрытый
4.10 CQRS: запрос для поиска товаров по названию
26
26
4м 16с
6
Закрытый
4.11 CQRS: запрос для получения товаров по бренду
25
25
2м 53с
5
Закрытый
4.12 Создание CatalogItem через CQRS с размышлениями о валидации
25
23
9м 14с
6

5. Расширение и Production‑ready

12 уроков
Закрытый
5.1 CQRS: команда для обновления товара
24
24
3м 49с
6
Закрытый
5.2 ТЗ CQRS: команда для удаления товара с техническим заданием
24
24
2м 7с
6
Закрытый
5.3 Универсальная модель пагинации Pagination
24
24
2м 43с
6
Закрытый
5.4 CQRS: запрос для получения товаров с пагинацией v2
24
24
2м 24с
6
Закрытый
5.5 CatalogItemControllerV2 для v2 API с Swagger аннотациями
24
24
4м 59с
5
Закрытый
5.6 Поддержка Swagger: документации и UI для v2 API
23
23
3м 58с
5
Закрытый
5.7 Модель QueryArgs с поддержкой фильтрации, поиска и сортировки
23
20
7м 9с
5
Закрытый
5.8 Рефакторинг для повышения производительности с техническим задан
23
23
2м 25с
5
Закрытый
5.9 XML: документирование для Swagger и описание сортировки
23
23
3м 27с
5
Закрытый
5.10 Конфигурация appsettings.json и Dockerfile
23
23
6м 30с
4
Закрытый
5.11 Production docker - compose
23
23
2м 15с
4
Закрытый
5.12 Weekly и беклог
23
15
85м 53с
7

6. Микросервис корзины: CQRS, кэширование и продакшн‑подготовка

16 уроков
Закрытый
6.1 Создание проекта Common.Kernel с интеграцией MediatR
21
21
2м 13с
5
Закрытый
6.2 Базовые интерфейсы CQRS: команд и запросов в Common.Kernel
21
21
2м 7с
5
Закрытый
6.3 Создание микросервиса Basket.API с базовой структурой проекта
21
21
3м 37с
5
Закрытый
6.4 Настройка basket_db для разработки и подключение NuGet—пакетов
21
21
2м 55с
4
Закрытый
6.5 Базовая интеграция Carter, Marten, MediatR и Swagger
21
21
2м 33с
3
Закрытый
6.6 Базовые модели ShoppingCart и ShoppingCartItem
21
21
2м 49с
3
Закрытый
6.7 Реализация ICartRepository и CartRepository с настройкой Marten
21
21
3м 16с
4
Закрытый
6.8 CQRS: команда для сохранения корзины с Mapster и Swagger
21
21
9м 53с
4
Закрытый
6.9 CQRS: запрос для получения корзины
21
8
3м 9с
4
Закрытый
6.10 Кастомный обработчик исключений
20
19
17м 38с
4
Закрытый
6.11 Интеграция FluentValidation
19
19
13м 16с
5
Закрытый
6.12 CQRS: команда для удаления корзины по accountName
19
19
4м 33с
4
Закрытый
6.13 Интеграция Redis кэширования с декоратором и Scrutor
20
19
16м 45с
5
Закрытый
6.14 Конфигурация подключений и Dockerfile для Basket.API
20
20
5м 43с
3
Закрытый
6.15 Production docker — compose
20
20
5м 45с
4
Закрытый
6.16 Weekly и беклог
20
16
3м 35с
4

7. Микросервис промоакций на gRPC: CQRS, Dapper, MySQL и продакшн

16 уроков
Закрытый
7.1 Создание микросервиса с базовой структурой проект
19
19
5м 2с
5
Закрытый
7.2 Настройка gRPC reflection и интеграция с БД
18
18
6м 30с
5
Закрытый
7.3 Рефакторинг Program.cs с DependencyInjection и global usings
17
17
3м 50с
4
Закрытый
7.4 Интеграция MediatR для CQRS — паттерна с Common.Kernel
17
17
1м 52с
4
Закрытый
7.5 Настройка MySQL базы данных с Dapper ORM
17
17
3м 53с
5
Закрытый
7.6 Доменная модель Promo для промоакций
17
17
1м 48с
4
Закрытый
7.7 Инфраструктура инициализации БД с тестовыми данными
17
17
2м 3с
4
Закрытый
7.8 Полная инициализация БД с созданием таблицы и заполнением данных
17
17
3м 5с
5
Закрытый
7.9 Замена GreeterService на PromoGrpcService с тестированием
17
17
5м 32с
5
Закрытый
7.10 Реализация получения промоакций для gRPC сервиса
17
17
5м 17с
4
Закрытый
7.11 Реализация создания промоакций для gRPC сервиса
17
17
5м 34с
4
Закрытый
7.12 Полный CQRS: цикл для обновления промоакций с техническим задани
17
17
4м 34с
4
Закрытый
7.13 Конфигурация Mapster для автоматического маппинга proto — моделе
16
14
6м 47с
4
Закрытый
7.14 Полный CQRS: цикл для удаления промоакций + ТЗ ∙
19
19
-
3
Закрытый
7.15 Dockerfile для контейнеризации Promotion gRPC сервиса ∙
19
19
-
3
Закрытый
7.16 Production docker: compose для Promotion gRPC с MySQL ∙
16
14
2м 56с
3

8. Интеграция промосервиса и корзины

8 уроков
Закрытый
8.1 Интеграция gRPC клиента для получения промоакций в корзине ∙
17
17
-
3
Закрытый
8.2 Dev-окружение: добавление Promotion gRPC сервиса с MySQL ∙
15
15
-
3
Закрытый
8.3 Интеграция применения промоскидок ∙
15
15
-
3
Закрытый
8.4 Рефакторинг SaveCartCommandHandler ∙
15
15
-
3
Закрытый
8.5 Исправление обработки отсутствующих промоакций + ТЗ ∙
15
15
-
3
Закрытый
8.6 Production конфигурация ∙
15
15
-
3
Закрытый
8.7 Логика для инициализации БД ∙
15
15
-
3
Закрытый
8.8 Weekly и беклог
19
12
115м 29с
3

9. Микросервис заказов

21 урок
Закрытый
9.1 Создание микросервиса с базовой структурой и настройкой БД ∙
15
15
-
3
Закрытый
9.2 Базовый класс BaseEntity с системой аудита ∙
15
15
-
3
Закрытый
9.3 Создание доменной модели ∙
15
15
-
3
Закрытый
9.4 Подключение Entity Framework Core с PostgreSQL ∙
15
15
-
3
Закрытый
9.5 Настройка DbContext и конфиг маппинга ∙
15
15
-
3
Закрытый
9.6 Создание тестовых данных и автоматическое заполнение БД ∙
14
14
-
3
Закрытый
9.7 Автоматические миграции и seed при старте приложения ∙
14
14
-
3
Закрытый
9.8 Первая миграция InitialCreate и загрузка тестовых данных ∙
14
14
-
3
Закрытый
9.9 Реализация интерфейсов репозиториев с CQRS разделением ∙
14
14
-
3
Закрытый
9.10 Базовый репозиторий BaseRepository с CRUD операциями ∙
14
14
-
3
Закрытый
9.11 Рефакторинг Repository и реализация Repository ∙
14
14
-
3
Закрытый
9.12 Автоматический аудит в DbContext с перехватом SaveChanges ∙
14
14
-
3
Закрытый
9.13 Интеграция MediatR и Carter для API организации ∙
14
14
-
3
Закрытый
9.14 Функционал получения заказов с Mapster маппингом и валидацией ∙
14
14
-
3
Закрытый
9.15 Исправление ValidationBehavior для поддержки Query — запросов ∙
13
13
-
3
Закрытый
9.16 Глобальный обработчик исключений и исправление валидации ∙
13
13
-
3
Закрытый
9.17 Реализация команды создания заказа с DTO и валидацией ∙
13
13
-
3
Закрытый
9.18 Функционал удаления заказа ∙
13
13
-
3
Закрытый
9.19 Функционал обновления заказа с частичным обновлением ∙
13
13
-
3
Закрытый
9.20 Контейнеризация микросервиса Checkout с Docker ∙
13
13
-
3
Закрытый
9.21 Production docker — compose для Checkout.API с PostgreSQL ∙
14
11
2м 34с
3

10. Событийная интеграция с RabbitMQ: MassTransit

9 уроков
Закрытый
10.1 Настройка RabbitMQ в Dev-окружении
14
14
3м 24с
3
Закрытый
10.2 Интеграция MassTransit.RabbitMQ
14
14
3м 33с
3
Закрытый
10.3 Базовые классы событий для межсервисного взаимодействия
14
14
4м 37с
3
Закрытый
10.4 Extension методы для конфигурации MassTransit с RabbitMQ
14
14
3м 35с
3
Закрытый
10.5 Интеграция брокера сообщений и настройка маппинга
14
14
3м 42с
3
Закрытый
10.6 Реализация функционала корзины и публикация событий ∙
14
14
-
3
Закрытый
10.7 Обработка заказов через RabbitMQ ∙
13
13
-
3
Закрытый
10.8 Docker инфраструктура для production окружения
14
10
9м 25с
3
Закрытый
10.9 Weekly и беклог
10
9
0м 21с
0

11. Инфраструктура

14 уроков
Закрытый
11.1 Построение инфраструктуры ∙
14
14
-
3
Закрытый
11.2 Структурированное логирование HTTP — запросов ∙
14
7
5м 55с
3
Закрытый
11.3 Централизованная настройка системы логирования ∙
14
14
-
3
Закрытый
11.4 Конфигурирование Serilog от консоли до файлов ∙
13
13
-
3
Закрытый
11.5 Логирование gRPC коммуникации ∙
12
12
0м 1с
3
Закрытый
11.6 Централизованное логирование с ELK Stack ∙
13
13
-
3
Закрытый
11.7 Production — ready ELK инфраструктура ∙
14
14
-
3
Закрытый
11.8 Нагрузка с k6 ∙
13
13
-
2
Закрытый
11.9 Мониторинг производительности Prometheus + Grafana ∙
11
11
0м 1с
2
Закрытый
11.10 Библиотека метрик Common.Metrics ∙
12
12
-
2
Закрытый
11.11 Библиотека метрик Common.Metrics ∙
14
14
-
2
Закрытый
11.12 Дашборды Grafana для микросервисов ∙
13
9
-
2
Закрытый
11.13 Управление контейнерами с Portainer ∙
15
15
-
2
Закрытый
11.14 Финал
10
9
241м 54с
0