/dataskop-electron

DataSkop Electron App: the Personal Data Dashboard (PeDD) of DataSkop

Primary LanguageTypeScriptMIT LicenseMIT

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.

  1. create an auth token with scope to read packages: https://github.com/settings/tokens
  2. and add it to you: ~/.npmrc: (replace thetoken with your token)
//npm.pkg.github.com/:_authToken=thetoken

Finally, 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=thetoken

Setup .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 i

Development

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 start

Static 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 test

Pay attention to the error messages and run the required commands.

Packaging

Locally

To package apps for the local platform:

npm run package

To debug a production build:

npm run cross-env DEBUG_PROD=true npm run package

Production

To deploy a new version:

  1. IMPORTANT: ensure that you have a clean git status
  2. run npm run version:pre
  3. 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