Skip to content

koretskiyav/react-2020-08-25

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

61 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ДЗ

Как делать:

  1. Сделать форк этого репозитория в свой аккаунт (только 1 раз в самом начале).

  2. Перед выполнением ДЗ сделайте мердж мастера этого репозитория себе в форк (чтобы иметь актуальный код);

  3. Создайте новую ветку от актуального мастера для выполнения ДЗ;

  4. Выполните ДЗ в этой ветке;

  5. Сделайте Pull Request этой ветки в мастер моего репозитория;

  6. Напишите мне ([email protected]) письмо со ссылкой на PR.

Дедлайн – 21:00 по Москве/Киеву за день до занятия.

HT1

  1. Создать компоненту Rate, которая принимает рейтинг (число от 1 до 5) и его отображает (можно просто показать число, нарисовать звездочки и раскрасить их, и т.д.).
  2. Создать компоненту Reviews, где выводить имена и отзывы про рестораны и рейтинг с помощью компоненты Rate.
  3. Создать компоненту Restaurant (рендерить там, где сейчас Menu). В Restaurant показывать Menu и Reviews, а так же средний рейтинг с помощью компоненты Rate.

HT2

  1. Покрыть PropTypes все компоненты (только то, что используется в компоненте).
  2. Написать тесты на уменьшение блюд. (усложнение - не используя увеличение).
  3. Покрыть тестами Reviews.

HT3

  1. Сделать компонент Order в котором отображать выбранные товары с их количеством, суммой по каждому товару и общей стоимостью заказа.
  2. Сделать у каждой позиции в этом заказе кнопки +, -, х (при нажатии на х удаляеься все количество товара)

HT4

  1. Переписать редьюсеры review и restaurant на key=>value (аналогично products)
  2. Добавить users редьюсер
  3. Починить отображение Review компонента (взять данные из редьюсеров review и users)
  4. Написать middleware для генерации uuid
  5. Реализовать добавление нового review в стор и показывать его

HT5

  1. Загрузить products через api middleware, грузить только для текущего ресторана
  2. Загрузить users через redux-thunk
  3. Полностью убрать fixtures из приложения (удалить все импорты и сам файл), все грузить с сервера
  4. При загрузках показывать лоадеры, все грузить максимально низко, там где эти данные нужны
  5. Все данные грузить только один раз (не загружать повторно данные, которые уже есть)
  6. (Опционально) переписать все на immer

HT6

  1. Сделать reviews/menu отдельными роутами (/restaurant/:id/reviews)
  2. В корзине сделать продукты линками на их ресторан

HT7

  1. Сделать редирект со корня и с /restaurants на страницу ресторана
  2. Проверить если мы на /checkout, то при нажатии на кнопку:
  • отправить POST запрос на: '/api/order' с JSON формата [{id: "d75f762a-eadd-49be-8918-ed0daa8dd024", amount: 2}]
  • блокировать кнопку на время запроса (можно добавить лоадер)
  • при успешном ответе (при сумме заказа от 50 до 200) редиректить на новую страницу "Спасибо за заказ!" и очищать корзину
  • при ошибке редиректить на странцу ошибки, показать текст ошибки
  1. Реализовать переключение валюты, хранить словарь словарь в контексте (минимум 3 валюты)
  2. Анимировать добавление ревью использус css modules

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published