This repository contains the main app of the Incyclist indoor cycling app.
Incyclist depends on a couple of external services. Although the app will work without any of those services, some parts of the application might be impacted if those services are not correctly configured.
Therefore, the credentials to access those services have to be configured:
Create a file secrets.json in the ./src folder. This file needs to contain the following information
Incyclist uses a Message Queue to manage group rides. You either need to request credentials via our Slack workspace, or you need to setup your own MQTT Message Broker
MQ_BROKER URL of the Message Queue Broker (required for group ride support)
MQ_USER , MQ_PASSWORD Credentials to to be used to authenticate against the Message Queue Broker
The JAWG Elevation API is used to update elevation profiles, when generating routes. In order to request credentials, got to their web site
JAWG_API_KEY API key for the JAWG Elevation API
The Google Maps Api Keys are used to present Street View or Sattelite View during ride. In order to request credentials, visit the Google Maps web site
GOOGLE_API_KEY API Key for Google Maps API
The Strava API is used to connect with the Strava service and upload activities after finishing a ride. In order to request credentials, visit the Strava developer web site
STRAVA_CLIENT_ID, STRAVA_CLIENT_SECRET Credentials for the Strava API
The Incyclist API is used to fro various operations ( e.g. automatic update, getting routes and videos, getting group rides,....). In order to request credentials, contact us via the Incyclist Slack workspace
INCYCLIST_API_KEY Incyclist API Key
> npm start
Once the app is started, you can press CTRL+SHIFT+ALT+I to open the Electron Developer Tools.
In case you get error like this: bindings.node' was compiled against a different Node.js version using NODE_MODULE_VERSION 64. This version of Node.js requires NODE_MODULE_VERSION 73. Please try re-compiling or re-installing ...
Steps:
If you have not installed electron-rebuild just install it with the command: npm i -D electron-rebuild
Remove from the node-modules folder the serialport and @serialport folders.
Remove the file packages-lock.json
Run npm i to install non-installed modules
And finally run ./node_modules/.bin/electron-rebuild
It is very important to run ./node_modules/.bin/electron-rebuild directly after npm i.
Source: https://stackoverflow.com/a/52796884
You need to configure the build ( filename, signing settings, auto-update URL) in the file ./config/win64-installer.json (64 Bit) or ./config/win32-installer.json
> npm run package-win64
(64Bit Windows)
or
> npm run package-win32
(32Bit Windows)
> npm run installer-win64
(64Bit Windows)
or
> npm run installer-win32
(32Bit Windows)
node_modules\electron-installer-windows\vendor\squirrel\signtool.exe timestamp /tr http://timestamp.comodoca.com .\installer\win64\incyclist-
{version}-setup.exe
> npm run package-mac
> npm run installer-mac
> npm run installer-linux64