Monorepo конфигурация: - Turborepo + pnpm workspaces, ESLint, Prettier, tsconfig Backend API (NestJS 11 + Prisma 6): - 13 модулей: auth, users, clients, schedule, funnel, sales, stats, notifications, work-schedule, sip, modules, metering, provisioning - 34 Prisma-модели, 12 enums, RLS multi-tenancy - JWT (access+refresh), RBAC (6 ролей), @RequireModule guard - Cursor-based пагинация, Swagger/OpenAPI Mobile (React Native): - 13 экранов: auth, home, schedule, clients, funnel, stats, rating, sales, coordinator, sip, sleeping, work-schedule, notifications - Zustand stores, API services, типизированная навигация - Кастомная дизайн-система (colors, typography, spacing) - Компоненты: TrainingCard, FunnelCard, SaleCard, FunnelChart Web Admin (Next.js 15): - web-admin: рецепция, распределение, аналитика, отчёты - web-club-admin: scaffold (package.json) - web-platform-admin: scaffold (package.json) Infrastructure: - Docker Compose: PostgreSQL 17 + Redis 8 + coturn - 4 Dockerfiles (API, web-admin, club-admin, platform-admin) - GitHub Actions: CI (lint→test→build) + PR checks - STUN/TURN конфигурация для SIP/VoIP Shared packages: - shared-types, api-client, validators Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
27 lines
757 B
JavaScript
27 lines
757 B
JavaScript
module.exports = {
|
|
root: true,
|
|
parser: '@typescript-eslint/parser',
|
|
plugins: ['@typescript-eslint'],
|
|
extends: [
|
|
'eslint:recommended',
|
|
'plugin:@typescript-eslint/recommended',
|
|
'plugin:@typescript-eslint/recommended-requiring-type-checking',
|
|
],
|
|
parserOptions: {
|
|
ecmaVersion: 2022,
|
|
sourceType: 'module',
|
|
project: true,
|
|
},
|
|
env: {
|
|
node: true,
|
|
es2022: true,
|
|
},
|
|
rules: {
|
|
'@typescript-eslint/no-unused-vars': ['error', { argsIgnorePattern: '^_' }],
|
|
'@typescript-eslint/explicit-function-return-type': 'off',
|
|
'@typescript-eslint/no-explicit-any': 'warn',
|
|
'@typescript-eslint/consistent-type-imports': 'error',
|
|
},
|
|
ignorePatterns: ['node_modules/', 'dist/', '.next/', '.turbo/', 'coverage/'],
|
|
};
|