# NodeJS -------------------------------------------------------------------------------- title: "Introduction" description: "Create a React web app that detects and extracts data from input documents, and processes it using OCR, Barcode Scanner, and Identity Scanner of Zia Services." last_updated: "2026-03-18T07:41:08.675Z" source: "https://docs.catalyst.zoho.com/en/tutorials/document-processor/nodejs/introduction/" service: "All Services" related: - Advanced I/O Function (/en/serverless/help/functions/advanced-io/) - Catalyst Extensions (/en/catalyst-extensions/vs-code-extension/introduction/) -------------------------------------------------------------------------------- # Document Processor ### Introduction This tutorial will help you build a Document Processor React application in Catalyst that implements AI/ML capabilities to detect, process, and extract specific data from scanned documents and images. The Document Processor application built in this tutorial will be able to do the following: 1. Recognize handwritten or printed text in scanned digital documents or images, and convert them to a machine-readable format (a JSON response). 2. Scan printed barcodes (1D and 2D formats), and extract the encoded information in them. 3. Scan and process digital ID proof such as PAN, AADHAAR, and other documents including passbooks and cheques, and extract the field records from those documents. Also note that PAN and AADHAAR are identity proof documents specific to the India region. {{%note%}}{{%bold%}}Note :{{%/bold%}} PAN and AADHAAR are identity proof documents specific to the India region.{{%/note%}} The client application will appear as follows: You can access a working application and test its functionality here: {{%link href="https://ziaservices.catalystserverlessapp.com" %}}Try the App!{{%/link%}} The Document Processor application leverages the following Catalyst services and their components: 1. **{{%link href="/en/serverless/getting-started/introduction/" %}}Catalyst Serverless{{%/link%}}** - **{{%link href="/en/serverless/help/functions/introduction/" %}}Functions{{%/link%}}**: We will be coding an {{%link href="/en/serverless/help/functions/advanced-io/" %}}Advanced I/O function{{%/link%}} in **Node.js**. It contains the logic that enables you to process and extract data from the input documents or images. We have leveraged the {{%link href="/en/sdk/nodejs/v2/zia-services/ocr/" %}}Catalyst Zia Services Node.js SDK{{%/link%}} package for this purpose. 2. **{{%link href="/en/cloud-scale/getting-started/introduction/" %}}Catalyst Cloud Scale{{%/link%}}** - **{{%link href="/en/cloud-scale/help/web-client-hosting/introduction/" %}}Web Client Hosting{{%/link%}}** : We will be creating and initializing the web client as a {{%link href="/en/cli/v1/initialize-resources/initialize-client/#react-applications" %}}React application{{%/link%}} in this tutorial using in-built Catalyst plugins. The client application will be hosted in Catalyst using Web Client Hosting. 3. **{{%link href="/en/zia-services/getting-started/introduction/" %}}Catalyst Zia Services{{%/link%}}** - **{{%link href="/en/zia-services/help/optical-character-recognition/introduction/" %}}OCR{{%/link%}}** : This component helps you detect and recognize textual characters in your input digital documents or images, and convert them to machine-encoded text. Catalyst OCR can recognize texts in {{%link href="/en/zia-services/help/optical-character-recognition/key-concepts/#supported-languages" %}}10 major languages{{%/link%}}. - **{{%link href="/en/zia-services/help/barcode-scanner/introduction/" %}}Barcode Scanner{{%/link%}}** : This component allows you to scan barcodes and extract the encoded information in them. You can learn more about the supported barcode formats from {{%link href="/en/zia-services/help/barcode-scanner/key-concepts/#encoding-data-in-a-barcode" %}}this page{{%/link%}}. - **{{%link href="/en/zia-services/help/identity-scanner/introduction/" %}}Identity Scanner{{%/link%}}** : The Identity Scanner component enables you to scan and extract data from common ID proof documents such as AADHAAR cards, PAN cards, bank passbooks, and cheques. Refer to {{%link href="/en/zia-services/help/identity-scanner/key-concepts/#model-types" %}}this page{{%/link%}} to learn more about the supported languages, file formats, and file sizes. We will use the {{%link href="https://console.catalyst.zoho.com/" %}}Catalyst web console{{%/link%}} and the {{%link href="/en/cli/v1/cli-command-reference/" %}}Catalyst Command Line Interface (CLI){{%/link%}} to build this application. You can fetch the tutorial's code from this git repo. You will have to replace the files in the project directory as directed in the {{%link href="/en/tutorials/document-processor/nodejs/configure-advancedio" %}}function{{%/link%}} and {{%link href="/en/tutorials/document-processor/nodejs/configure-client" %}}client configuration{{%/link%}} sections of this tutorial. -------------------------------------------------------------------------------- title: "Prerequisites" description: "Create a Catalyst web application that detects, processes and extracts data from input digital documents using the components of Catalyst Zia Services." last_updated: "2026-03-18T07:41:08.676Z" source: "https://docs.catalyst.zoho.com/en/tutorials/document-processor/nodejs/prerequisites/" service: "All Services" related: - CLI Command Reference (/en/cli/v1/cli-command-reference/) - Install CLI (/en/getting-started/installing-catalyst-cli/) - Login CLI (/en/cli/v1/login/login-from-cli/) -------------------------------------------------------------------------------- # Prerequisites Before you begin building the application, you must have the following prerequisites installed on your system: 1. {{%bold%}}Catalyst CLI{{%/bold%}}: Catalyst CLI contains a host of tools that enable you to initialize, develop, test, and deploy the components of your application from your local machine. We will be working with Catalyst CLI in this tutorial. You must perform these actions: 1. {{%bold%}}Install Catalyst CLI{{%/bold%}}: Catalyst CLI is installed through NPM. You must therefore have NPM and Node.js installed on your system before you install the CLI. Refer to the {{%link href="/en/getting-started/installing-catalyst-cli/" %}}**Install Catalyst CLI help page**{{%/link%}} for details on the pre-requisites and the steps to install it. 2. {{%bold%}}Login Catalyst CLI{{%/bold%}}: After you install Catalyst CLI, you must authenticate the CLI with your Catalyst account before using it. Refer to the {{%link href="/en/cli/v1/login/login-from-cli/" %}}**CLI Login help page**{{%/link%}} for the steps to log in from Catalyst CLI and the various options available for it. 2. {{%bold%}}Any IDE tool for client code development{{%/bold%}}: You can use any IDE to work with the client code. Some popular choices include Visual Studio Code, IntelliJ IDEA, and Sublime Text. Download and install an IDE of your choice on your system. {{%info image="/images/tutorials/todo-list/vscode.png"%}}If you are a Visual Studio Code IDE user, you can install the {{%bold%}}Catalyst Tools{{%/bold%}} extension, and use your IDE itself in place of the CLI. You can find more details about the Catalyst VS Code extension from this {{%link href="/en/catalyst-extensions/vs-code-extension/introduction/" %}}help section{{%/link%}}.{{%/info%}} -------------------------------------------------------------------------------- title: "Create a project" description: "Create a React web app that detects and extracts data from input documents, and processes it using OCR, Barcode Scanner, and Identity Scanner of Zia Services." last_updated: "2026-03-18T07:41:08.676Z" source: "https://docs.catalyst.zoho.com/en/tutorials/document-processor/nodejs/create-a-project/" service: "All Services" related: - Catalyst Zia Services SDK (/en/sdk/nodejs/v2/zia-services/ocr/) - Catalyst Project Creation (/en/getting-started/catalyst-projects/#create-a-catalyst-project) -------------------------------------------------------------------------------- # Create a project Let's first {{%link href="/en/getting-started/catalyst-projects/#create-a-catalyst-project" %}}create a Catalyst project{{%/link%}} from the {{%link href="https://console.catalyst.zoho.com/baas/index" %}}Catalyst console{{%/link%}}. 1. Log in to the {{%link href="https://console.catalyst.zoho.com/baas/index" %}}Catalyst console{{%/link%}} and click {{%bold%}}Create new Project{{%/bold%}}. <br /> 2. Enter the project's name as **"ZiaServices"** in the pop-up window that appears. <br /> 3. Click {{%bold%}}Create{{%/bold%}}. Your project will be created and opened. We will be implementing the components of {{%link href="/en/zia-services/" %}}Zia Services{{%/link%}} in this tutorial using the {{%link href="/en/sdk/nodejs/v2/zia-services/ocr/" %}}Catalyst Zia Services SDK package{{%/link%}}. -------------------------------------------------------------------------------- title: "Initialize the project" description: "Create a Catalyst web application that detects, processes and extracts data from input digital documents using the components of Catalyst Zia Services." last_updated: "2026-03-18T07:41:08.676Z" source: "https://docs.catalyst.zoho.com/en/tutorials/document-processor/nodejs/initialize-project/" service: "All Services" related: - Initialize Resources (/en/cli/v1/initialize-resources/introduction) - Project Directory Structure (/en/cli/v1/project-directory-structure/introduction/) -------------------------------------------------------------------------------- # Initialize the Project from the CLI You can now begin working on your Catalyst project from the CLI. The first step is to initialize the project in an empty directory. This will be the home directory of your project, in which all of your project files will be saved. You can learn more about this from the {{%link href="/en/cli/v1/project-directory-structure/introduction/" %}}Project Directory Structure{{%/link%}} help page. You can learn about initializing a project in detail from the {{%link href="/en/cli/v1/initialize-resources/introduction/" %}}CLI help documentation{{%/link%}}. For the Document Processor application, we will initialize the client and the Advanced I/O function components. In this tutorial, we will code the Advanced I/O function in the **Node.js** platform. Please follow the steps listed to initialize the project and create the function and client components required for the application: 1. Create a folder for the project on your local machine and navigate to it from the CLI terminal. 2. To initialize the project, execute the following command: {{%cli%}}catalyst init{{%/cli%}} 3. The CLI will now ask you to select the {{%link href="/en/getting-started/catalyst-organizations/#the-default-organization" %}}default Catalyst organization{{%/link%}}. Select the organization in which you created the project in the first step of this tutorial, then press **Enter**. {{%note%}}{{%bold%}}Note :{{%/bold%}} To find out the organization in which your project is present in, please access the {{%link href="/en/getting-started/catalyst-organizations/#access-the-multi-org-portal" %}}multi-org portal{{%/link%}} from your Catalyst console.{{%/note%}} 4. You can associate the current project directory with the Catalyst project you created in this organization. Select **Ecommerce** and press **Enter**. 5. Select **Functions** and **Client** by pressing **space**, then press **Enter** to confirm your choice and initialize your project. 6. The CLI will initiate the function setup. Select **AdvancedIO** as the function type. 7. Select the latest runtime of **Node.js** as the function stack. 8. Provide the package name as {{%badge%}}"zia_services_function"{{%/badge%}} for your Node function when prompted and press **Enter**. You must also define the entry point as {{%badge%}}index.js{{%/badge%}} and provide the author details in this step. You can alternatively press **Enter** without entering inputs to fill in the default values. The CLI will prompt the initialization of the Node dependencies. Press **Y** to confirm the installation, and press **Enter** to confirm your choice. The Node modules will be installed. {{%note%}}{{%bold%}}Note :{{%/bold%}} Ensure that you enter the function's package name exactly as instructed, because the application's code contains the same name.{{%/note%}} 9. The CLI will now initiate the client set up. Select **React web app** and choose **JavaScript** from the option and press **Enter** to initialize your client as a {{%link href="/en/cli/v1/initialize-resources/initialize-client/#react-applications" %}}React web app{{%/link%}}. 10. Enter **"app"** as the name of your client package and press **Enter**. You can also provide any name of your choice. Catalyst initialization is now complete. The {{%link href="/en/cli/v1/project-directory-structure/introduction/" %}}project directory{{%/link%}} is now set up with the client directory and the functions directory along with configuration files and dependencies. The project directory also contains the {{%badge%}}{{%link href="/en/cli/v1/project-directory-structure/catalyst-json/" %}}catalyst.json{{%/link%}}{{%/badge%}} configuration file and a hidden {{%badge%}}.catalystrc{{%/badge%}} file. The structure of your project directory should appear as shown below: -------------------------------------------------------------------------------- title: "Configure the Advanced I/O function" description: "Create a React web app that detects and extracts data from input documents, and processes it using OCR, Barcode Scanner, and Identity Scanner of Zia Services." last_updated: "2026-03-18T07:41:08.676Z" source: "https://docs.catalyst.zoho.com/en/tutorials/document-processor/nodejs/configure-advancedio/" service: "All Services" related: - Functions Directory Structure (/en/cli/v1/project-directory-structure/functions-directory) - Advanced I/O Function (/en/serverless/help/functions/advanced-io/) -------------------------------------------------------------------------------- # Configure the Advanced I/O Function Next, we will begin coding the Document Processor application by configuring the functions component. The {{%link href="/en/cli/v1/project-directory-structure/functions-directory" %}}functions directory{{%/link%}} you initialized, {{%badge%}}functions/zia_services_function{{%/badge%}}, contains: * The {{%badge%}}index.js{{%/badge%}} main function file * The {{%badge%}}catalyst-config.json{{%/badge%}} configuration file * node_modules * {{%badge%}}{{%link href="https://docs.npmjs.com/files/package.json" %}}package.json{{%/link%}}{{%/badge%}} and {{%badge%}}{{%link href="https://docs.npmjs.com/configuring-npm/package-lock-json.html" %}}package-lock.json{{%/link%}}{{%/badge%}} dependency files In addition to this directory, we will need to add a few sub-directories and files in the {{%badge%}}functions/zia_services_function{{%/badge%}} directory. We have the tutorial's code in {{%link href="https://github.com/catalystbyzoho/tutorial-catalyst-zia-services" %}}this git repository{{%/link%}}. Download it as a ZIP file and extract its contents. Replace the {{%badge%}}index.js{{%/badge%}} file in your project's {{%badge%}}functions/zia_services_function{{%/badge%}} directory with the one in the extracted zip. The {{%badge%}}functions/zia_services_function{{%/badge%}} directory from the downloaded ZIP will contain the sub-directories and files mentioned below, in addition to the default function files and dependencies. * {{%badge%}}constants.js{{%/badge%}} file * {{%badge%}}services{{%/badge%}} directory * {{%badge%}}pojos{{%/badge%}} directory * {{%badge%}}handlers{{%/badge%}} directory * {{%badge%}}errors{{%/badge%}} directory Extract these files and add them to your project's function's directory. You can use any IDE of your choice to work with the application’s files. {{%note%}}{{%bold%}}Note :{{%/bold%}} Please go through the code in this section to make sure you fully understand it.{{%/note%}} ### Install Express and Multer Frameworks for Node.js The Node.js function requires two frameworks to be installed for this application. You must install these frameworks to import their packages in your code. #### express This framework is used to enable communication between the client and server end via HTTP requests. To install {{%badge%}}Express.js{{%/badge%}}, navigate to the Node function’s directory ({{%badge%}}functions/zia_services_function{{%/badge%}}) in your terminal and execute the following command: {{%cli%}}npm install express{{%/cli%}} This will install the Express module and save the dependencies. #### multer Multer is middleware used to handle file upload operations from the client end. To install {{%badge%}}multer.js{{%/badge%}}, navigate to the Node function’s directory ({{%badge%}}functions/zia_services_function{{%/badge%}}) in your terminal and execute the following command: {{%cli%}}npm i multer{{%/cli%}} This will install the Multer module and save the dependencies. This information will also be updated in the {{%badge%}}package.json{{%/badge%}} file. The function directory is now configured. We can now proceed to configuring the client directory. -------------------------------------------------------------------------------- title: "Configure the client" description: "Create a React web app that detects and extracts data from input documents, and processes it using OCR, Barcode Scanner, and Identity Scanner of Zia Services." last_updated: "2026-03-18T07:41:08.676Z" source: "https://docs.catalyst.zoho.com/en/tutorials/document-processor/nodejs/configure-client/" service: "All Services" related: - Client Directory Structure (/en/cli/v1/project-directory-structure/client-directory) - Install Tailwind CSS (https://tailwindcss.com/docs/guides/create-react-app) -------------------------------------------------------------------------------- # Configure the Client Next, let's configure the client component. The {{%link href="/en/cli/v1/project-directory-structure/client-directory/" %}}client directory{{%/link%}} ({{%badge%}}/app{{%/badge%}}) you initialized will contain: * Application source files in the {{%badge%}}/src{{%/badge%}} directory * Public files in the {{%badge%}}/public{{%/badge%}} directory * Node modules * The {{%badge%}}client-package.json{{%/badge%}} configuration file * {{%badge%}}{{%link href="https://docs.npmjs.com/files/package.json" %}}package.json{{%/link%}}{{%/badge%}} and {{%badge%}}{{%link href="https://docs.npmjs.com/configuring-npm/package-lock-json.html" %}}package-lock.json{{%/link%}}{{%/badge%}} dependency files You can fetch the entire client directory with configured code {{%link href="https://github.com/catalystbyzoho/tutorial-catalyst-zia-services" %}}this git repo{{%/link%}} that you downloaded earlier. Replace the {{%badge%}}src{{%/badge%}} folder in this directory with the one in the extracted zip using an IDE and save the files. {{%note%}}{{%bold%}}Note:{{%/bold%}} Please go through the code in each file to make sure you fully understand it.{{%/note%}} ### Install React packages We will be installing the following additional React modules for the Document Processor application: * **{{%badge%}}react-hot-toast{{%/badge%}}**: This library is used to display toast messages as status notifications in the client application. * **{{%badge%}}react-router-dom{{%/badge%}}**: This package is used for routing purposes to load the content in the client application dynamically based on the URL. * **{{%badge%}}axios{{%/badge%}}**: This client library is used to make HTTP requests from the client end to communicate with the APIs in the server side. * **{{%badge%}}classnames{{%/badge%}}**: This attribute is used to set or return the value of an element's class attribute in React. To install these react packages, navigate to the project's client directory ({{%badge%}}/app{{%/badge%}}) in your terminal and execute the following command: {{%cli%}}npm i react-hot-toast react-router-dom axios classnames{{%/cli%}} This will install the modules and save all their dependencies. The following information will also be updated in the {{%badge%}}package.json{{%/badge%}} file. #### Install Tailwind CSS We have use the {{%link href="https://tailwindcss.com/" %}}Tailwind framework{{%/link%}} to implement the pre-built CSS classes that scan all your html files and JS components, and generates a static CSS file for your project. Navigate to the project's client directory ({{%badge%}}/app{{%/badge%}}) in your terminal and to install and initialize this framework, you will need to execute these two commands in your terminal: 1. To install Tailwind CSS: {{%cli%}}npm install -D tailwindcss@3{{%/cli%}} 2. To initialize the {{%badge%}}tailwind.config.js{{%/badge%}} file in your project: {{%cli%}}npx tailwindcss init{{%/cli%}} This will create the {{%badge%}}tailwind.config.js{{%/badge%}} file in your client directory. Open the file, paste the code below , and save the file. You can learn more about tailwind installation from {{%link href="https://tailwindcss.com/docs/guides/create-react-app" %}}this page{{%/link%}}. {{%code class="language-javascript"%}}/** @type {import('tailwindcss').Config} */ module.exports = { content: [ "./src/**/*.{js,jsx,ts,tsx}", ], theme: { extend: {}, }, plugins: [], } {{%/code%}} The client directory is now configured. Let us quickly go through the working of the function and client components of the application: The user enters an input image or a digital document to be processed in the client application. The {{%badge%}}/:model{{%/badge%}} API in the {{%badge%}}index.js{{%/badge%}} file is triggered and it defines which model to invoke. Based on the type of the input document, the corresponding logic of the model ({{%badge%}}pan{{%/badge%}}, {{%badge%}}cheque{{%/badge%}}, {{%badge%}}ocr{{%/badge%}}, {{%badge%}}barcode{{%/badge%}} or {{%badge%}}passbook{{%/badge%}}) will get executed. All the listed below models (except barcode) use the {{%link href="/en/sdk/nodejs/v2/zia-services/ocr/" %}}zia.extractOpticalCharacters(){{%/link%}} method in the {{%link href="/en/sdk/nodejs/v2/zia-services/ocr/" %}}Catalyst Zia Services Node.js SDK package{{%/link%}} to extract the data from the input document or image and provides the response in the JSON format. * **{{%badge%}}/pan{{%/badge%}}**: For this document, the {{%badge%}}modelType{{%/badge%}} is configured as {{%badge%}}PAN{{%/badge%}}. The user provides a scanned copy of the PAN card as the input and response includes the card holder's first name, last name, data of birth and the PAN card number. * **{{%badge%}}/ocr{{%/badge%}}**: The {{%badge%}}modelType{{%/badge%}} is configured as {{%badge%}}OCR{{%/badge%}} for general OCR processing. The extracted text from the input document and a confidence score will be sent as a response. The confidence score is a percentage value depicting the accuracy of the text recognition and prediction in the given input document. * **{{%badge%}}/cheque{{%/badge%}}**: For this document, the {{%badge%}}modelType{{%/badge%}} is configured as {{%badge%}}CHEQUE{{%/badge%}}.The user provides a cheque leaflet(only in the CTS-2010 format) and response includes the cheque number, bank details such as the bank name, branch, IFSC code, account number, amount and the date of issuance. * **{{%badge%}}/barcode{{%/badge%}}**: The user provides either 1D or 2D barcodes as input and returns the encoded information it as response. We have used the {{%badge%}}{{%link href="/en/sdk/nodejs/v2/zia-services/barcode-scanner/" %}}zia.scanBarcode(){{%/link%}}{{%/badge%}} method in the {{%link href="/en/sdk/nodejs/v2/zia-services/ocr/" %}}Catalyst Zia Services Node.js SDK{{%/link%}} to perform this operation. To learn more about the supported barcode formats, please refer to {{%link href="/en/zia-services/help/barcode-scanner/introduction/" %}}this page{{%/link%}}. * **{{%badge%}}/passbook{{%/badge%}}**: The user provides a passbook document as an input and the response includes information such as the account number, bank name, its branch and address. 6. The {{%badge%}}/aadhaar{{%/badge%}} API in the {{%badge%}}index.js{{%/badge%}} file is triggered when the user choose to process an aadhaar card in the client application. The user needs to provide both the front and back side images of the card separately, which will both be processed. This model recognizes the language of the document automatically and processes it. This API implements the {{%badge%}}{{%link href="/en/sdk/nodejs/v2/zia-services/identity-scanner/aadhaar/" %}}zia.extractAadhaarCharacters(){{%/link%}}{{%/badge%}} method in the SDK package that extracts the parameters recognized in the aadhaar card such as the card holder’s name, address, gender and aadhaar card number. Let's have a look at the client components in detail: * The root directory of the client contains the Catalyst-specific {{%link href="/en/cli/v1/project-directory-structure/client-directory" %}}{{%badge%}}client-package.json{{%/badge%}}{{%/link%}} file, which contains the default configurations of the client. * The {{%badge%}}src{{%/badge%}} folder contains the application’s source files including the JavaScript and CSS files that will be included in the build folder when we compile the React app. The {{%badge%}}App.jsx{{%/badge%}} facilitates the behaviour of the front end of the application. It handles the change and shrink events, and posts and obtains data using the APIs defined earlier. The files within the {{%badge%}}views{{%/badge%}} folder are responsible for rendering the response as output in the client application. * The {{%badge%}}public{{%/badge%}} folder is used to hold files that can be openly accessed by browsers through public URLs. It includes the following files: 1. {{%badge%}}index.html{{%/badge%}}: The default entry point of application. 2. {{%badge%}}manifest.json{{%/badge%}}: Contains information about the web application including the {{%badge%}}start_url{{%/badge%}} which is set to “.”. This enables every shortened version of the URL the user enters to originate from the base URL {{%link href="/en/cloud-scale/help/web-client-hosting/key-concepts/#default-web-application-url" %}}Catalyst_web_app_URL/app/{{%/link%}} when the app is hosted. * {{%badge%}}tailwind.config.js{{%/badge%}}: This file contains all the client side customizations of your application such as the CSS styles implemented in your project. -------------------------------------------------------------------------------- title: "Test the application" description: "Create a React web app that detects and extracts data from input documents, and processes it using OCR, Barcode Scanner, and Identity Scanner of Zia Services." last_updated: "2026-03-18T07:41:08.677Z" source: "https://docs.catalyst.zoho.com/en/tutorials/document-processor/nodejs/test-the-application/" service: "All Services" related: - Serve CLI Resources (/en/cli/v1/serve-resources/introduction) -------------------------------------------------------------------------------- # Test the Application Before you deploy the application to the remote console, you can test the application on a local server and check if everything works using the Catalyst CLI. For detailed information on catalyst serve, refer to the {{%link href="/en/cli/v1/serve-resources/introduction" %}}Serve Resources help page{{%/link%}}. To serve the Catalyst project locally, execute the following command from your project directory: {{%cli%}}catalyst serve{{%/cli%}} This will first compile the React app and then serve it. To know more about serving react applications, please refer to {{%link href="/en/cli/v1/serve-resources/introduction" %}}this page{{%/link%}}. The Document Processor application will now be served at default port 3000. The local endpoint URLs of the components will be displayed in the CLI. {{%note%}}{{%bold%}}Note :{{%/bold%}} Every time you access the home page or any of the sub-pages of your client, or the function, the CLI will display a live log of the URL accessed, along with the HTTP request method.{{%/note%}} You can now open the application in a browser using the local URL of the client displayed in the CLI and test it. To test each of these, click on the required feature and upload an image file or a document file from your local system, then click **Process Image**. To test the Aadhaar functionality, you must upload two images of the front and the back of the Aadhaar card. The extracted text in case of OCR, Aadhaar, Pan, Passbook, and Cheque will be displayed in the output panel in the JSON format. In the case of Barcode Scanner, the decoded information from the barcode will be displayed. Also note that, Pan and Aadhaar are identity proof documents specific to India region. For OCR, the output will also contain a confidence score as a percentage value that represents the accuracy of information extraction and processing. {{%note%}}{{%bold%}}Note:{{%/bold%}} The supported formats for input images are configured to be .jpeg, .webp, and .png, and the maximum file size allowed is 10MB.{{%/note%}} * **Cheque** <br /> * **PAN** <br /> * **Passbook** <br /> * **Aadhaar** <br /> * **Barcode Scanner** <br /> * **OCR** <br /> If this setup is working correctly, we can deploy the application to production. You can quit the serve session in your terminal by executing the command to kill a running process, based on your OS. -------------------------------------------------------------------------------- title: "Deploy the project" description: "Create a React web app that detects and extracts data from input documents, and processes it using OCR, Barcode Scanner, and Identity Scanner of Zia Services." last_updated: "2026-03-18T07:41:08.677Z" source: "https://docs.catalyst.zoho.com/en/tutorials/document-processor/nodejs/deploy-to-console/" service: "All Services" related: - Deploy Catalyst Project (/en/cli/v1/deploy-resources/introduction/) - Web Client Hosting (/en/cloud-scale/help/web-client-hosting/introduction/) -------------------------------------------------------------------------------- # Deploy to console To deploy your Catalyst project from the CLI, run the following command in your terminal from your project directory: {{%cli%}}catalyst deploy{{%/cli%}} The function is deployed first, followed by the client component. The app URLs of the components will be displayed. You can now open the client component’s URL in a browser to access the deployed application. The Document Processor application can now be accessed from its {{%link href="/en/cloud-scale/help/web-client-hosting/introduction/" %}}web app URL{{%/link%}}.