Использование GraphQL для управления хранилищами с открытым исходным кодом

Перевод статьи Using GraphQL to manage open source repositories, автор Brian Douglas

GraphQL - это язык запросов для API и среда выполнения этих запросов с существующими данными. Лучший способ узнать о GraphQL - использовать GraphQL, поэтому я собрал стартовый проект, чтобы следить и делать заметки о проектах с открытым исходным кодом на GitHub.

В любое время вы можете посмотреть на готовый проект на GitHub или демонстрационную версию на open-sauced.netlify.com.

Проект

Netlify любит открытый исходный код и вносит свой вклад в сообщество с открытым исходным кодом, предоставляя инструменты и бесплатный хостинг. Тем не менее, попасть в проекты с открытым исходным кодом может быть сложным процессом, в результате чего непобедимый немного потерял в соусе . Существует множество существующих инструментов, которые помогут вам получить ваш первый запрос на извлечение с открытым исходным кодом, включая Code Triage , IssueHub и, конечно, firstpr.me . Open Sauced - еще один инструмент для помощи, и он является предметом этих исследований GraphQL.

Шаг 1 - Настройка GraphQL Backend

Есть несколько вариантов, чтобы получить серверный сервер GraphQL, в том числе некоторые, которые очень хорошо связываются с экосистемой Apollo . Я выбрал решение, которое не требует управления моим собственным сервером, и это Graphcool . Graphcool предоставляет разработчикам очень расширяемый, готовый к выпуску сервер без сервера GraphQL.

Я создал и реализовал простую схему GraphQL в Graphcool и сделал ее доступной благодаря своему супер-крутому графическому инструменту. Это позволяет мне предоставить простое решение с одним щелчком мыши для развертывания бэкэнд Open Sauced, который может сохранять данные репозитория и прикреплять примечания.

Идите вперед и попробуйте нажать кнопку graphql-up ниже.

graphql-up

Обязательно сохраните свою простую конечную точку Graphcool, чтобы вы могли использовать ее на шаге 3 ниже.

Шаг 2 - Доступ к API-интерфейсу GitHub GraphQL

GitHub представил альфа-версию своего нового API GraphQL на конференции GitHub Universe . Это написано на Facebook GraphQL, языке запросов, который позволяет заключать контракты API самообслуживания. Команда GitHub написала в своем техническом блоге, что их основной причиной переключения API-парадигм является отсутствие масштабируемости с их существующими контрактами RESTful. REST не может обеспечить гибкость, необходимую им, чтобы обслуживать всех своих многочисленных пользователей одновременно, сохраняя при этом низкие затраты на обслуживание.

Я использую этот API GraphQL для получения данных репо для проекта Open Sauced. Красота заключается в том, что мне не нужно открывать обширную документацию API GitHub. Я могу использовать инструменты, такие как GraphiQL, для просмотра документации при построении запросов (как показано ниже).

Для доступа к данным репозитория, использующим функцию Open sauce, вам понадобится маркер доступа GitHub. Вы можете найти инструкции о том, как получить его на GitHub.

Обязательно разрешайте доступ к вашей пользовательской информации при создании маркера. Кроме того, сохраните свой токен, чтобы использовать его на следующем шаге.

Шаг 3 - Развертывание в Netlify Чтобы получить окончательную версию проекта Open Sauce, вы можете использовать кнопку «Развернуть до Netlify» с одним щелчком мыши для клонирования и развертывания проекта.

Развертывание в Netlify

Нажмите кнопку «Развернуть на Netlify» и добавьте маркер доступа GitHub и конечную точку Graphcool. Теперь у вас есть живая версия Netlify, а также клонированная версия репо в GitHub.

Deploy to Netlify

Шаг 4 - Вклад

Полнота этого проекта открыта, поэтому запросы и проблемы с призывом приветствуются.

Клиент React Apollo используется для использования конечной точки GraphQL, и у меня уже есть планы улучшить удобство использования с такими функциями, как мгновенный поиск Algolia для решения проблем и улучшения CSS в JS- решении. Если у вас есть опыт в этих технологиях, не стесняйтесь останавливаться.

Я надеюсь, что этот проект создаст хорошую основу для исследования в GraphQL и поможет уменьшить вероятность заблудиться в соусе.

Не нашли ответ на свой вопрос? Возможно, вы найдете решение проблемы на нашем канале в Youtube! Здесь мы собрали небольшие, но эффективные инструкции. Смотрите и подписывайтесь на наш youtube-канал!

Смотреть на Youtube

1 Что нужно восстановить?

Видео

MP4, AVI и HD видео хранятся на телефоне и / или по ошибке удаляются вместе с фотографиями и другими медиафайлами.

Контакты

Номера телефонов друзей и знакомых из приложения «Контакты Android», журналы вызовов; Восстановление SIM-карты.

Фото

Удалены файлы JPG / PNG из Галереи Android; фото, загруженные на мобильный, файлы повреждены после восстановления.

Смс и сообщения

Чаты WhatsApp и Facebook, текстовые сообщения в соцсетях, информация на сим-карте

2 Где пропали файлы?

На sd-карте

Фотографии и документы хранятся на SD-картах. Часто на них случайно удаляются файлы

На телефоне

Программы для восстановления не распознают внутреннее хранилище телефона как диск, но есть другие решения.

На USB флешке

Эти небольшие устройства хранения данных часто выходят из строя или на них появляются ошибки чтения.

На HDD или SSD

Несмотря на то, что настольные платформы становятся все менее популярными, проблема потери файлов всегда оставалась.