Building a Simple Microservice

Build a simple microservice using Catalyst Basic I/O Functions and integrate it with Zoho CRM to send automated counter-based email alerts when more than a specific number of leads are created

Initialize the Project

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 and all of the project files will be saved in it.

You can learn more about this from the Project Directory Structure help page. You can learn about initializing a project in detail from the CLI help documentation.

For this microservice, we will initialize function component.

  1. Create a folder for the project on your local machine and navigate to it from the terminal.
  2. Initialize a project by executing the following command from that directory:
    $ catalyst init
  3. Select Functions using the space bar. Press the Enter key to initialize.
  4. The CLI will now ask you to associate a Catalyst project with the directory. Associate it with the project that we created earlier from the console. Select CounterBasedAlert from the list and press Enter.
  5. The CLI will initiate the functions set up. Select the BasicIO type from the list to set up and press Enter. You can learn about the function types from the Functions help page.
  6. Select java8 as the stack and press Enter.
  7. Enter the name of the Java function and the folder as 'countfunction'. This is also its reference name. Enter the name of the main class as 'CountAlert' and press Enter each time.
    Note: Ensure that you enter the main class name and the function's name exactly as instructed, because the application's code contains the same names.

The Catalyst Java SDK will now be downloaded to your system. Catalyst initialization is now complete.

The functions directory (CATALYST_FUNCTION_HOME) will be created in your project directory (CATALYST_PROJECT_HOME) with the configuration files and dependencies, along with the catalyst.json and a hidden catalyst.rc file.