# vtb-questionnaire

> ## 💻 Требования к окружению * Node.js 12+ * Git

Latest version **0.1.4** (published 2021-04-30) · UNLICENSED license · 0 weekly downloads

## Install

```sh
npm install vtb-questionnaire
pnpm add vtb-questionnaire
yarn add vtb-questionnaire
bun add vtb-questionnaire
```

## Health

**Score 25/100 (F)** — status: abandoned.

Positive: has types; no vulnerabilities; high quality score.

Warnings: low downloads; no esm support; pre 1.0.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 0.1.4 |
| Published | 2021-04-30 |
| First published | 2021-04-29 |
| Weekly downloads | 0 |
| License | UNLICENSED |
| TypeScript types | bundled |
| Module format | CommonJS |
| Dependencies | 28 |
| Unpacked size | 5.4 MB |
| Known vulnerabilities | 0 (+24 in 2 direct dependencies) |
| Install scripts | no |
| Author | vtb |
| Maintainers | maskazan |

## Links

- npm: https://www.npmjs.com/package/vtb-questionnaire
- Repository: git@bitbucket.region.vtb.ru:7999/dks/dks-questionnaire-web
- npm.io page: https://npm.io/package/vtb-questionnaire

## Dependencies (28)

- [axios](https://npm.io/package/axios.md) ^0.21.1
- [dayjs](https://npm.io/package/dayjs.md) ^1.10.4
- [react](https://npm.io/package/react.md) 17.0.1
- [redux](https://npm.io/package/redux.md) ^4.0.5
- [dotenv](https://npm.io/package/dotenv.md) ^8.2.0
- [lodash](https://npm.io/package/lodash.md) ^4.17.21
- [history](https://npm.io/package/history.md) ^5.0.0
- [js-base64](https://npm.io/package/js-base64.md) ^3.6.0
- [js-cookie](https://npm.io/package/js-cookie.md) ^2.2.1
- [react-dom](https://npm.io/package/react-dom.md) 17.0.1
- [final-form](https://npm.io/package/final-form.md) ^4.20.1
- [@types/uuid](https://npm.io/package/@types/uuid.md) ^8.3.0
- [@vtb/ui-kit](https://npm.io/package/@vtb/ui-kit.md) https://nexus-ci.corp.dev.vtb/repository/tb-npm-lib/@vtb/ui-kit/-/ui-kit-0.118.1.tgz
- [react-redux](https://npm.io/package/react-redux.md) ^7.2.2
- [react-helmet](https://npm.io/package/react-helmet.md) ^6.1.0
- [bbcode-to-react](https://npm.io/package/bbcode-to-react.md) ^0.2.9
- [react-countdown](https://npm.io/package/react-countdown.md) ^2.3.1
- [@reduxjs/toolkit](https://npm.io/package/@reduxjs/toolkit.md) ^1.5.0
- [@types/react-dom](https://npm.io/package/@types/react-dom.md) ^17.0.1
- [react-final-form](https://npm.io/package/react-final-form.md) ^6.5.2
- [react-router-dom](https://npm.io/package/react-router-dom.md) ^5.2.0
- [react-yandex-maps](https://npm.io/package/react-yandex-maps.md) ^4.6.0
- [styled-components](https://npm.io/package/styled-components.md) 5.1.0
- [@loadable/component](https://npm.io/package/@loadable/component.md) ^5.14.1
- [regenerator-runtime](https://npm.io/package/regenerator-runtime.md) ^0.13.7
- [@types/bbcode-to-react](https://npm.io/package/@types/bbcode-to-react.md) ^0.2.0
- [resize-observer-polyfill](https://npm.io/package/resize-observer-polyfill.md) ^1.5.1
- [@fingerprintjs/fingerprintjs](https://npm.io/package/@fingerprintjs/fingerprintjs.md) ^3.0.7

## Recent versions

- 0.1.4 (latest) — 2021-04-30
- 0.1.3 — 2021-04-29
- 0.1.2 — 2021-04-29

## README

# ВТБ Анкетный сервис/Дебетоые карты

## 💻 Требования к окружению
* Node.js 12+
* Git

## 🏗️ Сборка

```bash
# Development
yarn dev

# Production
yarn build
```

### Динамический конфигурационный файл
* Сборка поддерживает динамический конфигурационный файл, который можно менять после сборки.
* Располагается в `/src/GLOBAL_CONFIG.js`
* Подключать рекомендуется через `@lib/global-config`, так как объект конфига глобальный и требуются манипуляции перед использованием конфига
* После сборки файл **копируется** в директорию сборки `out/debit-card/GLOBAL_CONFIG.js` и подключается в `_document.ts`

### Особенности сборки
* Директория сборки `/out`
* Настройка Webpack & Next.js - `next.config.js`

## ⚙️ Стек технологий
* [TypeScript](https://www.typescriptlang.org/docs/home.html)
* [React](https://ru.reactjs.org/docs/getting-started.html)
* [Redux Toolkit](https://redux-toolkit.js.org/api/configureStore)
* [Next.js](https://nextjs.org/docs/getting-started)
* [Webpack](https://webpack.js.org/concepts/)
* [Babel](https://babeljs.io/docs/en/)
* [ESLint](https://eslint.org/docs/user-guide/getting-started)
* [Prettier](https://prettier.io/docs/en/install.html)
* [Jest](https://jestjs.io/docs/en/getting-started)

## 🧪 Автотесты

```bash
yarn test
```

### Особенности автотестов
* Настроены хуки на `git push` & `git pull` через [husky](https://github.com/typicode/husky).
* В директории `/jest` настраивается глобальное окружение

## 📋 Псевдонимы
* **@components/*** - /src/components/*
* **@store/*** - /src/store/*
* **@vtb-adapter/ui-kit/*** - /src/vtb-adapter/*
* **@lib/*** - /src/lib/*
* **@public/*** - /public/*

## 🖼️ Изображения
Изображения находятся в директории ```/public```.
Доступ к исзображениям можно получить через псевдоним ```@public/*```

## 🗄️ Правила ведения стора
* Логика внутри reducer'ов не выше уровня CRUD, логика должна быть заключена в action creator'ах, при этом, по возможности, максимально вытеснена в selector'ы
* Ветки стора разбиваются в директории `@store/features/*` и объединяются в `@store/index`
* Структура веток:
  * **/actions.ts** - синхронные и ассинхронные action'ы
  * **/selectors.ts** - селекторы
  * **/hooks.ts** - фасадные хуки для работы с данными ветки
  * **/index.ts** - реализация `reducer'a` и реэкспорт остальных сущностей
  * **/__tests__** - автотесты

## 📚 Внутренние библиотеки `@lib`

**TO DO**

### Правила ведения
* Если какая-то логика переиспользуется внутри проекта и не является компонентом, должна быть вынесена в папку `@lib`
* Структура библиотек:
  * **/index.ts** - реализация библиотеки
  * **/reabme.md** - документация
  * **/__tests__** - автотесты

---
_Source: https://npm.io/package/vtb-questionnaire · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
