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.
For the to-do list application, we will initialize the Advanced I/O function first, and initialize the Client component later.
- Create a folder for the project on your local machine and navigate to it from the terminal.
- Initialize a project by executing the following command from that directory:
$ catalyst init
- 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 ToDoList from the list and press Enter.
- Select Functions using the space bar. Press the Enter key to initialize. As mentioned earlier, we will initialize and setup the client after we configure the function.
- The CLI will initiate the function setup. Select AdvancedIO as the function type.
- Select the latest runtime of Java or Node.js as the function stack.
- If you select Node.js, enter "to_do_list_function" as the package name, "index.js" as the entry point, and your email address as the author and press Enter. 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.
- If you select Java, enter "ToDoList" as the folder name and press Enter. Enter "ToDoList" as the class name of the Java function as well and press Enter.
The project and function initialization is now complete.
The current project directory will be created in the standard structure. The functions directory will be created in your project directory with the configuration files and dependencies, along with the catalyst.json and a hidden .catalystrc file
- This is the structure of the ToDoList project's directory without the Client component, if the Advanced I/O function is of the Node.js platform.
- This is the structure of the ToDoList project's directory without the Client component, if the Advanced I/O function is of the Java platform.