Skip to content

Web hw5#7

Open
vsovgir wants to merge 2 commits intoweb-hw4from
web-hw5
Open

Web hw5#7
vsovgir wants to merge 2 commits intoweb-hw4from
web-hw5

Conversation

@vsovgir
Copy link
Owner

@vsovgir vsovgir commented Nov 26, 2025

В коммите updates содержатся доработки проекта:

  • Появилась отдельная страница со всеми экспонатами
  • Добавлен поиск по названию экспоната
  • Добавлены фильтры по категориям (существа/артефакты)
  • Появилась отдельная страница с информацией о лавке
  • Добавлена форма вопросов сотрудникам лавки
  • Для этих двух страниц добавлена кнопка «На главную»

В коммите hw5 - выполненное задание по критериям:

  • Есть ссылка на код проекта с подключенным API.
  • Есть функция, получающая данные с сервера (GET). Есть функция getRandomCat(), которая делает GET https://cataas.com/cat?json=true к публичному API CATAAS и возвращает JSON с данными котика. В FactsPage.jsx эта функция вызывается в useEffect, результат кладётся в state и localStorage.
  • Есть функция, отправляющие данные на сервер (POST/PUT/PATCH). Есть функция createQuestion(question), которая делает POST на https://jsonplaceholder.typicode.com/comments. В handleSubmit она вызывается при отправке формы, ответ ожидается и логируется
  • Полученные данные используются / показываются на странице.
    GET: ответ getRandomCat() сохраняется в стейт cat, на основе которого строится catImageUrl и отображается картинка котика и подпись к ней, то есть данные с сервера напрямую видны в интерфейсе (случайный котик).
    POST: после createQuestion(newQuestion) вопрос добавляется в массив в localStorage, увеличивается questionsCount, который отображается на странице. Ответ сервера сейчас только логируется, но результат этого действия (кол-во вопросов) отображается в UI.

@lyaplyap
Copy link

lyaplyap commented Dec 5, 2025

Ревью дз по API

Общие комментарии

  • Круто, что работа с API вынесены в отдельные функции и отдельный файл
  • Можно было бы даже пойти чуть дальше, и всю логику из FactsPage.jsx, связанную с получением данных, вынести в отдельные хуки (а их в какой-нибудь отдельный соседний файл) — так улучшится читаемость и упростится код компонента
  • Классно, что есть обработка ошибок и состояния загрузки!

Соответствие критериям

  • Есть ссылка на код проекта с подключенным API [ok]
  • Есть функция, получающая данные с сервера (GET) [ok]
  • Есть функция, отправляющие данные на сервер (POST/PUT/PATCH) [ok]
  • Полученные данные используются / показываются на странице [ok]

Итого: 10

@matiko-ma
Copy link

Работа выполнена отлично! Код хорошо структурирован, разделен на логические блоки. Функции API вынесены в отдельный модуль. Есть обработка ошибок и состояний загрузки. Код соответствует современным стандартам форматирования. Итого: 2 балла!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants