Freecodecamp: Заменить проект Camper Leaderboard функционально похожим проектом на основе форума

Созданный на 5 июн. 2018  ·  45Комментарии  ·  Источник: freeCodeCamp/freeCodeCamp

Опишите вашу проблему и, если возможно, как ее воспроизвести

API-интерфейсы таблицы лидеров Camper не работают, как показано ниже:

Добавьте ссылку на страницу с проблемой

https://fcctop100.herokuapp.com/api/fccusers/top/recent
https://fcctop100.herokuapp.com/api/fccusers/top/alltime

Расскажите нам о своем браузере и операционной системе

  • Имя браузера: Chrome
  • Версия браузера: 67
  • Операционная система: Windows 7

Если есть возможность, добавьте сюда скриншот

help wanted learn projects-frontend

Самый полезный комментарий

@ Em-Ant, спасибо за быстрый ответ! Ваша конечная точка Glitch API работает безупречно, поэтому я просто обновлю описание проекта приведенными выше пользовательскими историями и вашими ссылками.

Все 45 Комментарий

@tchaffee @tbushman @ Em-Ant можем ли мы проверить и найти альтернативу этому на Glitch?

@raisedadead Я не знаю, кто разработал эти API и есть ли альтернатива. До моего времени. Может быть, это то, что вы хотели бы разместить в доменах FCC в будущем, чтобы они всегда были доступны и не находились под контролем третьей стороны? Дайте мне знать, если я могу еще чем-нибудь здесь помочь.

У нас есть исходный код этого приложения? Я помню, что периодически срабатывает, сканируя gitter или страницы профиля fcc. Я не знаю, возможно ли это при сбое. Почему freecodecamp не предоставляет конечную точку api с рейтингом домовых?

У нас есть исходный код этого приложения?

https://github.com/roelver/fcctop100

Если кто-то сможет провести мне базовый анализ, если код достаточно хорош и требует небольшой доработки, я внесу это в нашу организацию, и мы сможем разместить это на Glitch?

Почему freecodecamp не предоставляет конечную точку api с рейтингом домовых?

Это только подчеркнет текущие 800+ конкурентов, которые мы получаем в часы пик.

Хотелось бы заменить вызов. @QuincyLarson , ты что-то

@raisedadead Проект таблицы лидеров больше не является обязательным - мы переместили его в Prep. Тем не менее, было бы неплохо, если бы кто-нибудь придумал, как это исправить. Я не думаю, что приложения для таблиц лидеров будут настолько сильными - в прошлом у нас были тысячи таких таблиц, и они, похоже, не оказали большого влияния.

Однако нам следует подождать, пока наш новый открытый API не заработает, прежде чем пытаться это исправить.

Я посмотрел код и знаю, как он работает. Раньше он очищал игровую комнату, чтобы получить имена пользователей кемпинга, а затем получал информацию о каждом кемпере, обращающемся к его / ее странице профиля freecodecamp. На данный момент это не работает, потому что этот gitter room закрыт, а ключ api gitter автора (жестко запрограммированный в источнике ...) истек / заблокирован.

Если бы существовал способ периодически (один раз в день или неделю?) Получать доступ к некоторой информации о рейтинге непосредственно из freecodecamp, было бы намного проще создать замену для него в случае сбоя.

Привет, @QuincyLarson, я думаю, он все еще в списке устаревших сертификатов:

image

@raisedadead Хороший замечание - я забыл, что это было в том списке. Нам определенно нужно, чтобы этот проект снова заработал.

@ Em-Ant Спасибо за описание проблемы. Вот что я предлагаю сделать - переключить этот проект на форум.

Можно подумать, что без ключа API люди могли бы показывать недавно активные темы с помощью API нашего форума:

https://forum.freecodecamp.org/latest.json

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

Кому-нибудь было бы интересно заняться этим?

@QuincyLarson Я начал работать над возможной заменой демонстрации, из которой я мог бы затем написать некоторые пользовательские истории, хотя кажется, что заголовок CORS может быть не включен, чтобы иметь возможность получать этот канал API?

@ jgibson02 Добились ли вы каких-либо успехов в своей возможной демо-версии?

Я все еще за то, чтобы сменить тему этого проекта на что-нибудь с открытым API, например forum.freecodecamp.org. Но если вы добились в этом прогресса, мне было бы интересно увидеть это :)

У меня возникли проблемы с получением данных из https://forum.freecodecamp.org/latest.json API при выполнении запроса из CodePen. Похоже, что в этом API необходимо включить CORS, чтобы туристы могли использовать его там. А пока я продолжу работу над демо, загрузив копию JSON.

@Bouncey @raisedadead каковы будут соображения безопасности при включении CORS в API нашего форума?

