Проект Игры разума

Уровень: 1

Профессия Фронтенд JavaScript

Погрузитесь в непростую экосистему JavaScript, научитесь настраивать рабочее окружение. Подружитесь с линтером (анализатором качества кода) и менеджером зависимостей npm. Поймёте, чем git отличается от GitHub, поработаете с внешними репозиториями. Получите опыт построения архитектуры полноценного приложения и написания чистого кода.

9
шагов
2-4
недели

Проект - важная часть обучения. Тут закрепляются навыки, полученные в курсах и приобретаются новые. Начните профессию, двигайтесь по шагам и приступайте к проекту, когда будете готовы

Цель

Первый проект нацелен на знакомство с экосистемой JavaScript. Она достаточно сложна по сравнению с языками вроде PHP, Ruby или Python. Количество понятий, инструментов и их связок настолько большое, что даже у опытных разработчиков иногда голова идет кругом. Чтобы стартануть по всем канонам даже простейший проект придется как следует повозиться. Вот неполный перечень ключевых компонентов любого современного js-приложения:

  • Пакетный менеджер (npm, yarn). Управляет зависимостями, выполняет хуки и описывает проект.
  • Babel (Транспайлер). Позволяет использовать новые фичи, даже если они не поддерживаются средой исполнения.
  • Eslint - линтер. Проверяет корректность кода на соответствие стандартам кодирования.

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

Описание

В рамках проекта необходимо реализовать набор мини-игр, запускаемых из консоли. Будем называть их "Игры разума".

Пример игры:

$ brain-progression

Welcome to the Brain Game!
What number is missing in this progression?

May I have your name? Roman
Hello, Roman!

Question: 14 .. 18 20 22 24 26 28
Your answer: 16
Correct!
Question: 5 6 7 8 9 .. 11 12
Your answer: 10
Correct!
Question: 12 15 18 21 .. 27 30 33
Your answer: 24
Correct!
Congratulations, Roman!

Впечатления

Спасибо) Впечатления очень хорошие. И хоть задания с играми не показались особо сложными, многие моменты, как например в начале с настройкой и деплоем проекта, были в новинку и пришлось хорошенько в этом разобраться. Я давно сам собирался попробовать, но руки не доходили, а тут получилось сделать всё и сразу) Большущее спасибо менторам за очень тщательный разбор каждой строчки кода и указание на неочевидные с первого взгляда недостатки, на которые я не обратил внимания или не догадался исправить сам. Сразу стали видны пробелы в знаниях и опыте, которые необходимо закрывать, чем и буду заниматься в дальнейшем) И спасибо Хекслету за курсы, благодаря которым теперь практически любая задачка становится по плечу и заходит на ура;)

Сергей, большое спасибо за поздравления и за большой фидбек. Да иногда приходили мысли: "ну сколько можно?!" :) , Но это я думаю, нормально, лень и сопротивление новому, дело такое. Иногда хотелось написать: Сергей, пожелайте себя, нельзя же так подробно, нас много а вы один:) На самом деле, все на пользу, все очень здорово. Большое спасибо, за такое подробное и внимательное вычитывает кода, что конечно непросто. Спасибо за терпение. Буду смотреть на ошибки, ещё анализировать. Хотя, иногда вот не хватает, пояснения или примера: так нельзя почему?! Потому что последствия такие...но наверное это гораздо сложнее и затратные сильно по времени. Ещё раз, спасибо Сергей Вам и Всей команде Хекслета. Всех Благ!

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

Спасибо Hexlet за подход к обучению, это нереально круто. Спасибо ментору Сергею К. за обратную связь. Проект однозначно стоит пройти. Сначала надоело, что было много отклонений в сдаче проекта. Но сейчас понимаю, что это вправляет мозги. И даже если их было бы сотни, я бы довел до конца. Потому что каждый шаг делает тебя лучше. Что бы хотелось после проекта? Учиться, и делать следующий проект)

Наконец то закончил проект, после месячного перерыва(лучше так не делать). Проект дает нормальное представление что такое git и самое главное как им пользоваться. Так же вообще в целом появилось понимание как реальные проекты устроены. На второй проект тоже обязательно пойду. Спасибо Сергею за наставничество:)

Вопросы и ответы

Я — новичок. Справлюсь ли я с проектами?

Все зависит от вас! Проекты начинаются с базового уровня, и для старта вам не требуется большого опыта или знаний. Главное — задавать вопросы менторам и решать проблемы сразу. К тому же, вы можете остановиться в любой момент и продолжить с того же уровня в любое время в будущем.

Какое расписание у проекта?

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

Как оплачивается проект?

Один проект стоит $97, и оплата снимается только если вы отправите на проверку первое задание в проекте. Если вы начнете проект, но не выполните первое задание, то деньги списываться не будут. Для участия в проекте нужно иметь активную месячную или годовую подписку, и деньги за проект будут списываться с вашей привязанной карты.

Зачем нужны проекты?

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

Что делает ментор в проектах?

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

У меня есть другой вопрос

Пишите нам на [email protected], вам ответит живой человек из команды Хекслета. Или нажмите на иконку со знаком вопроса в правом нижнем углу экрана. Там есть ответы и на другие вопросы и удобная форма для отправки сообщения нам.