Skip to content

Instantly share code, notes, and snippets.

Show Gist options
  • Save vanyadymousky/933f1bcdb40ac9686880ed296479ee73 to your computer and use it in GitHub Desktop.
Save vanyadymousky/933f1bcdb40ac9686880ed296479ee73 to your computer and use it in GitHub Desktop.
react-challenge.txt
Задача:
Используя открытый 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