Untitled

Project Overview:

ITMArchive allows users to search through ITMA records from various different data sources at the blink of an eye. The project is comprised of:

  1. A front-end search web application built with Javascript and React
  2. A search index powered by Typesense and hosted in Typesense Cloud
  3. Two lambda functions to extract, normalise and map the data to a common schema, before importing it into the Typesense index

Problem Statement:

ITMA offers resources to the public via an online catalogue, website and various other tools. The goal of this project was to enhance the discoverability of ITMA’s collection by enabling the collection to be searched as a whole, with a performant and modern search experience for users

Challenges:

  1. Extracting data from three different databases (with varying API capabilities).
  2. Normalising and mapping the data to be searched as one single index.
  3. Ensuring that the data stays up to date with as little downtime as possible.

System Architecture

The data flow diagram for the system can be seen below.

https://whimsical.com/federated-search-diagram-9NWYpybjXU9CYGo2Q7i9iM

https://whimsical.com/federated-search-diagram-9NWYpybjXU9CYGo2Q7i9iM