DSACMS / dedupliFHIR

Prototype for basic deduplication and aggregation of eCQM data
Creative Commons Zero v1.0 Universal
8 stars 0 forks source link

Packaging & Distribution: Added Electron Builder + Updated paths to Python #57

Closed natalialuzuriaga closed 1 month ago

natalialuzuriaga commented 1 month ago

Packaging & Distribution: Added Electron Builder + Updated paths to Python

Problem

Now that V1 of the frontend app has been developed, we would like to prepare the app for release thus we need to use tools to build, package, and distribute the desktop app. electron-builder is the tool I selected to accomplish this. The PR sets up the infrastructure for the packaging/release process by bundling Python and updating the paths accordingly.

Solution

In the packaged app, the CLI and python venv is copied and stored into the app's /resources directory using electron-builder. Output files generated from the CLI are stored in the app's /userData directory. Paths

Minor fixes include:

Result

When npm run dist command is run, this builds and packages a ready-for-distribution Electron app for macOS, Windows and Linux.

Test Plan

To build and package desktop app:

cd frontend
npm install
npm run dist

In dist/mac, you should find the packaged desktop app. Double-click to run.