Skip to content

Instantly share code, notes, and snippets.

@aandrewww
Created November 28, 2018 10:05
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 3 You must be signed in to fork a gist
  • Save aandrewww/6bf6cce7f684557568ef8991ecf48688 to your computer and use it in GitHub Desktop.
Save aandrewww/6bf6cce7f684557568ef8991ecf48688 to your computer and use it in GitHub Desktop.
react-challenge
Задача:
Используя открытый API (https://dog.ceo/dog-api/) написать небольшое web-приложение на стэке React 16.x.x + Redux + React-Router.
Приложение должно иметь более чем один роут: список собак, страница конкретной собаки.
Сборка должна производиться с помощью webpack версии 4.x.x.
Обязательное и обоснованное использование EcmaScript 6+ фич (babel-present-env).
Код должен быть отформатирован по eslint airbnb (https://www.npmjs.com/package/eslint-config-airbnb)
Дизайн и структура файлов/папок проекта приложения остаётся на совесть выполняющего данное тестовое задание.
Что мы хотим видеть?
Хорошо спроектированное и функционирущее приложение с возможностью расширения, внимательность.
Что мы не хотим видеть?
Куски кода на "отвали", скопипащенных кусков кода откуда-то без понимания того, что они делают.
Попытка заюзать все, что указано в задании жертвуя стабильностью приложения. Например попытки заюзать redux-observable без стабильно работающего роутера.
Приветствуется (отсортировано по приоритету):
* Покрытие тестами (хотя бы одного компонента) с помощью Jest
* Сборка каждой страницы (например page.bundle.js или 1.bundle.js) должна грузиться только тогда, когда мы на нее переходим (можно использовать https://www.npmjs.com/package/loadable-components или React.lazy).
* Добавление server side rendering + react-helmet
* Использование "фич" React 16.x & 16.6.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