Frontend часть проекта для сайта maxboom. Онлайн магазин, который является объединением магазинов с wildberries
- React
- TypeScript
- react-router-dom v6
- Redux Toolkit
- Axios
- SCSS module
- Импорты библиотек (from 'react')
- Импорты абсолютные (from '@/...')
- Импорты относительные внутрь (from './...') и наружу (from '../...') при этом импорты наружу не рекомендуются и следует использовать абсолютные импорты (SCSS не относится к правилу порядка импортов)
каждая группа импортов сортируется по алфавиту (hint используй «npx eslint 'путь к файлу' --fix»)
- Участник клонирует проект
- Устанавливает зависимости по инструкции
- Создаёт ветку с нужным префиксом (см. ниже)
- Комитит изменения, в начале названия комита пишет номер задачи который он
решает со знака #, например
#21-create-Button-component
- По окончанию работы над задачей делает Pull Request
- После этого проходит кросс-ревью
- В конце код в PR проверяется лидом или ответственным за релиз, после чего, если все ок и нет замечаний, лид делает squash коммитов и мерджит в master-ветку
- Без согласования с лидом самостоятельно PR не мерджим, в master не пушим
Пример именования ветки: enhancement-14-index-page
- enhancement - префикс
- 14 - id задачи
- index-page - краткое описание
Если задача не заведена, то вид ветки следующий: enhancement/index-page
.
Опускается id, префикс и описание разделяются косой чертой.
- build: изменение, связанное со сборкой проекта
- bug: исправление ошибок, багов
- deprecation: убираем легаси
- development: разработка новой фичи/компонента
- documentation: документация
- enhancement: улучшение, доработки уже существующей фичи
- maintenance: всякий техдолг (рефакторинг, опечатки и т.д.)
- revert: откат на раннюю реализацию
- style: исправления по код-стайлу без изменения функционала (пробел, PEP8)
- test: добавление или изменение тестов
- Убедитесь что у вас установлен
node
- Выполните команду
npm install
- Затем команду
npm run init
для создания .env файла и записи в него необходимой информации
npm run start
npm run lint
npm run format
npm run build:prod
В проекте используется lefthook
Если очень-очень нужно пропустить проверки, используйте --no-verify
Шаблон переменных находится в файле .env.sample Создайте файл .env в корне проекта и скопируйте туда переменные.