Skip to content

THM-MoTE/webmodelica

Repository files navigation

Webmodelica

A web-based Modelica-Toolbox.

screenshot

Docker

The backend, frontend and MoPE server are published as docker containers to DockerHub:

Starting a production deployment should be as simple as:

  • Setup authentication providers by copying the auth-svc.settings.sample.yml file:

$ cp deployment/config/auth-svc.settings.sample.yml deployment/config/auth-svc.settings.yml

setup your providers as needed, the developer login is enabled by default.

  • Running

    $ docker-compose --project-name wm -f deployment/docker-compose.yml -f deployment/docker-compose.prod.yml up

Now you can access the frontend at localhost:80.

  • Viewing the development database: You can access the database via mongoshell by logging into the corresponding mongo container:

$ docker container exec -it <container name> mongo <database name>
$ docker container exec -it deployment_mongo_1 mongo wm-dev

Developer Documentation

💡
setting up a development environment is described here: Development Setup

The developer documentation is available in doc/. You can generate a html file using asciidoctor.js:

$ cd ui
$ npm run generate-doc

The resulting documentation is available at ui/public/documentation.html.

💡
the documentation is also generated during deployment and available at staging-webmodelica.

API Documentation

The API documentation is written using RAML and available in doc/api/api.raml. You can generate a html file by running:

$ cd ui
$ npm run generate-doc

The resulting documentation is available at ui/public/api.html.

Type declarations and examples - available in doc/api/types.raml - are generated in the subproject schema-generator/. This project uses Avro4s to generate JSON Schema definitions from the provided Scala case classes. The generator is in schema-generator/src/webmodelica/SchemaGenerator.scala, you can execute it using: $ sbt run schemaGenerator/run.