Redux Saga
ЛР39
Создаем на Github репозиторий cwp-39, клонируем его, открываем в IDE
Копируем файлы из cwp-38
Устанавливаем redux saga и redux actions
Реализуем REST или GraphQL API позволяющее получать и манипулировать точками маршрута в БД
Перепишем action constants, action creators и reducers с использованием Redux Actions
Напишем саги для общения с сервером:
1) Получение точек маршрута при старте приложения из БД
2) Добавление точки маршрута в БД
3) Измение точки маршрута в БД
4) Удаление точки маршрута из БД (оптимистичный сценарий)
Уберём текущую реализацию time travel. Вместо неё сделаем синхронизацию с сервером в оптимистичном стиле (добавление/изменение/удаление):
1) Если запрос завершился удачно - в течении 5 секунд в углу показываем уведомление об успешной операции с указанием её типа, а также кнопкой на отмену этой операции
2) Если запрос завершился неудачно - отменяем неудачную операцию, в течении 5 секунд в углу показываем уведомление о провалившейся операции с указанием её типа, а также кнопкой на повтор этой операции
* С помощью веб-сокетов реализуем оповещение всех подключенных клиентов об изменениях в маршруте. То есть, открываем приложение в двух браузерах (или двух вкладках) и добавляем новую точку в одном из них. Хотим увидеть новую точку и в другом браузере без перегазгрузки страницы.
* Реализуем сохранение текущего состояния в локальное хранилище браузера с подгрузкой его при старте приложения. Это не отменяет начальный запрос на сервер.
Задания со звездочкой предназначены для персонального роста и необязательны к показу при защите лабораторной работы
Покажите работу приложения
Документация по Redux Actions
Документация по Redux Saga