--- title: "Initialize the Project" url: https://docs.catalyst.zoho.com/en/tutorials/alien-city/java/initialize-the-project/ description: "Create a single-page serverless web application using Catalyst Advanced I/O Function and Catalyst Data Store that allows you to report or look up alien encounters in a city." last_updated: 2026-08-17T12:16:04Z service: All Services type: tutorial related_links: - name: "Initialize CLI Resources" url: /en/cli/v1/initialize-resources/introduction/ - name: "Project Directory Structure" url: /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 and all of the project files will be saved in it. You can learn more about this from the [Project Directory Structure help page](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/). You can learn about initializing a project in detail from the [CLI help documentation](https://docs.catalyst.zoho.com/en/cli/v1/initialize-resources/introduction/). For the Alien City application, we will initialize the client and the [Advanced I/O function](https://docs.catalyst.zoho.com/en/serverless/help/functions/advanced-io/). The Advanced I/O function will be initialized in the [Java](https://docs.catalyst.zoho.com/en/sdk/java/v1/overview/) platform. However, as mentioned earlier, you can also initialize it in the [Python](https://docs.catalyst.zoho.com/en/sdk/python/v1/overview/) or [Node.js](https://docs.catalyst.zoho.com/en/sdk/nodejs/v2/overview/) platforms. The steps are as follows: 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: ```sh catalyst init ``` 3. Navigate using the **arrow keys** and select your preferred portal and press the **Enter** key. If you have no other organizations associated with the account, then the default one will be selected automatically. ![catalyst_alien_city_select_account_portal](https://catalyst-docs-development.zohostratus.in/images/tutorials/alcity/catalyst_alien_city_select_account_portal.webp) You can find out more about Catalyst's multi-org portal feature from this [help document](https://docs.catalyst.zoho.com/en/getting-started/catalyst-organizations/#access-the-multi-org-portal). 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 **AlienCity** from the list and press **Enter**. ![catalyst_alien_city_select_catalyst_project](https://catalyst-docs-development.zohostratus.in/images/tutorials/alcity/catalyst_alien_city_select_catalyst_project.webp) 5. Select **Client** and **Functions** using the **space-bar**, then press the **Enter** key to initialize. ![catalyst_alien_ctiy_func_client_setup](https://catalyst-docs-development.zohostratus.in/images/tutorials/alcity/catalyst_alien_ctiy_func_client_setup.webp) 6. The CLI will initiate the function setup. Select **AdvancedIO** as the function type. ![catalyst_alien_ctiy_func_advanced_io](https://catalyst-docs-development.zohostratus.in/images/tutorials/alcity/catalyst_alien_ctiy_func_advanced_io.webp) 7. Select the latest runtime of **Java** as the programming environment. ![catalyst_alien_city_select_functions_java](https://catalyst-docs-development.zohostratus.in/images/tutorials/alcity/catalyst_alien_city_select_functions_java.webp) 8. Enter "**AlienCityAIO**" as the folder name and press **Enter**. Enter the same name "**AlienCityAIO**" as the class name of the Java function as well and press **Enter**. ![catalyst_alien_city_select_java_installed](https://catalyst-docs-development.zohostratus.in/images/tutorials/alcity/catalyst_alien_city_select_java_installed.webp) 9. The CLI will now initiate the client set up. Select **Basic web app** as your client type. ![catalyst_alien_city_python_client_type_select](https://catalyst-docs-development.zohostratus.in/images/tutorials/alcity/catalyst_alien_city_python_client_type_select.webp) 10. Enter "**ALcity**" as the name for the client package and press **Enter**. You can also enter any name you prefer. ![catalyst_alien_city_client_setup_complete_python](https://catalyst-docs-development.zohostratus.in/images/tutorials/alcity/catalyst_alien_city_client_setup_complete_python.webp) The client directory will be created in the standard structure. Catalyst initialization is now complete. Your [project directory](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/introduction/) is now set up with the client directory and the functions directory along with configuration files and dependencies. The project directory also contains the [`catalyst.json`](https://docs.catalyst.zoho.com/en/cli/v1/project-directory-structure/catalyst-json/) configuration file and a hidden `.catalystrc` file. This is the structure of the AlienCity project’s directory, if the Advanced I/O function is of the Java platform, and the client is set up as a Basic web app. ![catalyst_alcity_dir_struct_java](https://catalyst-docs-development.zohostratus.in/images/tutorials/alcity/catalyst_alcity_dir_struct_java.webp)