NODEDC_BIM_VIEWER/server
CODEX a95a7d5c38 beam: add per-model viewer settings 2026-06-04 22:36:15 +03:00
..
data Initial import of NODEDC BIM Viewer 2026-06-04 13:25:42 +03:00
README.md beam: add local converter and STEP viewer flow 2026-06-04 19:39:22 +03:00
index.js beam: add per-model viewer settings 2026-06-04 22:36:15 +03:00
package.json Initial import of NODEDC BIM Viewer 2026-06-04 13:25:42 +03:00

README.md

Server

Лёгкий файловый backend без внешних зависимостей.

Быстрый старт

  • Сервер: npm --prefix server start (PORT=8080 по умолчанию). Если порт занят, сервер попробует 8081/8082/8083 автоматически.
  • Ручной выбор порта: PORT=8088 npm --prefix server start
  • Клиент отдельно (только статика, без API): npx http-server frontend -p 9001 и открыть http://localhost:9001

Статика: раздаётся из ../frontend/dist, при отсутствии сборки — из ../frontend.

Хранилище: server/data/projects/index.json (список) + server/data/projects/proj_<id>.json (полный проект). При старте создаются при необходимости.

API:

  • GET /api/projects[?type=project|template] — укороченный список из index.json.
  • GET /api/projects/:id — полный JSON проекта.
  • POST /api/projects — создать проект, генерируется id, createdAt, updatedAt, сохраняется файл и обновляется индекс.
  • POST /api/uploads?filename=<name>&projectId=<id> — сохранить оригинальный файл модели в server/data/uploads.
  • GET /api/conversions/status?src=<uploads/...> — получить статус подготовки viewer-артефакта. Для .step/.stp ответ помечается conversion.status=conversion_required: оригинал уже доступен для скачивания, а preview должен появиться после работы NodeDcBimConverter, который готовит GLB и metadata/tree.

Локальный Beam compose:

  • docker compose -f docker-compose.beam.yml up ndc-beam-viewer
  • docker compose -f docker-compose.beam.yml up nodedc-bim-converter

Поле ownerId пока всегда null, но оставлено для будущих пользователей/шаринга.