openflexure-microscope-server/webapp
2025-06-05 12:27:22 +01:00
..
public Removed border from logo svg 2025-05-13 17:07:51 +01:00
src Alert and warning message as CSS classes 2025-05-23 16:28:22 +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 Update package-lock.json 2025-05-23 16:28:22 +01:00
package.json OpenSeadragon viewer implemented 2025-05-23 16:28:21 +01:00
README.md De-duplicate npm build instructions 2025-06-05 12:27:22 +01: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 a legacy version for compatibility:
    • On Windows: $env:NODE_OPTIONS = "--openssl-legacy-provider"
    • On Linux/MacOS export NODE_OPTIONS=--openssl-legacy-provider
  • Build the static web app with npm run build

Developing

When developing it is usefule t use the development server so Vue changes happen instantly without the need to rebuild. To start the development server run:

npm run serve

You access the development server on a different port (it's printed on the command line when you run the above command). This means that when it starts up you will need to tell it where the microscope server is, using the "override API origin" field in the page that pops up. If you are running a test server on your computer, this is most likely http://localhost:5000/.

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
    }
}