git clone [email protected]:rtkit-ulsk/rtk-frontend-template.git <folder-name>
Для удобной разработки все завернуто в Docker
Для старта девелопмент приложения можно использовать
# старт контейнера в воч режиме
make dev
# зайти в sh контейнера
make sh
Для билда под продакшен используется
make prod
В качестве пекедж менеджера используется npm
Для продакшена создается контейнер со статикой и простым nginx конфигом (девопсы будут довольны)
Установлены прекомит хуки, которые не позволят код с ошибками качества кода попасть в репозиторий, для этого используется husky и lint-staged для того, чтобы проверять только измененные файлы
В ходе проверки используется eslint с конфигом от airbnb с небольшими изменениями
Для провверки стилей используется stylelint с рекомендованными настройками
Для управлением отступами и финальной строкой используется editorconfig (для VSCode нужно поставить расширение)
Из технологий:
- React
- Typescript
- Redux toolkit
- PostCss (для vscode нужен плагин)
- postcss-preset-env Все модные фичи в 1 месте
- CssModules
- сборщик Vite (Вит)
Для упрощения написания ежедневной рутины есть код генерации:
- api
- component
- container
- page
- slice
Для генерации нужно в консоле выполнить:
npm run gen [сущность] new [имя]
// ex:
npm run gen api new user
# Loaded templates: _templates
# added: src/services/api/user.api.ts
# inject: src/store/store.ts
# inject: src/store/store.ts
# inject: src/store/store.ts
Создать простой редьюсер
В папке `store/slices` соласно [документации](https://redux-toolkit.js.org/tutorials/quick-start#create-a-redux-state-slice) toolkit создать файл
Добавить редьюссер в `store.ts` в `configureStore`
Создать редьюсер для API эндпоинта
В папке `services/api/` соласно [документации](https://redux-toolkit.js.org/tutorials/rtk-query#setting-up-your-store-and-api-service) rtk-query создать файл
Добавить редьюссер в `store.ts` в `configureStore` и обавить мидлвару тудаже