Описание тестового задания на позицию Junior Front-End-разработчика в Uptrader для проверки ваших знаний React.
Создать SPA TODO-приложение с использованием React и Redux.
-
Create-react-app и все библиотеки с ним связанные
-
react-router-dom
-
axios и Redux-saga (По желанию)
-
typescript или prop-types будет плюсом
-
react-helmet
-
redux\react-redux
-
sass и\или styled-jsx, classnames
-
babel\eslint\prettier
-
Любая библиотека для drag-n-drop
-
Любая библиотека для удобной работы с текстом(например tinymce)
-
Любая библиотека для работы с файлами
-
Любая библиотека для работы со временем
-
Ваш проект должен содержать 2 страницы
- Страница с выбором проекта
- Страница с задачами
-
Все остальные действия должны происходить в модальных окнах
-
Страница с задачами должна содержать в себе три колонки c возможностью изменения статуса с помощью drag-n-drop:
- Queue
- Development
- Done
-
Каждая задача имеет:
- Номер задачи
- Заголовок
- Описание
- Дата создания
- Время в работе
- Дата окончания
- Приоритет
- Вложенные файлы
- Текущий статус
- Возможность добавлять подзадачи;
- Система каскадных комментариев(т.е. Можно оставить комментарий под коментарием под комментарием... Пример можно увидеть на reddit или picabu)
-
Возможность редактирования задачи
-
Даже если все подзадачи выполнены, это не значит, что и основная становится выполненной
-
Поиск по номеру задачи и заголовку
-
Возможность создавать задачу
-
Адаптация под мобильные устройства
-
Обилие плавных, красивых анимаций\отзывчивость сайта на действия юзера\ Дополнительный функционал только приветствуются
-
Приложение должно сохранять все данные после перезагрузки страницы есть 2 варианта
- Можете написать свой backend или использовать облачные решения, в таком случае допускается использование только
Redux-saga
- Или можете использовать cookie и localStorage для сохранения всех данных
- Можете написать свой backend или использовать облачные решения, в таком случае допускается использование только
-
Когда закончите обязательно разверните приложение на любимом хостинге)
-
Redux toolkit запрещен. Во фронтенд части вашего приложения можно использовать только разрешенные библиотеки!
-
Дизайн вы выполняете на свой вкус, мы вам доверяем;)
-
Пункт с сохранением данных обновлен. Если вы хотите написать свой backend или воспользоваться облачными решениями. Вы можете, но для взаимодействия с ними разрешается использовать только
Redux-saga
иaxios
p.s. Желаем удачи) 😉