51 lines
1.9 KiB
Markdown
51 lines
1.9 KiB
Markdown
# WealthLedger backend
|
||
|
||
NestJS API WealthLedger. Backend владеет auth, SQLite-данными и server-side
|
||
интеграцией T-Bank; frontend не обращается к T-Bank напрямую.
|
||
|
||
## Быстрый старт
|
||
|
||
Требуется Node 22 (`.nvmrc`). Создайте `.env` из примера, замените placeholder
|
||
секреты и установите зависимости строго из lockfile:
|
||
|
||
```bash
|
||
cp .env.example .env
|
||
npm ci
|
||
npm run start:dev
|
||
```
|
||
|
||
`JWT_SECRET` должен быть секретом не короче 32 символов, а
|
||
`TOKEN_ENCRYPTION_KEY` — base64-кодированным 32-байтным ключом. Не добавляйте
|
||
T-Bank token в `.env`: он вводится пользователем и хранится в зашифрованном
|
||
виде.
|
||
|
||
## Проверка
|
||
|
||
Следующие команды не изменяют исходные файлы:
|
||
|
||
```bash
|
||
npm run lint
|
||
npm run typecheck:app
|
||
npm run typecheck:test
|
||
npm test -- --runInBand
|
||
```
|
||
|
||
`npm run lint:fix` — явная команда автоисправления. `npm run test:e2e` пока не
|
||
является passing gate: Prisma schema engine останавливает migration до запуска
|
||
Jest. Точный статус и trigger пересмотра находятся в
|
||
[remediation registry](../docs/development/audit-remediation.md).
|
||
|
||
## Документация
|
||
|
||
- [Backend workflow](../docs/development/backend-workflow.md)
|
||
- [API contract и runtime OpenAPI](../docs/development/runtime-openapi-verification.md)
|
||
- [Обзор поставленной системы](../docs/architecture/system-overview.md)
|
||
- [Архитектурные решения](../docs/adr/README.md)
|
||
- [Remediation registry](../docs/development/audit-remediation.md)
|
||
|
||
Из workspace runtime OpenAPI можно read-only сверить с frontend snapshot:
|
||
|
||
```bash
|
||
bash specs/scripts/verify-runtime-openapi.sh
|
||
```
|