Github pages: https://nougatcat.github.io/test-app/
Приложение имеет 2 роута. «Сотрудники» - страница, где выводится список пользователей и «Приветствие» - страница приветствия.
Приложение с помощью axios загружает c моего удаленного репозитория json (300 записей ) со списком пользователей, а для случая, если сервер недоступен, я прописал catch, который загрузит локальную копию файла.
Группы: Managers, Accountants, HR, QA, Ungrouped
Я сделал три варианта отображения. Каждый вариант содержит четыре параметра. По умолчанию отрисовывается вариант «Таблица». Выбор осуществляется через взаимодействие с формой.
Есть возможность сортировки по ID и сортировки по имени пользователя, и поиск по всем столбцам.
Приложение написано на React. Для управления состоянием используется Redux. Для запросов на сервер – Axios. Для работы с формами – Formik.
Я разделил файлы приложения так, что есть отдельно UI, BLL и DAL. Функции для поиска и сортировки лежат в utilities.
В стейте хранится массив полученных данных сотрудников (employees) и выбранный способ отображения (design). Работа с этими данными реализована через редюсер и Redux.

Установить модули: npm install
Запустить приложение: npm start
