Я подошел к концу второго этапа обучения программной инженерии в Academy Xi. Как и в случае с проектом этапа 1, я хочу воспользоваться моментом, чтобы подумать о этапе в целом, прежде чем сосредоточиться на завершающем этапе проекта.
Фаза 2: Реагировать
После крутой кривой обучения Фазе 1, JavaScript, я определенно опасался начинать следующую фазу, поскольку перфекционистка во мне слегка тянула ноги при мысли о переходе на React, прежде чем стать очень опытным в ванильном JavaScript. Хотя до сих пор мои перфекционистские наклонности приносили пользу в обучении программированию, я прекрасно понимаю, что не позволяю этому мешать мне двигаться дальше и осваивать новые навыки.
Как только я увлекся изучением React, эти опасения быстро забылись. Я обнаружил, что это довольно быстро щелкнуло для меня, и оставшиеся недели фазы были заполнены множеством моментов «оооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооооо которых]. Конечно, на этом пути тоже было много разочарований, но я был очень готов застрять в своем собственном проекте и проверить свои новые навыки.
Тайник с рецептами: мой завершающий проект
Вдохновение для этого проекта пришло, когда я просматривал бесконечные закладки на телефоне моего партнера, пытаясь найти старый рецепт, который я хотел бы приготовить снова. Меня осенило, что это была бы отличная идея для моего будущего проекта React, предоставляющая место для хранения всех моих любимых онлайн-рецептов.
Проект позволяет пользователю просматривать свою коллекцию рецептов в виде карточек на странице «Ваши рецепты». Они могут фильтровать рецепты по пикантным или сладким и искать определенные записи.
Отсюда пользователи могут щелкнуть по каждому рецепту, чтобы перейти на страницу с дополнительными сведениями. Они могут посетить внешнюю ссылку на рецепт, настроить счетчик, чтобы отразить, сколько раз они его готовили, удалить рецепт и добавить комментарии.
Пользователи могут добавлять новые рецепты в свою коллекцию на странице Добавить рецепт. Они также могут посетить страницу Meal Inspo, которая предлагает случайный рецепт с использованием данных API The Meal DB. Если они заинтересованы, они могут напрямую добавить этот рецепт в свою коллекцию или запросить новое предложение.
Ключевые уроки и проблемы:
Выполняя лабораторные работы на этом этапе, я обнаружил, что очень полезно взяться за перо и наметить иерархию компонентов перед тем, как приступить к коду. С моим проектом это было сложнее, так как я обнаружил, что в отличие от лаборатории с конкретными результатами, эта иерархия компонентов росла и менялась по мере развития моего проекта. Стало очень важно регулярно перерисовывать дерево компонентов.
Это гарантировало, что я всегда хорошо понимал «общую картину», что помогало во многих отношениях. Например, иногда мне было трудно определить, в каком компоненте лучше всего поддерживать состояние. Я обнаружил, что возвращение к моей иерархии компонентов наиболее полезно для этого, давая мне четкое представление о том, какие компоненты нуждаются в доступе к ним, и о потоке информации, необходимом между ними. их. Это также очень помогло при отладке, так как точно знало, где тестировать код.
Одной из ключевых вещей, которых я хотел достичь в этом проекте, было уверенность в использовании React Router. Это была одна из последних вещей, которые мы узнали перед тем, как наши проекты должны были быть сданы, и поэтому у меня было меньше всего практики с этим. В частности, я потратил некоторое дополнительное время, чтобы лучше понять динамическую маршрутизацию и программную навигацию, используя в своем проекте как useParams, так и useNavigate.
Один навык, который значительно улучшился со времени моего проекта Фазы 1, — это внедрение адаптивного дизайна. В основном мне удавалось достичь этого, когда я создавал код, а не более сложный процесс переделки моего кода позже, чтобы включить его. Это придало мне гораздо больше уверенности в моей способности выполнять определенные макеты дизайна, оставив мне больше времени, чтобы сосредоточиться на развитии своих навыков React.
Последние мысли
В целом, мне очень понравилась Фаза 2, поскольку я обнаружил, что структура и организация кодирования с помощью React вполне подходят для меня. Я смог использовать ключевые выводы из своих размышлений о Фазе 1 (*кхм* начать раньше среди других…), что позволило мне получить еще больше от процесса завершения этого проекта. Я очень позитивно отношусь к третьему этапу и готов погрузиться в изучение Ruby.