- Урок 1. Настройка среды разработки и первое React-приложение
- Урок 2. Жизненный цикл React-компонента
- Урок 3. Продолжаем погружение в React и подключаем UI-библиотеку
- Урок 4. Роутинг в React: разбиваем мессенджер на чаты
- Урок 5. Redux. Управление состоянием приложения
- Урок 6. Redux middlewares, подключение роутера к Redux и хранение данных с помощью Redux-persist
- Урок 7. Работа с API
- Урок 8. Progressive Web App
- Создан проект
- Настроены package.json и webpack.config
- Установлен webpack-dev-server
- Создано простейшее React-приложение с использованием функциональных компонентов
- Разобран жизненный цикл компонентов на примере App и Child
- Созданы компоненты MessageField и Message
- Реализована отправка сообщений по нажатию кнопки
- Реализован ответ от робота
- Подключён Material-UI
- Сделана первичная вёрстка, явно выделено поле для сообщений
- Визуально разделены сообщения от пользователя и ответы робота
- Добавлена возможность ввода текста сообщения и его отправки
- Подключён BrowserRouter
- Создать верхний компонент Router
- Приложение разбито на чаты с помощью роутера (URLs: /chat/<chat_id>/)
- Реализовано хранение сообщений в словаре с id в качестве ключа
- Реализовано хранение чатов в словаре (chatId: {title: название, messageList: массив из id сообщений})
- Подключён Redux
- Подключено расширение Redux DevTools
- Созданы action-ы отправки сообщения и добавления чата
- Чаты перенесены в Redux
- Подключены middlewares
- Логика ответа от робота перенесена в middleware
- Router подключён к Redux
- Переходы между чатами реализованы при помощи функции push()
- Подключён redux-persist
- Реализовано сохранение сообщений и чатов с помощью redux-persist
- Подключён redux-api-middleware
- Организована загрузка чатов и сообщений через API
- Реализовано выделение сущностей (чатов и сообщений) с помощью normalizr
- Подключён service-worker
- Добавлен Web App Manifest и иконки
- Реализовано всплывающее окно для iPhone с предложением установить приложение на домашний экран
- Добавлен скрипт отслеживания установок
- Реализована подписка на push-уведомления