Skip to content

modelica-tools/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.

Languages

  • TypeScript 48.5%
  • Scala 48.3%
  • HTML 1.0%
  • CSS 0.9%
  • Shell 0.6%
  • Python 0.5%
  • Dockerfile 0.2%