
Inventory Management System (IMS)
Introduction
Managing complex inventories of high-value components is a challenge faced by many scientific and industrial facilities. The Inventory Management System (IMS) is a web-based platform designed to streamline the tracking, organisation, and lifecycle management of thousands of items such as optics, electronics, and mechanical parts.
The Problem
Traditional inventory tracking methods such as spreadsheets and static documents struggle to scale with growing operational complexity. As facilities expand, the need for a centralised, dynamic, and scalable inventory solution becomes critical to ensure efficiency and reduce downtime.
The Solution
IMS offers a centralised platform for managing inventory across systems. It enhances availability, supports forecasting, reduces operational costs, and minimises downtime. The system is continuously evolving, with new features and improvements being released based on user feedback and operational needs.
Below are several key interfaces that highlight the functionality and design of the system:




The Software
IMS is built using a modular microservice architecture:
IMS API – Manages core inventory entities such as items and catalogues.
Object Storage API – Handles file attachments and images.
LDAP JWT Auth – Provides secure access using token-based authentication.
The frontend is composed of micro frontends for flexibility and scalability:
IMS UI – User interface for interacting with inventory data.
SciGateway UI – Manages authentication and navigation across modules.

Future Work
The following are potential future work items and planned improvements for IMS:
Observability – Introduce observability tools to collect and analyse telemetry data, providing deeper insights into system performance and health. This will enable faster issue detection and improved troubleshooting.
Kubernetes – Transition from Docker Compose to a Kubernetes type of deployment to improve scalability, reliability, and deployment automation. This will allow better workload management, support for high availability, and streamlined integration with Continuous Integration and Continuous Delivery/Deployment pipelines.
History – Keep a history of edits made to the entities. For example, tracking the history of every single position/location of an optic will allow users to see where it has moved throughout its lifetime. They will also be able to work out how many optics have been damaged in a particular location.
Criticality & Spares – Calculate the number of spare items in stock and how many are needed to be kept for each catalogue item to ensure the continuous operation of the facility.
Single Sign-On (SSO) – Migrate from Lightweight Directory Access Protocol-based authentication to SSO to enhance user authentication, security, and user experience.
Contact Us
Please reach out via GitHub or email the development team.
