Skip to content

Development

Mark A. Greenwood edited this page Nov 26, 2025 · 3 revisions

Developing the Dashboard

Should you wish to further develop the dashboard to add new features or support for other platforms etc. this section should guide you through the process of building and running the two separate components along with notes on the applications structure.

Backend

The backend component is a standard Java Spring Boot web application and as such can be built and started by most IDEs. Should you want to run it manually a copy of mvnw is included allowing the application to be started without a pre-existing Maven installation via the command:

./mvnw spring-boot:run

Note that when starting this way the application.yml configuration file used to configure the dashboard must be in the backend folder rather than the top level of the repository as needed by the standard deployment: a symlink works well to keep files in sync.

Frontend

The user facing dashboard is a React web app which is built using Node.js. Assuming you have the Node.js installed correctly then you can install all the packages required by the dashboard using the command:

npm install --legacy-peer-deps

Once the packages have been downloaded and installed the web application can be started (with hot reloading enabled for ease of development) using the command:

npm start

Known Issues

There are a few known issues when running the frontend separately to the backend which are mostly related to the way calls to the backend have to be proxied to the separate port number:

  • Links to download the CSV of selected posts do not work as the URL is handled entirely by the browser and hence is not proxied correctly.

Clone this wiki locally