SC-Web is an intelligent knowledge base user interface. Currently, it is a part of the OSTIS Web Platform.
The long term idea of this project is to create a universal rendering mechanism for interfaces defined inside knowledge bases.
We provide the ostis/sc-web
Docker image to simplify the integration of this UI with existing ostis-systems.
# Connect to remote sc-server (or another Docker container)
docker run --rm -it -p 8000:8000 ostis/sc-web:latest --server_host=<ip or hostname>
# Connect to server hosted on localhost
docker run --rm -it --network=host ostis/sc-web:latest
Clone repo:
git clone https://github.com/ostis-ai/sc-web --recursive
cd sc-web
If you're using Ubuntu, you can install node and python runtimes using our script:
./scripts/install_dependencies.sh
After installing dependencies, you need to reopen the terminal and make sure that you use the specific version of nodejs. Otherwise, use the following command:
nvm use 16
Otherwise, the following dependencies should be installed:
- python3
- pip
- nodejs
- npm
- grunt-cli
- python modules: tornado, sqlalchemy, numpy, configparser, py-sc-client
Node.js and Python libraries can be installed using the respective package managers
pip3 install -r requirements.txt
npm install
./scripts/build_sc_web.sh
Note: SC-Web backend requires sc-server
to be up and running, check ./run_scweb.sh --help
for network configuration options.
Use the included script to launch the backend server:
./scripts/run_sc_web.sh
The UI will listen at localhost:8000.
To run grunt in watch mode use:
npm run serve
Watch mode supports livereload. To enable livereload uncomment in client/templates/common.html
<!-- Enable livereload script for development -->
-<!--<script type="text/javascript" charset="utf-8" src="http://localhost:35729/livereload.js"></script>-->
+<script type="text/javascript" charset="utf-8" src="http://localhost:35729/livereload.js"></script>
Full documentation, including:
- core concepts
- rationale behind the sc-web
- system design
- software interfaces
is redistributed in a form of the SCn-TeX document (always links to the latest version of the document).
Alternatively, you can build sc-web documentation only. To do that, refer to the scn-latex-plugin documentation.