Содержание курса
1. Общая информация
5 уроков
1 132
820
8м
16
Открытый
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 уроков
186
142
12м
0
Закрытый
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 уроков
25
10
0м
0
Открытый
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 урока
8
6
4м
12
Открытый
4.1
Для чего нужен NGINX
↗
5
4
4м 46с
12
Закрытый
4.2
Интеграция веб сервера NGINX.
↗
3
2
-
0
5. Deploy (деплой) проекта на удаленный сервер.
4 урока
961
719
13м
63
Открытый
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 087
5 476
300м
699
Открытый
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 676
5 057
181м
760
Открытый
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 уроков
1 624
1 482
51м
171
Закрытый
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 урока
736
488
11м
40
Открытый
9.1
Для чего нужен NGINX
↗
557
315
4м 46с
24
Закрытый
9.2
Интеграция веб сервера NGINX.
↗
179
173
8м 35с
16
10. Доработки, рефакторинг, обновления (УСТАРЕЛ) V1
5 уроков
778
654
68м
67
Закрытый
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