Курс на Stepik
Обложка курса «RESTful бекенд на Dart и клиент на Flutter» на Stepik
1 299 ₽

RESTful бекенд на Dart и клиент на Flutter 4.900

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

Практический курс по созданию RESTful бэкенда на языке Dart. Вы разработаете два микросервиса (auth и data) с нуля: аутентификация через JWT, работа с PostgreSQL, кеширование в Redis, логирование, обработка запросов. Научитесь контейнеризировать сервисы с Docker, настраивать Nginx как reverse-proxy и деплоить проект на удалённый сервер. В финале создадите клиентское приложение на Flutter для взаимодействия с API. Курс подойдёт разработчикам, желающим освоить серверную разработку на Dart.

Показатель Текущие показатели Рост
Значение 🏆 Рейтинг 3 дн 7 дн 30 дн
Количество учеников на курсе «RESTful бекенд на Dart и клиент на Flutter»Учеников на курсе 419
Сертификаты, выданные на курсе «RESTful бекенд на Dart и клиент на Flutter»Сертификатов выдано 96
Отзывы о курсе «RESTful бекенд на Dart и клиент на Flutter»Отзывов получено 40
Рейтинг курса «RESTful бекенд на Dart и клиент на Flutter»Рейтинг курса 4.900
Уроки в курсе «RESTful бекенд на Dart и клиент на Flutter»Количество уроков 124
Тесты в курсе «RESTful бекенд на Dart и клиент на Flutter»Количество квизов 3
Время прохождения курса «RESTful бекенд на Dart и клиент на Flutter»Время прохождения курса
Стоимость курса «RESTful бекенд на Dart и клиент на Flutter»Стоимость курса 1 299 ₽
Обновления курса «RESTful бекенд на Dart и клиент на Flutter»Обновления курса
Дата публикации курса «RESTful бекенд на Dart и клиент на Flutter»Дата публикации курса
Последнее обновление курса «RESTful бекенд на Dart и клиент на Flutter»Последнее обновление
Сложность normal

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

Разделы в курсе «RESTful бекенд на Dart и клиент на Flutter» 10 разделов Уроки в курсе «RESTful бекенд на Dart и клиент на Flutter» 124 урока Тесты в курсе «RESTful бекенд на Dart и клиент на Flutter» 3 теста Время прохождения курса «RESTful бекенд на Dart и клиент на Flutter» 12 ч. Последнее обновление курса «RESTful бекенд на Dart и клиент на Flutter» обн. 19 марта 2026

1. Общая информация

5 уроков
Открытый
1.1 Микросервисная и Монолитная архитектура
649
340
4м 7с
14
Открытый
1.2 rest Курс по Dart
434
434
0м 12с
2
Открытый
1.3 Установка всех необходимых инструментов
18
15
2м 41с
0
Открытый
1.4 rest Установка Flutter, Dart SDK
20
20
1м 10с
0
Закрытый
1.5 Работа с исходным кодом репозитория Git
11
11
1м 37с
0

2. Реализация сервиса auth

