(!) LOCAL SERVER START: npx json-server --watch db.json --port 8000
Это последнее задание в курсе. Дедлайн - 24.06!
Для выполнения этого ДЗ Вам понадобятся следующие npm-пакеты:
- react
- react-dom
- react-router-dom
- webpack
- json-server
- redux
Выше описаны только самые необходимые пакеты, вероятно в процессе выполнения выяснится, что необходимо что-то еще.
Задание. Необходимо создать приложение pokedex
.
-
Пагинация. Может быть реализована любым способом:
- Кнопка "Load more", которая подгружает следующую страницу в общий список
- Endless scroll. Принцип тот же, что и у load more за исключеним того, что следующая порция должна подгружаться автоматически при достижении конца страницы.
- Традиционная пагинация с номерами страниц
-
Адаптивный дизайн
-
Должна присутствовать навигация (меню).
-
Желательно воспользоваться redux для state management
-
Главная страница. Здесь должен выводиться список покемонов плашками. В каждой плашке должна быть картинка покемона, его имя и кнопка "Поймать". Если покемон уже пойман - кнопка должна быть
disabled
. При нажатии на покемона - нужно переходить на страничку покемона. -
Страница покемона. Здесь должна выводится информация по указанному покемону: id, имя, картинка, статус (пойман или нет). Если покемон пойман, то нужно еще показывать дату его поимки.
-
Пойманные покемоны. Здесь логика точно такая же, как и на главной странице, за исключением того, что выводиться должны только пойманные покемоны.
-
Используйте какой-нибудь css-framework, чтобы верстка заняла минимум времени.
-
Пойманных покемонов лучше выносить в отдельную коллекцию и затем связывать их средствами json-server. Подробности можно найти в документации.
-
Постарайтесь показать себя во всей красе. Если есть какой-то опыт с дополнительными пакетами, не указанными в списке - не стесняйтесь их использовать.
-
Приветствуется создание доступного интерфейса.
-
Постарайтесь построить хорошую архитектуру приложения. Как минимум, стоит отделить бизнес-логику приложения от ее презентационного слоя (
view
). -
Приветствуется покрытие unit-тестами.
-
Поддержка браузеров: последние версии современных браузеров.
Использование create-react-app разрешено
Картинки покемонов и db.json
для json-server
можно найти в этом репозитории.
Если есть особая нетерпимость к покемонам, то можно воспользоваться любым понравившимся api и реализовать все фичи из задания (функциональность по поимке покемона можно заменить закладками, лайками и т.п.)