|
|
||
|---|---|---|
| .. | ||
| data | ||
| README.md | ||
| index.js | ||
| package.json | ||
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-viewerdocker compose -f docker-compose.beam.yml up nodedc-bim-converter
Поле ownerId пока всегда null, но оставлено для будущих пользователей/шаринга.