Современное React приложение, построенное с использованием архитектуры Feature-Sliced Design (FSD).
- React 19 - современная библиотека для создания пользовательских интерфейсов
- TypeScript - типизированный JavaScript
- Vite - быстрый инструмент сборки
- Tailwind CSS - utility-first CSS фреймворк
- Feature-Sliced Design - архитектурная методология
src/
├── app/ # Инициализация приложения
├── pages/ # Страницы приложения
├── widgets/ # Композитные блоки
├── features/ # Функциональные модули
├── entities/ # Бизнес-сущности
└── shared/ # Переиспользуемый код
├── ui/ # UI компоненты
├── lib/ # Утилиты
├── api/ # API клиенты
├── config/ # Конфигурация
└── types/ # Общие типы
- app/ - Инициализация приложения, провайдеры, роутинг
- pages/ - Страницы приложения, композиция виджетов
- widgets/ - Композитные блоки, объединяющие features и entities
- features/ - Функциональные модули (авторизация, посты и т.д.)
- entities/ - Бизнес-сущности (пользователь, пост и т.д.)
- shared/ - Переиспользуемый код (UI, утилиты, API)
- Сслайсы слоя могут зависеть только от слоев ниже себя
- Каждый слайс имеет свою структуру: api/, config/, lib/, model/, ui/
- Строгая изоляция между слоями
- Переиспользование через shared слой
В shared/ui созданы базовые компоненты:
...
# Установка зависимостей
npm install
# Запуск в режиме разработки
npm run dev
# Сборка для продакшена
npm run build
# Предварительный просмотр сборки
npm run preview
# Проверка с помощью ESLint
npm run lint
# Форматировать все файлы
npm run format
# Проверить форматирование
npm run format:check- Создайте папку в
features/ - Добавьте
model/,ui/,lib/подпапки - Создайте типы в
model/types.ts - Реализуйте UI компоненты в
ui/ - Экспортируйте через
index.ts
- Создайте папку в
entities/ - Добавьте
model/,ui/подпапки - Создайте типы в
model/types.ts - Реализуйте UI компоненты в
ui/ - Экспортируйте через
index.ts
- Fork репозитория
- Создайте ветку, используя ключ задачи в jira (
git checkout -b FELL02-1) - Commit изменения (
git commit -m 'Add amazing feature') - Push в ветку (
git push origin FELL02-1) - Откройте Pull Request
prettier: ✅ Установлен плагин @trivago/prettier-plugin-sort-imports для сортировки импортов:
- React импорты первыми
- Затем внешние библиотеки
- Потом внутренние импорты
- Локальные импорты ✅ Правила форматирования в .prettierrc:
- printWidth: 100 - максимальная ширина строки
- tabWidth: 2 - отступ в 2 пробела
- useTabs: false - использовать пробелы вместо табов
- semi: true - добавлять точку с запятой
- singleQuote: true - одинарные кавычки
- trailingComma: "all" - запятые в конце
- bracketSpacing: true - пробелы в скобках
- bracketSameLine: false - закрывающие скобки на новой строке
- arrowParens: "always" - всегда скобки для стрелочных функций
- endOfLine: "lf" - Unix окончания строк ✅ .prettierignore для исключения ненужных файлов