Кабинет физического лица
Чтобы запустить проект на локальной машине используйте
yarn
для установки зависимостей
yarn start
для запуска проекта
По умолчанию проект будет запущен на порту 3000.
yarn test
для прогона имеющихся тестов
Чтобы собрать production сборку, используйте yarn build
Процесс разработки
Проект использует:
- Create-react-app
- react-hot-loader
- TypeScript
- Redux
- RxJS
- SCSS
- Ant Design
- Storybook
codegen (опционально)
npm i -g yo
- yeoman generator
npm i -g generator-rs
- генератор компонентов, как в проекте
Например, хотим сделать общий компонент-карточку:
в папке src/shared/components
призываем yo rs:c
. Отвечаем Card
и Yes
. Будет создана папка ./Card
с файлами Card.tsx
с базовым компонентом, Card.module.scss
и index.ts
с экспортом по умолчанию.
Договоренности по code style
Общие
-
Все компоненты - функциональные
-
Компоненты не должны быть большими (>150 строк вместе с импортами)
-
Отдельные экраны, разделяемые роутами находятся в папке
src/scenes
-
Все внутренние компоненты экрана лежат в папке
/components
данного экрана -
Компоненты, которые имеет смысл переиспользовать, лежат в
src/shared/components
. Там же переописанные Ant-компоненты -
Все поля интерфейсов имеют JSDoc описания
-
Все интерфейсы, относящиеся к потоку данных между приложением и сервером расположены в соответствующем редьюсере
-
Тесты для кнопок/иконок/прочей лабуды в виде прокидывания пропсов дальше использовать запрещено
-
При необходимости, в первую очередь тесты пишутся для ключевых узлов приложения, имеющим отношение к изменению данных