Skip to content

UI

Repo: rmf2-ui

Not part of the demo

The UI is not included in the ros_industrial_demo stack.

It will be added in a future release.

React Library and Sample Web Dashboard for RMF2

desktop-light-schedule

Project Structure

This project follows a pnpm monorepo structure.

  • apps: Example apps built using @rmf2-ui components

    • dashboard: RMF2 sample dashboard
  • packages: Packages here are generic functionality for RMF2 dashboard, all the packages here are prefixed with @rmf2-ui

    • chakra: @rmf2-ui/chakra package. This package contains pre-built RMF2 React components using Chakra UI
    • client: @rmf2-ui/client package. This package contains generated OpenAPI TS Client and some helper functions.
    • data: @rmf2-ui/data package. This package contains basic TS and JS data structure used by all other packages.

Source Installation

Install pnpm (10 and later) and NodeJS (22 and later)

bash
curl -fsSL https://get.pnpm.io/install.sh | sh -
source ~/.bashrc
pnpm env use --global 24

Clone the repo

bash
git clone git@github.com:ros-industrial/rmf2-ui.git
cd rmf2-ui

Install dependencies

bash
pnpm install

Usage

Quick Start

Serve the dashboard.

bash
pnpm start

The sample dashboard is accessible at http://localhost:3000.

TIP

This command forces a clean rebuild of all the @rmf2-ui/* packages. Watch is also disabled by default for these packages. Only changes to the dashboard package gets live update to the webpage.

Build and Preview

Build all packages

bash
pnpm build

Preview dashboard

bash
pnpm app preview --port 3000

Other Useful Commands

Build all @rmf2-ui/* packages

bash
pnpm --filter @rmf2-ui/* build

Build specific @rmf2-ui packages (For example, @rmf2-ui/chakra)

bash
pnpm --filter @rmf2-ui/chakra build

# or

pnpm chakra build

Enable live update for @rmf2-ui packages

bash
pnpm --filter @rmf2-ui/chakra build --watch

# or

pnpm chakra build --watch

TIP

This requires additional system resources that may be utilized by your IDE performance.

Launch the dashboard

bash
pnpm app dev

Docker Usage

Run the dashboard

bash
docker run -p 3000:80 --rm ghcr.io/ros-industrial/rmf2-ui/dashboard:main

The sample dashboard is accessible at http://localhost:3000. For more information, check out the detail docker instructions.

Contribution Guidelines

Released under the Apache-2.0 License.