Skip to content

gemini-hlsw/navigate-ui

Repository files navigation

Navigate website

Website developed using React + Typescript.

This tool will be used to configure the telescope and its subsystems to point and track a celestial object during an observation. Navigate is a web application with a single centralized server that communicates with the different real-time control systems of the telescope. It also will communicate with other apps in the Gemini Program Platform (GPP) ecosystem, such as Observe and Chronicle.

Launch on local development

Make sure you have installed NodeJS and ni in your machine.

  • Install dependencies

    ni
  • Run the web app

    nr dev

Test modules

Some project modules can be tested using vitest

  • Run vitest
    nlx vitest

Navigate backend

To connect to the Navigate backend this repository should be cloned and run. The project was developed using Scala, then a proper Scala and sbt installation should be provided.

In the repository directory run

sbt

In sbt compile everything using

compile

Once compiled, to run the server

navigate_web_server/reStart

Publishing

In order to publish the project as static assets, run:

pnpm build
pnpm publish --access public

The project is automatically published by Github actions when a new tag is pushed. Two packages are published:

  • https://npmjs.com/package/navigate-ui
  • edu.gemini:navigate-ui on Sonatype. This is an empty package that contains the static assets in the META-INF/resources/navigate-ui resource directory. It is used by the backend to serve the static assets.