Skip to content
/ test Public

🔥🔥🔥 Тестовое задание от Employcity

Notifications You must be signed in to change notification settings

Qudenaza/test

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

  • При чтении данных я использовал паттерн "Адаптер", для того чтобы перестроить объект для более удобного дальнейшего использования.

  • При повторном чтении файла data.json (Во время интервального вызова), происходит перезапись старой версии, в которую могут быть внесены изменения самим пользователем (Например при выборе товара, его количество уменьшается, что сохраняется в сторе). Поэтому при недостатке информации в ТЗ о том что дальше делать с данными, полученными при повторном чтении файла data.js я вынужден был отменить перезапись исходного файла и оставить всё в изначальном состоянии. Можно было бы предположить, что необходимо произвести сравнение версий и внести изменение в актуальное состоянии в соответсвии с новыми данными, но т.к в ТЗ этого нет, то я не стал ничего делать.

  • Было решено разделить хранилище на три части. В одной храняться данные для вывода и их сопоставления из файла names.json, в другой храниться данные о корзине и общей сумме товаров и в третьей храниться текущий курс USD/RUB.

  • При реализации функции подсветки полей необходимо было пропустить запуск этой функции при монтировании компонента, в противном случае поле подсвечивалось сразу при запуске приложения. Для этого был создан кастомный хук "useComponentDidMount". Его цель - проверка на первичную отрисовку.

  • Данные в корзине и таблице связаны. При изменении количества товаров для покупке в корзине, меняется и количество оставшихся товаров в таблице. При условии, когда выбрано максимальное количество товара в корзине, товар в таблице пропадает из списка.

  • При изменении курса валют, данные в корзине так же изменяются в соответствии с курсом.

About

🔥🔥🔥 Тестовое задание от Employcity

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages