openflexure-microscope-server/webapp
2025-05-20 13:10:57 +01:00
..
public Removed border from logo svg 2025-05-13 17:07:51 +01:00
src STEP SIZE to title case 2025-05-20 13:10:57 +01:00
.env.development Update build output location 2024-01-03 20:50:33 +00:00
.env.production Rename js directory to webapp 2021-09-16 15:13:19 +01:00
.eslintrc.js Rename js directory to webapp 2021-09-16 15:13:19 +01:00
.gitignore Rename js directory to webapp 2021-09-16 15:13:19 +01:00
babel.config.js Rename js directory to webapp 2021-09-16 15:13:19 +01:00
CONTRIBUTING.md Rename js directory to webapp 2021-09-16 15:13:19 +01:00
LICENSE Rename js directory to webapp 2021-09-16 15:13:19 +01:00
package-lock.json Switch to matierial-symbols 2024-01-03 20:51:32 +00:00
package.json Switch to matierial-symbols 2024-01-03 20:51:32 +00:00
README.md Update documentation on dependencies/dev tools 2024-12-03 11:18:24 +00:00
vue.config.js Update build output location 2024-01-03 20:50:33 +00:00

OpenFlexure Microscope JS Client

Key info

  • Vue.js web application providing a graphical interface for the OFM

  • Once built, will be served by the API server from the host root on port 5000

  • See openflexure-microscope-server/README.md for details on local installation and building

Developer guidelines

Creating releases

Installing

  • Install Node.js (and npm)
  • Install dependencies with npm install
  • Node v18 changes SSL, and so you need $env:NODE_OPTIONS = "--openssl-legacy-provider" on Windows or export NODE_OPTIONS=--openssl-legacy-provider on Linux/MacOS for compatibility.
  • Build the static web app with npm run build
  • Serve a development version with npm run serve

We generally run this on the Raspberry Pi (as that is where the Webapp is hosted). If this isn't suitable - for example, if you can't install Node on your microscope due to version conflicts or no internet connection - you can build it on your computer instead, and then copy over the contents of ..\src\openflexure_microscope_server\static to your Pi (using scp or another file transfer method).

VS Code and ESLint

To prevent the editor from interfering with ESLint, add to your project settings.json:

{
    "editor.tabSize": 2,
    "cSpell.enabled": false,
    "eslint.validate": ["vue","javascript", "javascriptreact"],
    "editor.formatOnSave": false,
    "vetur.validation.template": false,
    "editor.codeActionsOnSave": {
        "source.fixAll.eslint": true
    }
}