Museum Finder
Introduction
This tutorial will help you build a museum finder application that lists museums in the United States of America, based on certain criteria that the users input.
The application fetches information from public datasets hosted by Catalyst that contain records of ratings and traveller type suitability of museums from various websites. The application processes these in parallel and emails the results to the user.
The application’s workflow is automated using a Catalyst Circuit, which orchestrates and executes each task to be carried out automatically. Refer to the Circuits help page for detailed help on Circuits.
The client application will look like this:

You can access a working application and test its functioning here: https://museumfinder.zohocatalystapp.com.
The Museum Finder application utilizes components from the following Catalyst Services:
- Catalyst Serverless:
- Circuit: Automates the entire workflow
- Basic I/O Functions: Contains the following Basic I/O functions in the Java runtime:
- RatingProcessor: Processes the rating input provided by the user and selects museums that fulfil the criteria
- TravellerTypeRatingProcessor: Processes the traveller type input provided by the user and selects museums that fulfil the criteria
- MergeDataSet: Merges the results obtained from RatingProcessor and TravellerTypeRatingProcessor
- Mailer: Emails the results to the user
- Advanced I/O Function: An Advanced I/O function in the Node.js runtime that automatically triggers the circuit to execute when the user submits the input form
- Catalyst Cloud Scale:
- Web Client Hosting The front end of the application will be hosted on Catalyst using the Web Client Hosting component. You will be initializing the client as a Basic web app.
Application Architecture
- When the user gives an input choosing the museum rating and traveller type suitability they require, the RatingProcessor and TravellerTypeRatingProcessor functions fetch two independent public datasets that contain records of ratings and traveller type of museums.
- Both functions are processed in parallel, and results matching the criteria requested by the user are selected from both datasets.
- The results from RatingProcessor and TravellerTypeRatingProcessor functions are sent to the MergeDataSet function which selects the museums that appear in both functions’ results and merges them as one result. and merges them as one result.
- This result is passed to the Mailer function which sends the email to the user with the final museum list. «««< HEAD
- This entire workflow is automated by a circuit that we will configure in this application. After the user submits the input, the circuit automatically executes the functions, processes conditions, and generates results as depicted below:

======= * This entire workflow is automated by a circuit that we will configure in this application. After the user submits the input, the circuit automatically executes the functions, processes conditions, and generates results as depicted below:

7c1210f1bcc064ad957874b46835491e937064c5
Last Updated 2025-02-19 15:51:40 +0530 +0530