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