PROCEED MS Code Structure - PROCEED-Labs/proceed GitHub Wiki

Warning

The following text is old and must be replaced for the new MS.

MS Source Code Main Libraries

The desktop software is created with the Electron Framework. Because it uses web technologies for creating its applications, the main web framework is Vue.js. Vue brings module development with the so called Single File Components (SFC), which makes collaborative web development way easier. As a pre-created component list we use Vuetify

Therefore the whole application is built with the vue cli (vue create|add). The following plugins were added/selected with vue create management-system:

Then:

Use vue ui inside the project folder to have a graphical overview about the project, webpack and its dependencies.

Developing the MS

For development you need to install multiple additional software. See here

For running the software with the vue plugins, you maybe need to invoke the plugins again inside the ms project folder, e.g. vue invoke electron-builder

Configurations and Adaptations for running in the PROCEED repo

All configurations are in dedicated files. Mainly vue.config.js can contain most configurations for plugins, webpack loader and mono-repo adaptions.

  • nodeModulesPath: ['../../node_modules', './node_modules'] added in vue.config.js for electron-builder
  • deleted postinstall execution script inside the project package.json file: not working with mono-repo and only needed if native modules are used
  • if there are dependencies that do not work inside a mono-repo, you can use the nohoist option inside the root package.json (use only if really necessary, google before). Done for: monaco editor
  • postcss.config.js deleted and config added in vue.config.js => did not work with mono-repo
  • OPEN BUG for Electron BUILDER electron version detection problem, => wait for version updates of vue-cli-plugin-electron-builder and electron-builder, current temp solution: version hard coded in vue.config.js (can be deleted if bug is closed)
  • Electron-Builder: build options in vue.config.js

Possible extensions (added if needed):

MS Source Code Structure

From electron-builder folder structure

├── dist_electron/
│ ├── bundled/..  # where webpack outputs compiled files
│ ├── [target platform]-unpacked/..  # unpacked Electron app (main app and supporting files)
│ ├── [application name] setup [version].[target binary (exe|dmg|rpm...)]  # installer for Electron app
│ ├── index.js  # compiled background file used for electron:serve
│ └── ...
├── public/  # Files placed here will be available through __static or process.env.BASE_URL
├── src/
│ ├── background.[js|ts]  # electron entry file (for Electron's main process)
│ ├── [main|index].[js|ts]  # your app's entry file (for Electron's render process)
│ └── ...
├── package.json  # your app's package.json file
├── ...

Build versions

  • TODO: explain here how to build the deployable production versions for the varies OS

List of third-party production libraries and their use

Library or Framework Components Reason
Electron Mgmt System OS-independent (Linux, Mac, Win) development of the Management System, generation of installation files, easy sw updates and distribution
Vue.js Mgmt System,
Tasklist
Easy, Front-end JS development
  • TODOs: bpmn-moddle, ...

MS Overview

MS-Component_Overview

⚠️ **GitHub.com Fallback** ⚠️