Похоже, что это относительно простое исправление для Discourse, если мы решим, что хотим продолжить с ним: https://meta.discourse.org/t/correct-cors-enables-steps/55697

И до тех пор, пока вы можете охватить его запросами GET и избирательно относиться к открытым конечным точкам.

Вот демонстрация, которую я создал с помощью автономно загруженной копии JSON. Считаете ли вы, что это соответствует требованиям в отношении того, что вы хотели бы видеть в общей пользовательской истории?
Если да, то я могу начать писать отдельные пользовательские истории и инструкции.

Вот несколько возможных инструкций и пользовательских историй:

Take Home Projects - Создайте домашнюю страницу форума FreeCodeCamp

  • Цель: создать приложение CodePen.io, которое функционально похоже на это: https://codepen.io/jgibson02/full/BVvbRX/.
  • Заполните приведенные ниже пользовательские истории. Используйте любые библиотеки или API, которые вам нужны. Придайте ему свой личный стиль.
  • История пользователя: я вижу список последних сообщений на форумах freeCodeCamp.
  • Пользовательская история: для каждой темы я вижу заголовок и список ссылок на пользователей, которые недавно публиковали в ней сообщения.
  • Пользовательская история: я могу видеть количество ответов и просмотров каждой темы, а также временную метку, когда тема была в последний раз активной.
  • Подсказка: чтобы получить 30 последних сообщений на форуме: https://forum.freecodecamp.org/latest.json.
  • Не забудьте использовать чтение-поиск-спросить, если вы застряли.
  • Когда вы закончите, нажмите кнопку «Я выполнил это задание» и добавьте ссылку на свой CodePen.
  • Вы можете получить отзывы о своем проекте, поделившись им с друзьями на Facebook.

@ jgibson02 Замечательно ! Спасибо за помощь в создании этих отличных пользовательских историй. Я буду работать с @Bouncey над проблемой CORS.

@QuincyLarson Были ли какие-либо разработки по проблеме CORS?

Привет,
Я уже создал LeaderBoard, который теперь не работает из-за проблемы с api.
Мне понравились оригинальные истории пользователей:
История пользователя: я вижу таблицу участников лагеря freeCodeCamp, которые заработали наибольшее количество шоколадных баллов за последние 30 дней.
История пользователя: я могу увидеть, сколько очков пирожных они заработали за последние 30 дней и сколько всего заработали.
История пользователя: я могу переключаться между сортировкой списка по тому, сколько шоколадных баллов они заработали за последние 30 дней, и по тому, сколько всего они заработали.

Брауни-пойнтов больше нет, но лайки есть. И он больше не разбивается на месяцы. Похоже, что большинство дней - 288.

Вместо того, чтобы ссылаться на последний пост, можем ли мы сосредоточиться на названии Кемпера и на том, сколько лайков получил этот человек (вместо баллов) за 30-дневный период и за все время?

https://www.freecodecamp.org/forum/directory_items.json?period=all&order=likes_received.json

Кто-нибудь работает над исправлением этого api для таблицы лидеров Camper?

Если нет лучшего решения, мы можем обойти проблему cors, создав прокси-сервер при сбое (я достаточно разбираюсь в этом ...). Я могу ограничить запрос только разрешенными мне и методами и enpoints, если это необходимо. Его должно быть довольно легко построить. Дай мне знать, если хочешь, чтобы я это сделал.

@ Em-Ant Да, похоже, неплохой обходной путь.

Пожалуйста, держите нас в курсе и дайте нам знать, можем ли мы чем-нибудь помочь.

Конечная точка api: https://buttercup-island.glitch.me/latest
тестовый проект (разветвленный из @ jgibson02 ): https://codepen.io/Em-Ant/pen/modqWP

Если вы хотите, мы можем разместить его в собственном домене, которым вы владеете (например, в поддомене freecodecamp).

Дайте мне знать, если это нормально, и если вам что-то еще нужно. Если это хорошее решение, я дам разрешение на редактирование camperbot, чтобы передать право собственности на freecodecamp.

Поскольку @ Em-Ant сделали эту новую апи конечную точку для forum данных, я предполагаю , что это время , чтобы изменить пользовательские истории , как предложенные здесь на @ jgibson02?

Ошибка в тестовом проекте в строке 67: Uncaught ReferenceError: style is not defined
в /Em-Ant/pen/pen.js:67

Я согласен с @nuhman в использовании предложенных пользовательских историй.

Исправлена ​​ошибка ReferenceError (на моей исходной ручке), хотя, как вы думаете, что нам следует изменить в пользовательских историях?

Привет спасибо.
Похоже, мы не сортируем, это происходит по последней теме ....
Это очень хорошо работает для страницы форума.

