Архитектура React-приложения. Как структурировать проект. Методология Featured-Sliced Design
⚡ Получить весь курс (22 урока) сразу: https://boosty.to/friendly-frontend/posts/08f4cd01-a7ce-4e5b-8055-88aa401c7808 ✏️ Разберём, почему хаотичная структура проекта мешает развитию, и что даёт методология Feature-Sliced Design. Пошагово перенесём код в слои app, pages, widgets, features, entities и shared. Покажу, что именно должно лежать в каждом слое, и как не нарушать правило зависимостей сверху вниз. Перенесём роутер и глобальные стили в app, вынесем страницы в отдельные папки, соберём виджет Todo из фич и сущностей, а бизнес-логику и контекст задач перенесём в entities. Отдельные возможности — добавление, поиск и статистику — оформим в features, а кнопки, поля, ссылки и API сложим в shared. Настроим алиас @, чтобы избавиться от длинных относительных путей. В итоге проект станет структурированным, удобным для поддержки и готовым к расширению. ❤️ Ранний доступ к видео и доступ к закрытому чату: https://boosty.to/friendly-frontend 🔴 Timeline: ▶ 00:00 | Введение ▶ 00:35 | Что такое Feature-Sliced Design и зачем он нам ▶ 02:03 | Важное правило зависимостей FSD ▶ 03:18 | Текущее состояние структуры проекта ▶ 05:10 | Слой app ▶ 07:35 | Слой pages ▶ 08:56 | Слой widgets ▶ 09:57 | Слой features ▶ 11:59 | Слой entities ▶ 16:43 | Слой shared ▶ 19:29 | Настройка и применение алиаса ▶ 25:21 | Заключение 📚 Ссылки из видео: ➖ Код на конец урока: https://github.com/aleksanderlamkov/todo-react/tree/897f2b38145cfcd27f9ed25eb66b2143dba06d12 ➖ Feature-Sliced Design официальная русскоязычная документация: https://feature-sliced.github.io/documentation/ru/ 🧑💻 Основной телеграм-канал: https://t.me/AleksanderLamkov 💬 Коммьюнити-чат в телеграме (помощь новичкам): https://t.me/FriendlyFrontend 🗂️ Бесплатные курсы на канале: 🟠 HTML: https://youtube.com/playlist?list=PL0MUAHwery4ot0KmgGxlBSB7rXssLeA6h 🔵 CSS: https://youtube.com/playlist?list=PL0MUAHwery4o9I7QQVj_RP4ZVpmdx6evz 🟡 JS: https://www.youtube.com/playlist?list=PL0MUAHwery4qn4Y27iUxmzC-JiauX7vSL 🟢 A11y: https://youtube.com/playlist?list=PL0MUAHwery4r4gCA3AOtHgArM_UOb2QUV 🗺 Frontend Roadmap: https://youtu.be/1WRJKgwlX9w ⚪️ Мастер-класс по верстке для новичков: https://www.youtube.com/playlist?list=PL0MUAHwery4rqkzKF1mDBCIH_eZgjY6uN 🔘 Мастер-класс по верстке для продвинутых (БЭМ, SCSS): https://www.youtube.com/playlist?list=PL0MUAHwery4rdZt-8E9p9zty2ZUCH6Ai3 ⚫️ Мастер-класс по верстке с практикой по JavaScript: https://youtu.be/hkYzqTKnSIg 🔴 Мастер-класс по верстке на стеке JSX, SCSS, JS, Vite, Minista (SSG), БЭМ: https://stepik.org/a/228315 📌 Автор: ➖ Личный сайт: https://aleksanderlamkov.ru/ ➖ Telegram: https://t.me/AleksanderLamkov ➖ Boosty: https://boosty.to/friendly-frontend ➖ GetMentor: https://getmentor.dev/mentor/aleksandr-lamkov-1480 ➖ Stepik (платные курсы и мастер-классы): https://stepik.org/a/228315 #frontend #фронтенд #react #reactjs
⚡ Получить весь курс (22 урока) сразу: https://boosty.to/friendly-frontend/posts/08f4cd01-a7ce-4e5b-8055-88aa401c7808 ✏️ Разберём, почему хаотичная структура проекта мешает развитию, и что даёт методология Feature-Sliced Design. Пошагово перенесём код в слои app, pages, widgets, features, entities и shared. Покажу, что именно должно лежать в каждом слое, и как не нарушать правило зависимостей сверху вниз. Перенесём роутер и глобальные стили в app, вынесем страницы в отдельные папки, соберём виджет Todo из фич и сущностей, а бизнес-логику и контекст задач перенесём в entities. Отдельные возможности — добавление, поиск и статистику — оформим в features, а кнопки, поля, ссылки и API сложим в shared. Настроим алиас @, чтобы избавиться от длинных относительных путей. В итоге проект станет структурированным, удобным для поддержки и готовым к расширению. ❤️ Ранний доступ к видео и доступ к закрытому чату: https://boosty.to/friendly-frontend 🔴 Timeline: ▶ 00:00 | Введение ▶ 00:35 | Что такое Feature-Sliced Design и зачем он нам ▶ 02:03 | Важное правило зависимостей FSD ▶ 03:18 | Текущее состояние структуры проекта ▶ 05:10 | Слой app ▶ 07:35 | Слой pages ▶ 08:56 | Слой widgets ▶ 09:57 | Слой features ▶ 11:59 | Слой entities ▶ 16:43 | Слой shared ▶ 19:29 | Настройка и применение алиаса ▶ 25:21 | Заключение 📚 Ссылки из видео: ➖ Код на конец урока: https://github.com/aleksanderlamkov/todo-react/tree/897f2b38145cfcd27f9ed25eb66b2143dba06d12 ➖ Feature-Sliced Design официальная русскоязычная документация: https://feature-sliced.github.io/documentation/ru/ 🧑💻 Основной телеграм-канал: https://t.me/AleksanderLamkov 💬 Коммьюнити-чат в телеграме (помощь новичкам): https://t.me/FriendlyFrontend 🗂️ Бесплатные курсы на канале: 🟠 HTML: https://youtube.com/playlist?list=PL0MUAHwery4ot0KmgGxlBSB7rXssLeA6h 🔵 CSS: https://youtube.com/playlist?list=PL0MUAHwery4o9I7QQVj_RP4ZVpmdx6evz 🟡 JS: https://www.youtube.com/playlist?list=PL0MUAHwery4qn4Y27iUxmzC-JiauX7vSL 🟢 A11y: https://youtube.com/playlist?list=PL0MUAHwery4r4gCA3AOtHgArM_UOb2QUV 🗺 Frontend Roadmap: https://youtu.be/1WRJKgwlX9w ⚪️ Мастер-класс по верстке для новичков: https://www.youtube.com/playlist?list=PL0MUAHwery4rqkzKF1mDBCIH_eZgjY6uN 🔘 Мастер-класс по верстке для продвинутых (БЭМ, SCSS): https://www.youtube.com/playlist?list=PL0MUAHwery4rdZt-8E9p9zty2ZUCH6Ai3 ⚫️ Мастер-класс по верстке с практикой по JavaScript: https://youtu.be/hkYzqTKnSIg 🔴 Мастер-класс по верстке на стеке JSX, SCSS, JS, Vite, Minista (SSG), БЭМ: https://stepik.org/a/228315 📌 Автор: ➖ Личный сайт: https://aleksanderlamkov.ru/ ➖ Telegram: https://t.me/AleksanderLamkov ➖ Boosty: https://boosty.to/friendly-frontend ➖ GetMentor: https://getmentor.dev/mentor/aleksandr-lamkov-1480 ➖ Stepik (платные курсы и мастер-классы): https://stepik.org/a/228315 #frontend #фронтенд #react #reactjs
