Библиотеки и сборка
Общие библиотеки (libs)
- sdk — API-клиент, сгенерированный из Swagger backend (REST API). Обновление: скрипт
generate-api-client. - sdk-counterparty — API-клиент для модуля контрагентов (
generate-api-counterparty-client). - sdk-wb — интеграция с Wildberries.
- layout — общие компоненты раскладки (шапка, сайдбар, контейнеры).
- core — ядро: сервисы, guards, интерцепторы.
- modules — переиспользуемые feature-модули (документы, контрагенты и др.).
- pages — общие страницы: auth, error-page.
- manufacture — компоненты производства: отчёты по зарплате, ведомости, выплаты (salary-report и др.).
- main-state — глобальное состояние (Akita): main.store, main.query, main.service.
- file-attachment — прикрепление файлов.
- formly-fields — кастомные поля для форм (Formly).
- environments — конфигурация окружений (development, production).
- dadata — интеграция с DaData (адреса, реквизиты).
- q-check — модуль чек-листов и журналов (HACCP-ориентированный функционал).
- pdf-invoice — работа с инвойсами/PDF.
- CamundaPlatform, comunda-sdk — интеграция с Camunda (BPM).
- squidex — интеграция с CMS Squidex.
- websocket — WebSocket-клиент для уведомлений в реальном времени.
- yandex-map — карты Yandex.
- shared — общие утилиты и компоненты.
- permissions — проверка прав доступа.
Сборка (Nx)
- Запуск в режиме разработки:
nx serveилиnx run main-office:serve(и аналогично для других apps). Для большого приложения:npm run serve:bk-unit(увеличенный лимит памяти). - Сборка:
nx buildс конфигурациейdevelopmentилиproduction. В package.json:build_development,build_production. - Тесты:
nx test. - Watch-режим:
nx build --watch --configuration development.
Окружения
- development — локальная разработка, прокси к backend (см. proxy.conf.json в apps).
- production — production-сборка, указание URL API через environment.
Генерация API-клиента
- Основной API:
npm run generate-api-client— читает Swagger сhttp://127.0.0.1:8018/swagger/?format=openapi, пишет вlibs/sdk. - Контрагенты:
npm run generate-api-counterparty-client— вlibs/sdk-counterparty. - Squidex:
generate-api-Squidex— вlibs/squidex. - Camunda:
generate-api-CamundaPlatform— изopenapiCamunda.jsonвlibs/CamundaPlatform.
Перед генерацией backend должен быть запущен и отдавать актуальный OpenAPI.
Документация кода
- Compodoc:
npm run compodoc:build,compodoc:main-office— генерация документации по приложению main-office вdocs/main-office. Запуск сервера:compodoc:main-office:serve(порт 6011).