PIXLISE is an XRF spectroscopy visualisation tool built for the science team behind the PIXL instrument on the NASA Perseverance rover launched to Mars in 2020. It has been released as open source and is intended to be used for many other spectroscopy applications. This repository implements the user interface of the web app. It talks to the API found in the core repository here: https://github.com/pixlise/core
PIXLISE is deployed to https://www.pixlise.org
/.github/workflowscontains github workflows (actions) for build and deployment and trello integration/auth0contains auth0 extensions/clientcontains source code of angular client that runs as a single page web app/data-formatsgit sub-module for data-formats repository should check out to here
https://github.com/pixlise/periodic-table-gen contains the code generator for rawPeriodicTable.ts - in case it ever changes... not likely.
- Pull down git sub-modules: Make sure you have the git submodules inited - pixlise now contains data-formats as a submodule. Once you have done a git clone of the pixlise repository, you will need to run:
git submodule init
git submodule update
- Set up Auth0 account (www.auth0.com)
- Set up the Auth0 account as per ./auth0/auth0-setup.md
- For local development, ensure you have a
./client/src/local-development-pixlise-config.jsonfile with the appropriate fields set. See./client/src/local-development-pixlise-config-template.jsonfor what fields there are. You will need set the values:auth0_domainauth0_clientauth0_audienceto Auth0 backend AudienceunassignedNewUserRoleIdto Auth0 Role ID for "Unassigned New User"- NOTE: Other fields potentially need to be set, for example if you're debugging with sentry, the DSN for sentry, etc.
- Run npm i (NOTE: This has a post-install step (
./client/src/version.js) which generates./client/src/environments/version.ts) - Run
./genproto.shto generate protobuf serialisation files (reads fromdata-formatssub-module, outputs to./client/src/app/protolibs. If missing protobuf code generator, install it, see https://github.com/protocolbuffers/protobuf) - Run ng serve
- Navigate browser to http://localhost:4200
You should see PIXLISE open to the about page. If this does not happen, check that you do have the configuration json file present (environment.ts references it, if you use a prod build, it may be looking for pixlise-config.json instead).