Sergey Krylov 106467e5c4
All checks were successful
CI / lint (pull_request) Successful in 2m8s
CI / test (pull_request) Successful in 1m57s
CI / build (pull_request) Successful in 2m5s
CI / lint (push) Successful in 2m1s
CI / test (push) Successful in 1m51s
CI / build (push) Successful in 2m9s
docs: translate docs to russian
2026-06-16 05:13:34 +03:00

1.6 KiB
Raw Blame History

Обзор backend

Backend — NestJS-приложение, единственная точка доступа к MOEX ISS.

Точка входа

apps/backend/src/main.ts — bootstrap:

  • Глобальный префикс /api/v1
  • Swagger на /api/docs (title: "MoexVibe API", version: "1.0.0") с Bearer auth
  • ValidationPipe, HttpExceptionFilter, TransformInterceptor, RequestLoggingMiddleware
  • JwtAuthGuard (глобально, @Public() для открытых эндпоинтов)
  • cookie-parser (для refresh token)
  • CORS включён (credentials: true)
  • Порт из PORT env (по умолчанию: 3000)

Корневой модуль

apps/backend/src/app.module.ts импортирует:

  • ConfigModule.forRoot (глобальный, из config/configuration.ts)
  • Импортируются 8 feature-модулей (Prisma + Cache + MoexClient — глобальные)

Структура исходников

apps/backend/src/
├── main.ts
├── app.module.ts
├── config/
│   └── configuration.ts
├── common/
│   ├── dto/
│   │   ├── api-response.dto.ts
│   │   └── pagination.dto.ts
│   ├── filters/
│   │   └── http-exception.filter.ts
│   ├── interceptors/
│   │   └── transform.interceptor.ts
│   └── middleware/
│       └── request-logging.middleware.ts
└── modules/
    ├── prisma/
    ├── moex-client/
    ├── cache/
    ├── health/
    ├── auth/
    ├── securities/
    ├── shares/
    ├── bonds/
    └── candles/