Проект "GitHub search engine"
Данный проект сделан с помощью ReactJS, роутинг с помощью react-router-dom, запросы к API GitHub выполняются axios запросами, для тестирования была выбрана библиотека jest. Задеплоиный проект - https://peppy-jalebi-2e97cb.netlify.app/
Функционал:
Поиск человека по имени. Чтобы перейти на страницу с поиском пользователя по логину, сначала нужно нажать на кнопку "Dashboard" на левом сайдбаре. Далее при вводе логина на английском языке и нажатия на кнопку "Поиск" после загрузки отображаются пользователи, чей логин совпадает полностью или частично с введеным пользователем. Список пользователей выводится в виде карточек с краткой информацией о них: логин, айди и кол-во репозиториев. Повторный поиск пользователей осуществляется без нажатия на кнопку "Поиск", введите новый логи в строке поиска и через 2 секунды отобразятся новые пользователи. Также предусмотрен постраничный вывод пользователей (пагинация), при нажатии на какую-либо страницу, отобразятся пользователи, "прикрепленные" к ней. Также реализована логика, по которой на нажатие на кнопку "Подробнее" в карточке пользователя, открывается страница с подробной информацией о выбранном пользователе.
Поиск пользователя по айди. Чтобы перейти на страницу с поиском пользователя по логину, сначала нужно нажать на кнопку "ById user" на левом сайдбаре. Далее при вводе айди и нажатия на кнопку "Поиск" выводится карточка с найденным пользователем, она содержит в себе аватарку, айди, город, количество репозиториев и ссылку на пользователя на GitHub.
Рекомендации по использованию
У API GitHub есть ограничение по запросам с одного IP-адреса, но это можно немного исправить, добавив токен авторизации в запрос, что в свою очередь увеличивает лимит, но не делает его бесконечным (что и было сделано). Но сайт выдерживает 3-5 запросов пользователей по логину, дальше в консоле появляется ошибка 403 - отказано в доступе. Рекомендуется использовать VPN и разные IP-адреса после появления ошибки (или обновление страницы иногда помогает), чтобы делать больше за