26 уроков
Закрытый
2.1 Понятие Аутентификация и Авторизация
13
11
1м 58с
0
Открытый
2.2 auth: Установка PostgreSQL с помощью Docker compose.
20
9
5м 3с
0
Открытый
2.3 auth: Создаем микро-сервис auth
14
9
2м 16с
0
Открытый
2.4 auth: Создаем пакет logger - для логирования
12
8
3м 12с
0
Закрытый
2.5 auth: Создаем пакет config - конфигурация сервера
7
7
-
0
Закрытый
2.6 auth: Создаем Di контейнер для хранения обьектов
8
7
-
0
Закрытый
2.7 auth: Подключаем Drift к проекту, создаем пакет database
7
7
-
0
Закрытый
2.8 auth: Создаем пакет: handler - управления роутами
7
7
-
0
Закрытый
2.9 auth: Создаем сервис для хеширование паролей
7
7
-
0
Закрытый
2.10 auth: Создаем сервис для шифрование данных в БД
7
7
-
0
Открытый
2.11 auth: Создаем сервис для создания JWT токенов
14
7
1м 51с
0
Закрытый
2.12 auth: SignUp — запрос для регистрации пользователя.
7
7
-
0
Открытый
2.13 auth: Настраиваем и тестируем в Postman
9
5
-
0
Закрытый
2.14 auth: Реализация сервиса для работы с БД
6
6
-
0
Закрытый
2.15 auth: Создаём утилиты для обработки запросов
3
2
-
0
Закрытый
2.16 auth: /sign-up — регистрация пользователя
7
7
-
0
Закрытый
2.17 auth: Тестируем в Postman регистрацию пользователя
6
6
-
0
Закрытый
2.18 auth: /sign-in - авторизация пользователя
6
5
-
0
Открытый
2.19 auth: JWTMiddleware - перехват запроса и проверка токенов
8
6
-
0
Закрытый
2.20 auth: GET /user - получение данных пользователя
5
4
-
0
Закрытый
2.21 auth: PATH /user - обновление данных пользователя
3
2
-
0
Закрытый
2.22 auth: DELETE /user - удаление пользователя
2
1
-
0
Закрытый
2.23 auth: /refresh-token - обновление токенов
2
1
-
0
Закрытый
2.24 auth: RateLimit - защита сервера, ограничение запросов
2
2
-
0
Закрытый
2.25 Межсервисный обмен - удаление постов, при удалении User
2
1
-
0
Закрытый
2.26 auth: Интеграция сервиса auth в docker-compose.
2
1
-
0

3. Реализация сервиса data

13 уроков
Открытый
3.1 data: Запуск PostgreSQL для сервиса data
7
2
-
0
Закрытый
3.2 Инициализация сервиса data
3
2
-
0
Закрытый
3.3 data: Подключаем Drift к проекту, создаем пакет database
2
2
-
0
Закрытый
3.4 data: Добавление промежуточного ПО для работы с JWT
2
0
-
0
Закрытый
3.5 data: Создаем пакет: handler - управления роутами
1
1
-
0
Закрытый
3.6 data: POST /posts Создание поста
2
0
-
0
Закрытый
3.7 data: GET /posts - Получение поста
1
0
-
0
Закрытый
3.8 data: DELETE /posts - удаление поста
1
0
-
0
Закрытый
3.9 data: GET /posts - получение всех постов + пагинация
1
0
-
0
Закрытый
3.10 data: Развернем БД Redis
1
1
-
0
Закрытый
3.11 data: Redis - Кеширование постов
2
1
-
0
Закрытый
3.12 data: Межсервисный обмен - удаление постов
1
0
-
0
Закрытый
3.13 data: Интеграция сервиса data в docker-compose.
1
1
-
0

4. Интеграция веб сервера nginx

2 урока
Открытый
4.1 Для чего нужен NGINX
5
4
4м 46с
12
Закрытый
4.2 Интеграция веб сервера NGINX.
3
2
-
0

5. Deploy (деплой) проекта на удаленный сервер.

4 урока
Открытый
5.1 Покупка VDS (Virtual Dedicated Server).
318
214
3м 34с
19
Открытый
5.2 Создание SSH соединения в VSCode с VDS
281
197
2м 1с
16
Закрытый
5.3 Установка Docker и Docker compose на VDS.
202
161
3м 51с
13
Закрытый
5.4 Развернем проект на удаленной виртуальной машине.
160
147
6м 0с
15

6. Создаем клиент на Flutter.

