Несколько недель назад я закончил свой проект Генератор случайных цитат от freeCodeCamp (FCC).

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

Я мог бы сделать это за 5 минут! Это очень простой проект!

Моя реакция была…5 минут?!?!?! Ни за что!

Никто не сможет построить (с нуля) и выполнить все требования машины случайных котировок FCC за 5 минут! Невозможно!

Не говоря уже о том, чтобы это выглядело красиво!

После некоторых уточняющих комментариев они упомянули, что проект не должен занимать более 30 минут. Мне даже это кажется несколько натянутым.

Перейти от чистого холста к полностью рабочему за 30 минут?

Это заставило меня задуматься. Я знаю, что есть много талантливых разработчиков, которые могут создавать удивительные вещи, но насколько быстро?

Вызов 1

Создать полнофункциональную Машину случайных котировок FCC за 5 минут? Если он соответствует этим требованиям:

  • Пользователь может получить новую случайную цитату, нажав на кнопку.
  • Пользователь может нажать кнопку, которая чирикает цитату.

Что вы все об этом думаете? Можно ли сделать за 5 минут? Есть ли кто-нибудь, кто думает, что они могли бы сделать это?

Я хотел бы услышать ваши комментарии или, возможно, посмотреть, как кто-то творит свое волшебство. Особенно от любых профессионалов или старших отдыхающих.

Теперь о другом аспекте. Что может создать профессионал за 30 минут?

Вызов 2

Создать полнофункциональный, и красивый генератор случайных цитат за 30 минут? Тот, который также имеет адаптивный дизайн и с теми же требованиями пользователя, что и раньше.

Хотя «приятный вид» довольно неоднозначен, приведенный пример выглядит так, как показано ниже.

Я бы определенно сказал, что это красивый дизайн. Просто, чисто и понятно. В целом это очень хорошо сделано.

Теперь для сравнения мой проект Random Quote Machine показан на изображении ниже. Несколько человек сказали мне, что это выглядит некрасиво и некрасиво.

Я знаю, что одна из вещей, с которыми я склонен бороться, — это цветовой дизайн. Это то, что мне нужно улучшить, и все это является частью процесса обучения.

Это также дает людям представление о том, что такое «приятно выглядящие» ожидания.

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

Для интересующихся…

Что входит в создание этого проекта?

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

Javascript

В основном есть два подхода, которые можно предпринять.
1.) Создайте массив, объект или комбинацию для хранения всех цитат и авторов.

Вот где это двусмысленно. Сколько цитат требуется для хорошего пользовательского опыта? 5? 10? 50? Я думаю, что должно быть сохранено не менее 10 цитат. Хотя 15–25 определенно было бы намного лучше.

2.) API котировок

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

Остальные аспекты можно резюмировать следующим образом:

  • Выбор котировки случайным образом (кроме случаев, когда выполняются постоянные запросы к API).
  • Изменение HTML для отображения новой цитаты и автора при нажатии
  • Обработка кнопки твита при нажатии, чтобы твитнуть цитату

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

Все это мелочи, которые в совокупности обеспечивают лучший пользовательский опыт.

HTML и CSS

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

Цель состоит в том, чтобы добиться приятного внешнего вида/ощущения/дизайна, который будет работать везде.

Вы заинтересованы? Я хотел бы услышать ваши комментарии и узнать, что вы думаете! Возможно или невозможно? Или вы также можете отправить мне сообщение в Twitter.