# Creating a user consent application using the Node SDK ## Set up your Node.js application ### Creating the project Now, we'll create a Node.js project using npm. This creates a `package.json` file and the core dependencies necessary to start coding. To create the project: 1. Navigate to the folder in which you'd like to store your project. 2. Create a folder called `sinch-user-consent`. 3. Create the following directory structure: ```shell sinch-user-consent index.js ``` 4. Run the command: ```shell npm init ``` This command adds the `node_modules` folder and the `package.json` file. You will be prompted to provide values for the fields. For this tutorial, you can simply accept the default values and press enter at each stage. ### Installing the SDK You can install the Sinch Node.js SDK using either [NPM](https://www.npmjs.com/) or [Yarn](https://yarnpkg.com/): NPM ```shell npm install @sinch/sdk-core ``` Yarn ```shell yarn add @sinch/sdk-core ``` ### Fastify Fastify is a lightweight webserver that we will use to respond to webhooks. Install Fastify with the command: ```shell npm install fastify ``` ### Installing ngrok If you successfully completed the *Receive an SMS Message* guide, you'll have used ngrok to set up a tunnel to your local server. Install ngrok with the command: ```shell npm install ngrok -g ``` If you haven't already, set up a free account with ngrok. Now we've installed everything we need, we can start creating the application. ### Collecting information to initialize the client On the next page, you'll need to intialize the SDK. Before initializing a client using this SDK, you'll need three pieces of information: - Your Project ID - An access key ID - An access key Secret These values can be found on the [Access Keys](https://dashboard.sinch.com/settings/access-keys) page of the Sinch Build Dashboard. You can also [create new access key IDs and Secrets](https://community.sinch.com/t5/Conversation-API/How-to-get-your-access-key-for-Conversation-API/ta-p/8120), if required. Note If you have trouble accessing the above link, ensure that you have gained access to the [Conversation API](https://dashboard.sinch.com/convapi/overview) by accepting the corresponding terms and conditions.