39 уроков
Открытый
6.1 Установка и настройка Android Studio
325
237
10м 30с
22
Открытый
6.2 Создаем интерфейсы AppRunner и AppBuilder, и их имплементации.
333
275
9м 32с
30
Открытый
6.3 Добавляем пакеты injectable + get_it + build_runner
328
258
5м 14с
29
Открытый
6.4 Инжектим AppConfig в зависимости от типа сборки dev, prod, test.
287
223
5м 0с
26
Закрытый
6.5 Добавляем плагин dio для работы с сетью. Инжектим DioContainer.
184
175
6м 1с
22
Закрытый
6.6 Добавляем пакет freezed. Создаем сущность UserEntity.
170
166
6м 36с
19
Закрытый
6.7 Создаем абстрактный класс AuthRepository для работы с Auth
168
163
5м 50с
22
Закрытый
6.8 Создадим и внедрим моковую реализацию MockAuthRepository
162
158
4м 0с
21
Закрытый
6.9 Создадим глобальный AuthCubit для управления авторизацией
166
163
6м 55с
21
Закрытый
6.10 Создадим AuthBuilder для наблюдения за состоянием авторизации.
166
164
8м 47с
20
Закрытый
6.11 Инициализируем AuthCubit, добавляем GlobalProvides.
162
158
3м 44с
18
Закрытый
6.12 Создадим рутовый экран и в нем реализуем AuthBuilder
163
154
6м 59с
19
Закрытый
6.13 Верстка экрана LoginScreen. Часть 1
174
160
10м 51с
21
Закрытый
6.14 Верстка экрана LoginScreen. Рефакторинг. Часть 2
156
150
8м 19с
25
Закрытый
6.15 Реализуем моковую авторизацию. Проверка AuthBuilder.
194
180
6м 5с
21
Закрытый
6.16 Реализуем моковую регистрацию.
162
150
10м 41с
19
Закрытый
6.17 Добавляем UserDto (Data Transfer Object)
153
139
5м 2с
18
Закрытый
6.18 Реализация NetworkAuthRepo и получение реальных данных
155
145
6м 22с
17
Закрытый
6.19 Реализация "Регистрации" в сервисе Auth. Метод signUp().
138
130
3м 32с
12
Закрытый
6.20 Сохраняем состояние AuthCubit. Используем hydrated_bloc.
134
130
12м 48с
19
Закрытый
6.21 Исправляем ошибку при сохранении стейта.
132
129
3м 32с
14
Закрытый
6.22 Создание единой сущности для обработки ошибок ErrorEntity.
133
129
9м 32с
15
Закрытый
6.23 Реализация метода для обновления токенов
133
129
5м 57с
15
Закрытый
6.24 Создадим и добавим AuthInterceptor (перехватчик запросов)
132
125
13м 59с
14
Закрытый
6.25 Перехват статуса 401 и обновление токенов в Interceptor
122
116
4м 17с
15
Закрытый
6.26 Переносим Dio в абстрактную сущность
128
116
10м 23с
21
Закрытый
6.27 Реализация личного кабинета пользователя
119
114
9м 43с
14
Закрытый
6.28 Исправление алгоритма обновления токенов
116
111
5м 43с
14
Закрытый
6.29 Реализация обновления данных пользователя
113
108
10м 51с
15
Закрытый
6.30 Добавляем состояние для обработки событий изменения UserEntity.
108
106
15м 46с
17
Закрытый
6.31 Реализуем возможность для пользователя поменять пароль.
111
106
9м 1с
15
Закрытый
6.32 Реализуем получение и отображение всех постов пользователя.
111
107
23м 37с
15
Закрытый
6.33 Учимся создавать подписку на изменения AuthCubit
105
98
6м 30с
14
Закрытый
6.34 Создадим AppDialog с виджетом Form и валидацией полей.
101
95
9м 26с
16
Закрытый
6.35 Реализуем возможность создавать новые посты.
104
99
6м 6с
15
Закрытый
6.36 Реализуем отображение полной информации о посте
105
97
16м 13с
13
Закрытый
6.37 Реализуем удаление поста
105
95
7м 45с
14
Закрытый
6.38 Исправление ошибки обновления токенов в AuthInterceptor
129
68
10м 3с
17
Закрытый
6.39 Выпуск сертификата и благодарность ☺️
100
50
0м 17с
5

7. Реализация сервиса AUTH (УСТАРЕЛ) V1

