Web backend server interface for MultiScan
Web-UI is an interactive interface for providing an overview of staged scan data, managing scan data, controlling reconstruction process and mesh annotation pipeline. This is the backend server for Web UI.
This project uses Feathers. An open source web framework for building modern real-time applications.
Here is the link to the Web UI frontend client code.
Getting up and running is as easy as 1, 2, 3.
-
Install your dependencies
cd web-ui/web-server; npm install
-
Start your app
npm start
By default web server will start at http://localhost:3030/
.
In order to make web-ui has access to staged scans, such as preview video, thumbnail images, etc. we need to create symbolic links to the staging
directory. By following the command lines below:
mkdir data
mkdir data/multiscan
mkdir data/multiscan/scans
ln -s "$(realpath /path/to/folder/staging)" data/multiscan/scans
Then create symbolic links to the created data
directory in src
, public
folder.
ln -s "$(realpath data)" src/data
ln -s "$(realpath data)" public/data
Web services
/scans/list
/api/scans # Returns json of all the scans (supports feather style querying)
/scans/index # Reindex everything
/scans/index/<scanId> # Reindex specified scan
/scans/monitor/convert_video/<scanId> # Converts h264 to mp4 and thumbnails
/scans/process/<scanId> # Adds scan to process queue
/scans/edit # Edits metadata associated with a scan (follows DataTables editor client-server protocol)
/scans/populate # Updates scans
/api/stats/users # Returns json of scans grouped by userName
/api/stats/scenes_types # Returns json of scans grouped by sceneType
/api/stats/device_ids # Returns json of scans grouped by deviceId
/api/stats/tags # Returns json of scans grouped by tags
Simply run npm test
and all your tests in the test/
directory will be run.
Feathers has a powerful command line interface. Here are a few things it can do:
$ npm install -g feathers-cli # Install Feathers CLI
$ feathers generate service # Generate a new Service
$ feathers generate hook # Generate a new Hook
$ feathers generate model # Generate a new Model
$ feathers help # Show all commands
For more information on all the things you can do with Feathers visit docs.feathersjs.com.
0.0.0
- Initial release