Я просто так много работал над Советом лидеров, и мне жаль, что я не могу это показать. Даже без Брауни я хотел бы увидеть, кто писал самые последние - и кто писал больше всего - со ссылками на эти сообщения - и, возможно, с профилем пользователя ...

Мне нравится видеть, сколько раз просматривалась тема.

У меня возникает ошибка с блокировкой чтения из разных источников (CORB) при попытке получить данные также при использовании ссылки https://www.freecodecamp.org/forum/latest.json . _ {mode: 'no-cors'} _ неэффективно.
Существует ли какое-либо альтернативное решение для получения данных для таблицы лидеров (а не для их жесткого кодирования)?

У меня не было с этим проблем. Какой браузер вы используете?

У меня не было с этим проблем. Какой браузер вы используете?

Гугл Хром
Версия 73.0.3683.86 (Официальная сборка) (64-бит)

Для меня это в новинку. Но я нашел это предложение как возможное исправление ...

https://stackoverflow.com/questions/54701399/how-to-fix-cross-origin-read-blocking-corb-blocked-cross-origin-response-with

Спасибо. Но если я просто отключу политику безопасности в своем браузере, это не решит проблему для других браузеров / пользователей. Я видел решения с настройкой заголовков, но не могу реализовать их в Codepen (где находится моя таблица лидеров), потому что есть только клиентская сторона.

Мне жаль. Я не видел этого достаточно, чтобы понять это. Я понял, что CodePen решает возможные проблемы с CORS, но CORB для меня в новинку.

Можете ли вы вообще перейти к фактической конечной точке API? Или это только из LeaderBoard?

По прямой ссылке вижу json-data. Проблема возникает, когда я пытаюсь получить json с freecodecamp.org на codepen.

Я проверил свои другие ручки в codepen, которые извлекают данные с других сайтов (это rawgit.com, glitch.com, wikipedia.org, ipinfo.io и github.com), и они работают правильно. Итак, проблема именно в freecodecamp-json. Возможно, это зависит от настроек кода, но я пока не нахожу точки соприкосновения с их поддержкой.

Ой. @ jgibson02 Вы видели такое раньше?
Если да, знаете ли вы, как это сделать?

@ColorizeMySky Вы
https://buttercup-island.glitch.me/latest

Может это сработает?

https://buttercup-island.glitch.me/latest

Может это сработает?

Да, большое спасибо. Он извлекает json с данными форума из сбоя.

Я обновил свой CodePen, чтобы использовать API @ Em-Ant по адресу https://buttercup-island.glitch.me/latest, чтобы избежать проблемы CORS.
@QuincyLarson , вы

Привет, @scissorsneedfoodtoo, ты

@raisedadead , конечно, я сразу

Вам не нужно создавать еще один глюк-проект, если вы этого не хотите. Тот
один уже поделился собственностью между мной и кемпер-ботом, так что вы можете редактировать
Это.

Il gio 4 апр 2019, 12:13 Kristofer Koishigawa [email protected] ha
сценарий:

@raisedadead https://github.com/raisedadead , конечно, я сразу займусь этим

-
Вы получаете это, потому что вас упомянули.
Ответьте на это письмо напрямую, просмотрите его на GitHub
https://github.com/freeCodeCamp/freeCodeCamp/issues/17450#issuecomment-479836966 ,
или отключить поток
https://github.com/notifications/unsubscribe-auth/AMWwVve4x2DPL4_ApR55oakeZHbBGlGGks5vddAxgaJpZM4UbaVj
.

@ Em-Ant, спасибо за быстрый ответ! Ваша конечная точка Glitch API работает безупречно, поэтому я просто обновлю описание проекта приведенными выше пользовательскими историями и вашими ссылками.

@ Em-Ant, у вашего API глюка не вижу, как получить ссылку на соответствующую тему. Является ли это возможным?

@ColorizeMySky my glitch api https://www.freecodecamp.org/forum/latest.json, чтобы вы получили точно такой же ответ. Он только добавляет необходимые заголовки CORS к исходному ответу.

Я быстро взглянул на структуру ответа и увидел 2 раздела: один - «пользователи», другой - «темы». Вы можете получить URL-адрес сообщения, добавив базовый URL-адрес форума, и свойство "slug" записи темы.

Спасибо всем за помощь. Мне удалось завершить этот проект с новым API, и новый API хорош для замены старой задачи. Я могу забрать. сортировать, добавлять дополнительную информацию и изображения, ссылки и т. д. https://codepen.io/Colorize_my_sky/full/aMxRRq

Поздравляем @ColorizeMySky ! Это выглядит великолепно и очень отзывчиво.

Была ли эта страница полезной?
0 / 5 - 0 рейтинги