This repository is a mono-repo that is currently focused on the development of the Rewind desktop application. However, as we are working with web technologies (WebGL, JS), there are also plans to implement a Rewind web version.
This mono-repo is powered by the nx build system.
In apps
you will find the applications - every folder corresponds to one "product".
In libs
you will find the common code that is shared across all the applications.
In tests
you will find the integration tests that will test the correctness of the libraries. Generally speaking,
tests that have some external dependencies (such as a beatmap or replay file) will belong here. Unit tests should be
written in the corresponding library src
folder with *.spec.ts
filename extension.
Familiarity with Electron's process model required.
Install the following:
- Latest Node.js LTS version (e.g.
nvm install --lts
) git-lfs
for the test data intestdata/
When changes have been done to some submodules, you need to merge them as follows:
git submodule update --remote --merge
yarn install
yarn run build
First start the desktop-frontend
to expose the frontend on port 4200 with "Hot Reloading" enabled.
yarn run desktop-frontend:dev
Then start the Electron application:
yarn run desktop-main:dev
If you make a change in the desktop-main
package, you will need to rerun the command above again.