--- title: "Inicializar el proyecto" url: https://docs.catalyst.zoho.com/es/tutorials/birthday-greetings/nodejs/init-project/ description: "Construye una aplicación de saludos de cumpleaños usando el servicio Job Scheduling y envía automáticamente saludos de cumpleaños a la persona requerida a través de su correo electrónico." last_updated: 2026-08-17T12:16:04Z service: All Services type: tutorial related_links: - name: "Catalyst CLI" url: /es/cli/v1/cli-command-reference/ - name: "Initialize Resources" url: /es/cli/v1/initialize-resources/introduction/ - name: "Project Directory" url: /es/cli/v1/project-directory-structure/introduction/ - name: "Catalyst Functions" url: /es/serverless/help/functions/introduction/ --- # Inicializar el proyecto Ahora puedes comenzar a trabajar en tu proyecto de Catalyst desde el CLI. El primer paso es inicializar el proyecto en un directorio vacío. Este será el directorio principal de tu proyecto, y todos los archivos del proyecto se guardarán en él. Puedes aprender más sobre esto en la [página de ayuda de la Estructura de Directorio del Proyecto](https://docs.catalyst.zoho.com/es/cli/v1/project-directory-structure/introduction/). Puedes aprender sobre la inicialización de un proyecto en detalle en la [documentación de ayuda del CLI](https://docs.catalyst.zoho.com/es/cli/v1/initialize-resources/introduction). Para esta aplicación, inicializaremos una [Basic I/O function](https://docs.catalyst.zoho.com/es/serverless/help/functions/basic-io/), que contendrá la lógica para [Custom User Validation](https://docs.catalyst.zoho.com/es/cloud-scale/help/authentication/whitelisting/custom-user-validation/introduction/) y una [React web app](https://docs.catalyst.zoho.com/es/cli/v1/initialize-resources/initialize-client/#react-applications) como el componente cliente. Más adelante, también inicializaremos una [Advanced I/O function](https://docs.catalyst.zoho.com/es/serverless/help/functions/advanced-io/) y una [Job Function](https://docs.catalyst.zoho.com/es/serverless/help/functions/job-functions/). > **Nota:** Asegúrate de ingresar el nombre del paquete o nombre de clase de la función exactamente como se indica porque el código de la aplicación contiene el mismo nombre. 1. Crea una carpeta para el proyecto en tu máquina local y navega hacia ella desde la terminal. 2. Inicializa un proyecto ejecutando el siguiente comando desde ese directorio: ```sh catalyst init ``` 3. Navega usando las **teclas de flecha**, selecciona tu portal preferido y presiona la tecla **Enter**. Si no tienes otras organizaciones asociadas con la cuenta, la predeterminada se seleccionará automáticamente. ![catalyst_tutorials_jobscheduling_cli_portl_choice](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_portl_choice.webp) > **Info:** Puedes obtener más información sobre la característica de portal multi-org de Catalyst en este [documento de ayuda](https://docs.catalyst.zoho.com/es/getting-started/catalyst-projects/#access-the-multi-org-portal). 4. El CLI ahora te pedirá asociar un proyecto de Catalyst con el directorio. Asócialo con el proyecto que creamos anteriormente desde la consola. Selecciona **BirthdayGreetings** de la lista y haz clic en **Enter**. ![catalyst_tutorials_jobscheduling_cli_project_choice](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_project_choice.webp) 5. Selecciona **Functions** y **Client** usando la **barra espaciadora**, luego haz clic en **Enter** para inicializar. ![catalyst_tutorials_jobscheduling_cli_func_client_sel](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_func_client_sel.webp) 6. El CLI iniciará la configuración de la función. Selecciona **Basic IO** como el tipo de función para codificar tu función de *Custom User Validation*. ![catalyst_tutorials_jobscheduling_cli_basicio_sel](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_basicio_sel.webp) 7. Selecciona el runtime más reciente de **Node.js** como el stack de la función. ![catalyst_tutorials_jobscheduling_cli_basicio_node_sel](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_basicio_node_sel.webp) 8. Ingresa "`basic_function`" como el nombre del paquete, "`index.js`" como el punto de entrada y tu dirección de correo electrónico como el autor, luego presiona **Enter**. Alternativamente, puedes presionar **Enter** sin ingresar datos para completar con los valores predeterminados. El CLI solicitará la inicialización de las dependencias de Node. Presiona **Y** para confirmar la instalación y presiona **Enter** para confirmar tu elección. Los módulos de Node serán instalados. ![catalyst_tutorials_jobscheduling_cli_basicio_cmpltd](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_basicio_cmpltd.webp) El CLI ahora iniciará la configuración del cliente. 9. Selecciona **React web app** y presiona **Enter** para inicializar tu cliente como una [React web app](https://docs.catalyst.zoho.com/es/cli/v1/initialize-resources/initialize-client/#react-applications). ![catalyst_tutorials_jobscheduling_cli_react_client_sel](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_react_client_sel.webp) 10. Selecciona **JavaScript** como el tipo de React app y presiona **Enter**. ![catalyst_tutorials_jobscheduling_cli_react_client_js_choice](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_react_client_js_choice.webp) 11. Ingresa "`birthdaygreetings`" como el nombre de tu paquete de cliente y haz clic en **Enter**. También puedes proporcionar cualquier nombre de tu preferencia. Ingresa "**y**" en el prompt para instalar los paquetes React requeridos, como "`react`", "`react-dom`" y "`react-scripts`." Estos paquetes se instalarán a través del plugin React de Catalyst ([`zcatalyst-cli-plugin-react`](https://www.npmjs.com/package/zcatalyst-cli-plugin-react)). ![catalyst_tutorials_jobscheduling_cli_react_client_name_dep_enter](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_react_client_name_dep_enter.webp) El cliente ahora ha sido inicializado exitosamente como una aplicación web React. ![catalyst_tutorials_jobscheduling_cli_react_client_cmpltd](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_react_client_cmpltd.webp) El [directorio del cliente](https://docs.catalyst.zoho.com/es/cli/v1/project-directory-structure/client-directory) será creado con la estructura estándar en el directorio del proyecto. Esta es la estructura actual del directorio del proyecto *Birthday Greetings*. ![catalyst_tutorials_jobscheduling_dir_cur](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_dir_cur.webp) Ahora, comenzaremos a inicializar la Advanced I/O Function y la Job Function usando el siguiente comando CLI en el directorio `BirthdayGreetings/functions/`: ```sh catalyst functions:add ``` Este [comando CLI](https://docs.catalyst.zoho.com/es/cli/v1/working-with-functions/add-functions/) activará la configuración de funciones y te permitirá agregar las funciones requeridas a tu directorio de proyecto. 1. Selecciona la función **Advanced IO** una vez que la configuración de funciones comience. ![catalyst_tutorials_jobscheduling_cli_func_add_advaced](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_func_add_advaced.webp) 2. Selecciona el runtime más reciente de **Node.js** como el stack de la función. ![catalyst_tutorials_jobscheduling_cli_func_add_advaced_node_sel](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_func_add_advaced_node_sel.webp) 3. Ingresa "`advance_function`" como el nombre del paquete, "`index.js`" como el punto de entrada y tu dirección de correo electrónico como el autor, luego presiona **Enter**. Alternativamente, puedes presionar **Enter** sin ingresar datos para completar con los valores predeterminados. El CLI solicitará la inicialización de las dependencias de Node. Presiona **Y** para confirmar la instalación y presiona **Enter** para confirmar tu elección. Los módulos de Node serán instalados. ![catalyst_tutorials_jobscheduling_cli_func_add_advaced_node_done](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_func_add_advaced_node_done.webp) La Advanced I/O function ha sido inicializada. Vamos a inicializar la Job Function usando el mismo comando CLI. ```sh catalyst functions:add ``` 1. Selecciona **Job** como el tipo de función una vez que la configuración de funciones comience. ![catalyst_tutorials_jobscheduling_cli_func_add_job_start](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_func_add_job_start.webp) 2. Selecciona el runtime más reciente de **Node.js** como el stack de la función. ![catalyst_tutorials_jobscheduling_cli_func_add_job_node_sel](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_func_add_job_node_sel.webp) 3. Ingresa "`dynamic_cron`" como el nombre del paquete, "`index.js`" como el punto de entrada y tu dirección de correo electrónico como el autor, luego presiona **Enter**. Alternativamente, puedes presionar **Enter** sin ingresar datos para completar con los valores predeterminados. El CLI solicitará la inicialización de las dependencias de Node. Presiona **Y** para confirmar la instalación y presiona **Enter** para confirmar tu elección. Los módulos de Node serán instalados. ![catalyst_tutorials_jobscheduling_cli_func_add_job_node_cmpltd](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_cli_func_add_job_node_cmpltd.webp) Todos los componentes de cliente y función requeridos han sido inicializados para tu aplicación. Esta es la estructura actual del directorio del proyecto: ![catalyst_tutorials_jobscheduling_dir_2](https://catalyst-docs-development.zohostratus.in/images/tutorials/birthday-greetings/catalyst_tutorials_jobscheduling_dir_2.webp)