/prometheus-electron

Electron integration code to bundle a cross-platform desktop application based on the vue.js frontend and the Rust backend code

Primary LanguageJavaScriptGNU General Public License v3.0GPL-3.0

Prometheus Cross-Platform Application

This code integrates Prometheus UI and Prometheus Backend into a cross-platform application using electron-webpack.

Table of Contents

Background

This application is one of the user-installable applications's UI that give access to the IoP Stack™.

Install

Prerequisites

  • The prometheus-ui repository cloned out on the same directory level as this repository. The renderer's source directory is set to ../prometheus-ui/src, so it directly uses that repo's code.
  • The mercury-rust repository cloned out on the same directory level as this repository.
  • Latest Rust
$ curl https://sh.rustup.rs -sSf | sh
$ cargo --version
cargo 1.36.0 (c4fcfb725 2019-05-15)
$ rustc --version
rustc 1.36.0 (a53f9df32 2019-07-03)
$ npm install -g neon-cli
$ neon version
0.2.0
$ python --version
Python 2.7.16

Development Environment

# install dependencies
yarn install
# builds the neon bindings. Note: it will take a lot of time
yarn run build-rust-[dev|release]

# optionally you can use the shell script above, 
# which does some extra checks and helps you to rebuild the Rust part of the application
./update-rust.sh
# run application in development mode
yarn start
# build the application
yarn dist

Core Components Used

Configuration Files Location

  • On OSX: ~/Library/Preferences/prometheus/
  • On Linux: ~/.config/prometheus/

Maintainers

Contributing

PRs that are inline with our goals to the core Prometheus user experience are more than welcome. To avoid losing precious time you spend on coding, you could open an issue first and discuss what you are up to before forking and sending us a PR.

Small note: If editing the README, please conform to the standard-readme specification.

License

GPL-3.0 or later © 2019 Decentralized Society Foundation, PA

TODOs