The Master App is an application layer that wraps the client-side web modules of the various Advanced Algos platform modules (Users, Teams, KeyVault, Financial Beings, Hosts, etc). It provides, to these modules, an authentication layer and GraphQL data layer, among other commonly used utilities and APIs.
Each client-side module is published as an NPM package and their function is best described as a React higher-order component encasing their given module use cases.
Clone the repo.
git clone https://github.com/AdvancedAlgos/MasterApp.git
cd MasterApp
Setup Server
cd server
npm install
Rename .env.example
to .env
Start the server:
npm run start
The Graphql Playground will be viewable at http://localhost:4100/graphql
Setup Client
In another CLI window, navigate to the MasterAoo/client
cd ../client
npm install
Rename .env.example
to .env
. Get Auth0 Client ID from team member
Start the client:
npm run dev
# or if on windows
npm run dev_win
Using the npm link
command, we can develop a module locally before publishing as a package on npm.
In the client of the module to be developed:
npm link
Make note of the module package name — the name in the module's client package.json. e.g. @advancedalgos/key-vault-client
In the Master app client dir link the developing module:
# in MasterApp/client
npm link <module-package-name>
e.g.
npm link @advancedalgos/key-vault-client
We are currently developing a boilerplate that will accelerate starting a new module and works easily within the MasterApp.