dataskop-electron
DataSkop will be a platform for data donations used to examine and scrutinize algorithmic decision-making systems and to strengthen the users' digital autonomy. The aim of the project is to empower individuals to handle their data in an informed way, to act safely in digital environments, and to understand and algorithmic systems in use. Read more about DataSkop on our website.
Installation for Development
This project was kickstarted with Electron React Boilerplate but heavily modified. Read more about the boilerplate in their official documentation.
Prerequisite
Setup Github token
To install our privates packages from GitHub, you need to setup an access token.
- create an auth token with scope to read packages: https://github.com/settings/tokens
- and add it to you:
~/.npmrc: (replacethetokenwith your token)
//npm.pkg.github.com/:_authToken=thetokenFinally, restart your terminal and proceed.
Setup Font Awesome Pro token
Follow this tutorial: https://fontawesome.com/how-to-use/on-the-web/setup/using-package-managers#installing-pro
You may add the following (replace the token) to aforementioned ~/.npmrc:
//npm.fontawesome.com/:_authToken=thetokenSetup .env
Copy the .env.example to .env and adjust the values to your needs.
Setup Git LFS
Setup Git LFS to store large, mostly binary files (e.g. images), outside of git.
Installation
First, install Node v16+. Then, clone the repo via git and install dependencies:
git clone git@github.com:algorithmwatch/dataskop-electron.git
cd dataskop-electron
npm iDevelopment
We recommend to use VS Code but you are free to choose another text editor. VS Code will automatically format and lint the code, and manages imports, has a built-in debugger etc.
npm startStatic files
Put static files for the renderer process in src/renderer/static and not in resources.
The latter is only used for the application icon.
Tests
npm testPay attention to the error messages and run the required commands.
Packaging
Locally
To package apps for the local platform:
npm run packageTo debug a production build:
npm run cross-env DEBUG_PROD=true npm run packageProduction
To deploy a new version:
- IMPORTANT: ensure that you have a clean git status
- run
npm run version:pre - watch the GitHub action status (and maybe retry) at: https://github.com/algorithmwatch/dataskop-electron/actions/workflows/publish.yml
Read more on how to publish releases for production
License
MIT