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

Уровень: 1

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

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

8
шагов
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!

Впечатления

Просто благодарность!!!!

Вот и я закончил свой первый проект Brain Games. И в этом небольшом топике я просто хотел выразить благодарность всей команде Hexlet:

Спасибо вам большое за такой качественный продукт. Отдельно хочу по благодарить Александра: За его проффесианализм, терпение. Если бы не он я бы всё бросил(но это уже совсем другая история, может я об этом напишу в дневник студента, когда меня посетит муза ;)) Спасибо!!!!

Завершил проект почти спустя 2 месяца от его начала. За все время была проведена большая работа, как со стороны ментора Сергея, за что большое ему спасибо, так и с моей стороны. Были изучены вспомогательные в разработке инструменты: eslint и его некоторые правила, которые пришлось изучать и исправлять ошибки; babel, который я умудрился сломать и выпал из разработки на пару дней; asciinema, для демонстрации работы программы, но которая так же доставила некоторые неудобства при работе на Windows 10. А так же npm, code climate, travis, командная строка линукса, который я встроил в винду. Даже пришлось поразбираться со своим редактором кода. Но кроме работы с окружением, было много работы с кодом. За все время код был полностью переосмыслен с точки зрения архитектуры всего приложения, и несколько раз, можно сказать полностью, был переписан. Было раскрыто много нюансов по именованию переменных, написанию функций, да и просто было пофикшено некоторое количество багов. Наконец, первый самостоятельный проект по JS завершен. Опыт был получен. Хочу поскорее начать следующие. Также спасибо авторам за этот проект и подобный формат работы над ним. Р.S. Шутка про то, что самое сложное в программировании - это именование переменных, не шутка.

Спасибо, Александр! Ваши комментарии не давали сбиться с пути, хотя их истинная суть не всегда доходила до меня с первого раза :)

Впечатления отличные ,отзывчивый ментор, проект очень хорошо дополнил теоретическую часть и помог набить руку ) . 100% буду проходить следующие проекты .

Это был действительно бесценный опыт. Просто пройти уроки мало, во время работы над проектом очень многое стало на свои места. Спасибо Сергею К. за конструктивные замечания и подробный разбор ошибок!

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

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

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

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

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

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

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

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

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

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

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

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

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