Forked from aandrewww/gist:ca2f481907b831133b36f9770078683b
Last active
May 16, 2018 18:18
-
-
Save vanyadymousky/933f1bcdb40ac9686880ed296479ee73 to your computer and use it in GitHub Desktop.
react-challenge.txt
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Задача: | |
Используя открытый API (https://dog.ceo/dog-api/) написать небольшое web-приложение на стэке React 16.3.x + Redux + React-Router. | |
Приложение должно иметь более чем один роут: список собак, страница конкретной собаки. | |
Сборка должна производиться с помощью webpack версии 4.x.x. | |
Покрытие тестами (хотя бы одного компонента) с помощью Jest | |
Обязательное и обоснованное использование EcmaScript 6+ фич (babel-present-env). | |
Код должен быть отформатирован по eslint airbnb (https://www.npmjs.com/package/eslint-config-airbnb) | |
Дизайн и структура файлов/папок проекта приложения остаётся на совесть выполняющего данное тестовое задание. | |
Что мы хотим видеть? | |
Хорошо спроектированное и функционирущее приложение с возможностью расширения, внимательность. | |
Что мы не хотим видеть? | |
Куски кода на "отвали", скопипащенных кусков кода откуда-то без понимания того, что они делают. | |
Попытка заюзать все, что указано в задании жертвуя стабильностью приложения. Например попытки заюзать redux-observable без стабильно работающего роутера. | |
Приветствуется (отсортировано по приоритету): | |
* Сборка каждой страницы (например page.bundle.js или 1.bundle.js) должна грузиться только тогда, когда мы на нее переходим (можно использовать https://www.npmjs.com/package/loadable-components). | |
* Добавление server side rendering + react-helmet | |
* Использование "фич" React 16.x & 16.3.x. | |
* Использование reselect | |
* Обоснованное расширение стэка библиотеками (redux-actions, ramda и т.д.) | |
* Использование redux-observable middleware (с пониманием принципов реактивного программирования. этот пункт НЕ имплементить без понимания того, что вы делаете). |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment