Интенсив по фронтенду — 45 дней

JS → React → Проекты → Собеседования

Дни 1–10 · JavaScript (основа + практика)

Темп: 6–8 ч/день · Цель: уверенно писать на JS, решать задачи, понимать, как работает код.

День 1 — Переменные, типы, преобразования
📚 Теория
  • Переменные, типы, преобразования (learn.javascript.ru)
🧠 Практика
  • 5 задач CodeWars (7 kyu)
🏗️ Проект
  • Конвертер температуры (C↔F)
День 2 — Условия, циклы, функции
📚 Теория
  • Условия, циклы, функции
🧠 Практика
  • 6 задач CodeWars (7–6 kyu)
🏗️ Проект
  • Калькулятор (JS‑only)
День 3 — Массивы и методы
📚 Теория
  • Массивы, методы: map, filter, reduce
🧠 Практика
  • 6 задач CodeWars (7–6 kyu), реализовать map/filter
🏗️ Проект
  • ToDo (JS‑only)
День 4 — Объекты, методы, this
📚 Теория
  • Объекты, методы, ключи, this
🧠 Практика
  • 6 задач CodeWars (7–6 kyu)
🏗️ Проект
  • ToDo с категориями
День 5 — Стрелочные функции, callbacks
📚 Теория
  • Стрелочные функции, callbacks
🧠 Практика
  • 7 задач CodeWars (7–6 kyu)
🏗️ Проект
  • Список фильмов (массив + фильтрация)
День 6 — Замыкания, область видимости
📚 Теория
  • Замыкания, область видимости
🧠 Практика
  • CodeWars + собственные задачи на замыкания
🏗️ Проект
  • Таймер (start/stop/reset)
День 7 — Повторение + шпаргалка
📚 Теория
  • Повторить темы дней 1–6, составить шпаргалку
🧠 Практика
  • 10 задач CodeWars (7–5 kyu)
🏗️ Проект
  • Адаптивная карточка товара
День 8 — JSON, Date, Math
📚 Теория
  • JSON, Date, Math
🧠 Практика
  • Парсинг JSON, работа с датами
🏗️ Проект
  • Простой календарь событий
День 9 — Работа с DOM
📚 Теория
  • Поиск, изменение, события
🧠 Практика
  • Мини‑задачи на DOM
🏗️ Проект
  • Интерактивный список покупок
День 10 — Fetch API, async/await
📚 Теория
  • Fetch API, основы async/await
🧠 Практика
  • Запрос к API (JSONPlaceholder)
🏗️ Проект
  • Загрузка и отображение пользователей

Дни 11–25 · React (основы + практика)

Цель: понимать структуру приложений, компоненты, состояние, эффекты, навигацию.

День 11 — Введение в React, JSX, компоненты
📚 Теория
  • Что такое React, JSX, компоненты
🧠 Практика
  • Создать проект на Vite + React
🏗️ Проект
  • Визитка (компоненты с данными)
День 12 — Props и State
📚 Теория
  • Props и State
🧠 Практика
  • Передача данных между компонентами
🏗️ Проект
  • Счётчик с кнопками
День 13 — События и формы
📚 Теория
  • События, формы
🧠 Практика
  • Контролируемые инпуты
🏗️ Проект
  • Форма регистрации
День 14 — Списки и ключи
📚 Теория
  • Рендеринг списков, ключи
🧠 Практика
  • Добавление/удаление элементов
🏗️ Проект
  • Список задач
День 15 — useEffect и загрузка данных
📚 Теория
  • useEffect, побочные эффекты
🧠 Практика
  • Загрузка данных из API в useEffect
🏗️ Проект
  • Список пользователей с API
День 16 — Lifting State Up
📚 Теория
  • Подъём состояния
🧠 Практика
  • Общий стейт нескольких компонентов
🏗️ Проект
  • Фильтрация списка товаров
День 17 — Формы: select, checkbox
📚 Теория
  • Компоненты форм
🧠 Практика
  • Фильтры по категории/цене
🏗️ Проект
  • Каталог товаров
День 18 — Маршрутизация
📚 Теория
  • react-router-dom
🧠 Практика
  • 2–3 страницы с навигацией
🏗️ Проект
  • SPA: главная, каталог, контакты
День 19 — Структура проекта
📚 Теория
  • Организация кода, рефакторинг
🧠 Практика
  • Рефакторинг компонентов
🏗️ Проект
  • Улучшение SPA
День 20 — Повторение по React‑основам
📚 Теория
  • Повторение тем 11–19
🧠 Практика
  • CodeWars (7–6 kyu)
🏗️ Проект
  • Мини‑приложение «Список книг»
День 21 — Стилизация компонентов
📚 Теория
  • CSS Modules, styled‑components
🧠 Практика
  • Оформление SPA
🏗️ Проект
  • Доработка дизайна
День 22 — Формы и валидация
📚 Теория
  • Работа с формами, валидация
🧠 Практика
  • Валидация формы регистрации
🏗️ Проект
  • Улучшенная форма регистрации
День 23 — Custom Hooks
📚 Теория
  • Подход к кастомным хукам
🧠 Практика
  • Написать свой хук
🏗️ Проект
  • useLocalStorage hook
День 24 — Context API
📚 Теория
  • Context API, глобальное состояние
🧠 Практика
  • Интегрировать контекст
🏗️ Проект
  • Тёмная/светлая тема
День 25 — Итог по React‑основам
📚 Теория
  • Итоговый обзор
🧠 Практика
  • CodeWars + мини‑проект
🏗️ Проект
  • SPA «Список задач»

Дни 26–35 · Продвинутый React + портфолио

День 26 — React Router: динамические маршруты
📚 Теория
  • Динамические маршруты
🏗️ Проект
  • SPA с деталями товара
День 27 — Fetch/Axios детально
📚 Теория
  • Работа с API, обработка ошибок
🏗️ Проект
  • Пагинация данных
День 28 — Оптимизация: React.memo, useCallback
📚 Теория
  • Оптимизация рендеринга
🏗️ Проект
  • Оптимизация существующего приложения
День 29 — Архитектура проекта
📚 Теория
  • Слои: components, hooks, utils
🏗️ Проект
  • Разбивка на модули
День 30 — Проект «Список фильмов»
🏗️ Проект
  • API, поиск, фильтры
День 31 — Дашборд и графики
📚 Теория
  • Chart.js / Recharts
🏗️ Проект
  • Дашборд с графиком и таблицей
День 32 — Формы и сервер
📚 Теория
  • POST‑запросы, валидация
🏗️ Проект
  • Форма обратной связи
День 33 — Деплой
📚 Теория
  • Vercel / Netlify
🏗️ Проект
  • Выложить все проекты
День 34 — Тестирование (Jest, RTL)
📚 Теория
  • Юнит‑тесты компонентов
🏗️ Проект
  • Тесты для ToDo
День 35 — Итог: проекты и описания
🏁 Итог
  • 2–3 проекта в GitHub, оформить README

Дни 36–45 · Подготовка к собесам и поиск работы

День 36 — 50 вопросов по JS (часть 1)
📚 Теория
  • Скомпилировать список вопросов
🧠 Практика
  • Ответы вслух, заметки
День 37 — 50 вопросов по JS (часть 2)
🧠 Практика
  • Задачи из собеседований
День 38 — React-вопросы (часть 1)
📚 Теория
  • Ключевые темы React
🧠 Практика
  • Ответы вслух
День 39 — React-вопросы (часть 2)
🧠 Практика
  • Мини‑проекты на время
День 40 — Алгоритмы и структуры данных
📚 Теория
  • База по алгоритмам
🧠 Практика
  • 5 задач CodeWars (6–5 kyu)
День 41 — Резюме и GitHub
📄 Резюме
  • Оформить проекты, профиль GitHub
День 42 — Площадки и отклики
🗂️ Поиск
  • Хабр Карьера, GeekJob, телеграм‑каналы
День 43 — Mock‑интервью
🧪 Практика
  • Пробные собеседования
День 44 — Разбор ошибок
🔧 Улучшение
  • Закрыть пробелы, допилить проекты
День 45 — Финал: портфолио + 50+ откликов
🏁 Итог
  • Портфолио + 50+ откликов