Zenroom Studio is an extensible IDE which targets multiple platforms :electron: designed specifically for Zenroom/Zencode development
Switch branches/tags
develop greenkeeper/@atlaskit/avatar-14.0.9 greenkeeper/@atlaskit/avatar-14.0.10 greenkeeper/@atlaskit/navigation-33.1.6 greenkeeper/@atlaskit/navigation-33.1.7 greenkeeper/@atlaskit/navigation-33.1.8 greenkeeper/@atlaskit/navigation-33.1.9 greenkeeper/@atlaskit/navigation-33.1.10 greenkeeper/@atlaskit/toggle-5.0.7 greenkeeper/@atlaskit/toggle-5.0.8 greenkeeper/babel-eslint-9.0.0 greenkeeper/babel-loader-8.0.0 greenkeeper/babel-loader-8.0.1 greenkeeper/babel-loader-8.0.2 greenkeeper/babel-plugin-add-module-exports-0.3.3 greenkeeper/babel-plugin-add-module-exports-1.0.0 greenkeeper/concurrently-4.0.0 greenkeeper/concurrently-4.0.1 greenkeeper/electron-3.0.0 greenkeeper/fbjs-scripts-1.0.0 greenkeeper/fbjs-scripts-1.0.1 greenkeeper/flow-bin-0.80.0 greenkeeper/flow-bin-0.81.0 greenkeeper/monorepo.enzyme-1.1.0 greenkeeper/monorepo.enzyme-1.1.1 greenkeeper/monorepo.enzyme-1.3.0 greenkeeper/monorepo.enzyme-1.3.1 greenkeeper/monorepo.enzyme-1.4.0 greenkeeper/monorepo.enzyme-1.5.0 greenkeeper/monorepo.enzyme-1.6.0 greenkeeper/monorepo.enzyme-1.6.1 greenkeeper/monorepo.enzyme-1.7.0 greenkeeper/monorepo.enzyme-1.8.0 greenkeeper/monorepo.react-16.5.2 greenkeeper/react-hot-loader-4.3.11 greenkeeper/react-hot-loader-pin-4.3.10 greenkeeper/spectron-4.0.0 greenkeeper/style-loader-0.23.0 greenkeeper/uglifyjs-webpack-plugin-2.0.0 greenkeeper/uglifyjs-webpack-plugin-2.0.1 greenkeeper/@vx/responsive-0.0.175 greenkeeper/@vx/shape-0.0.175 greenkeeper/@vx/shape-0.0.176 greenkeeper/webpack-4.18.0 greenkeeper/webpack-4.19.1 greenkeeper/webpack-bundle-analyzer-3.0.0 greenkeeper/webpack-bundle-analyzer-3.0.1 greenkeeper/webpack-bundle-analyzer-3.0.2 greenkeeper/webpack-pin-4.19.0 master
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.vscode
app
flow-typed
internals
resources
test
.babelrc
.dockerignore
.editorconfig
.eslintignore
.eslintrc
.flowconfig
.gitattributes
.gitignore
.stylelintrc
.travis.yml
CONTRIBUTING.md
LICENSE
README.md
appveyor.yml
greenkeeper.json
package.json
webpack.config.base.js
webpack.config.eslint.js
webpack.config.main.prod.js
webpack.config.renderer.dev.dll.js
webpack.config.renderer.dev.js
webpack.config.renderer.prod.js
yarn.lock

README.md

zenroom studio

GitHub (pre-)release Greenkeeper badge Build Status Build Status Dyne.org

Zenroom Studio

Zenroom Studio is a multiplatform (Gnu+Linux, Windows, macOS) IDE designed specifically to work with Zenroom

The main use case for Zenroom is that of distributed computing of untrusted code where advanced cryptographic functions are required, for instance it can be used as a distributed ledger implementation (also known as blockchain smart contracts).

Zenroom and Zenroom Studio are software in ALPHA stage and are part of the DECODE project about data-ownership and technological sovereignty. Our effort is that of improving people's awareness of how their data is processed by algorithms, as well facilitate the work of developers to create along privacy by design principles using algorithms that can be deployed in any situation without any change.

🚩 Table of Contents (click to expand)

💾 Installation

Desktop binaries

To install in on yout desktop please download the following released binaries for you platform on the release page

Development

For developers the easiest way to get up and running is:

  1. Checkout and install all the dependencies
git clone https://github.com/DECODEproject/zenroom-studio.git
cd zenroom-studio
yarn
  1. Run Zenroom Studio
yarn start

🎮 Usage


🔧 Configuration

As for now the software has no configuration. They are planned soon to be added, as soon as they are available all the options will be listed here.


📝 Notes

Packaging

To build the packages for your platform there are some commands available listed below. Please note that in order to build the windows executable you need Wine installed and configured, and for build the mac .dmg package you need to run the command on a macOS operating system.

🍎 macOS

yarn package-mac

🐧 Gnu+Linux

yarn package-linux

🏁 Windows

yarn package-win

To build all platforms

yarn package-all

Linting

All the code is configured to be linted with ESLint. So especially for new code contributions is preferrable to run and fix the lint suggestions.

Javascript

  • Run the linter yarn lint

  • Automagically fix lint suggestions yarn lint-fix

CSS

  • Run the linter yarn lint-styles

  • Automagically fix lint suggestions yarn lint-styles-fix


🐛 Troubleshooting & debugging

Debug mode

To run Zenroom Studio in debug mode you'll need first to install it on your local machine following the instructions listed in Installation#Development and after run

yarn run dev

This will enable the inspector in electron/chrome and gives you more verbose output on the console.

Common problems

  • error eslint@5.1.0: The engine "node" is incompatible with this module. Expected version "^6.14.0 || ^8.10.0 || >=9.10.0". You need to upgrade you node version to a newer version. Take a look here.

😍 Acknowledgements

Copyright (C) 2018 by Dyne.org foundation, Amsterdam

Designed, written and maintained by Puria Nafisi Azizi.

Special thanks to Federico Bonelli and Jaromil for their expert reviews.

This software used as a starting point the awesome electron react boilerplate by @chentsulin

Project funded by the European Commission

This project is receiving funding from the European Union’s Horizon 2020 research and innovation programme under grant agreement nr. 732546 (DECODE).


💼 License

Zenroom Studio. The Zencode IDE

Copyright (C) 2018  Dyne.org foundation, Amsterdam

This program is free software: you can redistribute it and/or modify
it under the terms of the GNU Affero General Public License as published
by the Free Software Foundation, either version 3 of the License, or
(at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU Affero General Public License for more details.

You should have received a copy of the GNU Affero General Public License
along with this program.  If not, see <http://www.gnu.org/licenses/>.