19 уроков
Открытый
7.1 Установка PostgreSQL с помощью Docker compose.
1 584
627
13м 3с
97
Открытый
7.2 Установка Flutter, Dart SDK, Conduit для написания бекенда.
844
546
6м 2с
58
Открытый
7.3 Создание сервиса AUTH на Dart, запуск и подключение в PostrgeSQL
853
403
12м 8с
69
Открытый
7.4 Создание первых роутов, получение информации из бекенда.
705
334
12м 8с
65
Закрытый
7.5 Создаем модель User и научимся обрабатывать информацию в запросе
348
267
12м 59с
51
Закрытый
7.6 Инициализация базы данных. Создание таблицы User.
272
262
4м 6с
37
Закрытый
7.7 Создание пользователя в БД. Получаем токены и хеш пароля.
270
233
19м 41с
38
Закрытый
7.8 Авторизация пользователя на сервере. Поиск в PostgreSQL, пароли.
239
226
12м 56с
45
Закрытый
7.9 Реализуем метод refreshToken, для обновление токенов.
273
233
10м 9с
28
Закрытый
7.10 Устраняем критическую уязвимость получения токенов.
247
222
5м 31с
27
Закрытый
7.11 Создаем класс-обертку (wrapper) для класса Response.
278
235
10м 8с
40
Закрытый
7.12 Создадим TokenController для автоматической проверки токена
248
215
11м 59с
28
Закрытый
7.13 Реализация AppUserController, метод getProfile.
205
192
5м 27с
21
Закрытый
7.14 Реализация AppUserController, метод updateProfile.
194
182
6м 0с
22
Закрытый
7.15 Реализация AppUserController, метод updatePassword.
187
181
12м 45с
25
Закрытый
7.16 Создаем VOLUME докер контейнера db_auth, для хранения БД
208
189
5м 10с
32
Открытый
7.17 Инициализируем основной порт в БД PostrgeSQL
314
153
7м 7с
35
Закрытый
7.18 Рефакторинг, вынесем значение Environment в отдельный класс.
199
180
6м 7с
20
Закрытый
7.19 Интеграция сервиса AUTH в docker-compose. Заполняем Dockerfile.
208
177
14м 54с
22

8. Реализация сервиса DATA (УСТАРЕЛ) V1

9 уроков
Закрытый
8.1 Развернем базу данных PostgreSQL для сервиса DATA
196
179
2м 8с
20
Закрытый
8.2 Создание сервиса DATA
179
175
13м 35с
22
Открытый
8.3 Что такое Отношения (Relation) в реляционных базах данных.
270
209
2м 26с
20
Закрытый
8.4 Создаем модели Author и Post. Настраиваем Relation.
169
164
5м 20с
19
Закрытый
8.5 PostController. Реализация метода создания поста
164
159
8м 26с
15
Закрытый
8.6 PostController. Реализуем получение поста по id.
156
150
6м 1с
20
Закрытый
8.7 PostController. Реализация метода удаления поста по Id
148
144
5м 13с
17
Закрытый
8.8 PostController. Реализация метода получение всех постов.
175
146
4м 34с
18
Закрытый
8.9 Интеграция сервиса DATA в docker-compose.
167
156
5м 5с
20

9. Интеграция веб сервера nginx (УСТАРЕЛ) V1

2 урока
Открытый
9.1 Для чего нужен NGINX
557
315
4м 46с
24
Закрытый
9.2 Интеграция веб сервера NGINX.
179
173
8м 35с
16

10. Доработки, рефакторинг, обновления (УСТАРЕЛ) V1

5 уроков
Закрытый
10.1 Доработки, рефакторинг, обновление бекенда
158
128
8м 26с
15
Закрытый
10.2 Доработка бека, реализуем правильный алгоритм работы с постами
125
98
20м 10с
15
Закрытый
10.3 Пагинация постов, реализация на бекенде
114
87
10м 44с
11
Закрытый
10.4 Пагинация постов, реализуем Bloc для управления пагинацией
121
91
19м 24с
10
Открытый
10.5 Пагинация постов, реализуем в UI с помощью NotificationListener
260
250
11м 40с
16