Development

QuakeView is a node program using Electron and Next.js written in Typescript, hence Node.js is required to run the app (for installation see e.g. npm website). Most installation steps are handled by pre-configured scripts in the package.json file.

The Python installation can be handled by any python environment manager.

Building from source

Git clone the repository into a directory.

Create and activate a Python environment (e.g. in conda) for running the Flask Python backend, by installing all the requirements in flask/requirement.txt:

pip install -r flask/requirements.txt

To set up the node requirements run:

npm install

Development build

For the development version, which will run an Electron instance with live updates for the code, we run:

npm run dev

Production build

Before the program can be packaged, Flask, Next.js and Electron have to be built individually:

npm run build

Then the packaged distributables (output in /release) are created by running:

npm run dist:<deb|msi|mac>

for Linux, Windows and Mac respectively.