/airtng-node

AirTNG - Rental-by-owner properties fit for a Captain, implemented with Node.js and Express

Primary LanguageJavaScript

Twilio

AirTNG App: Part 1 - Workflow Automation with Twilio with Node.js and Express

Build Status

Learn how to automate your workflow using Twilio's REST API and Twilio SMS. This example app is a vacation rental site, where the host can confirm a reservation via SMS.

Read the full tutorial here!

Local Development

  1. You will need to configure Twilio to send requests to your application when SMS are received.

    You will need to provision at least one Twilio number with sms capabilities so the application's users can make property reservations. You can buy a number right here. Once you have a number you need to configure your number to work with your application. Open the number management page and open a number's configuration by clicking on it.

    Remember that the number where you change the SMS webhook must be the same one you set on the TwilioPhoneNumber setting.

    Configure Voice

    To start using ngrok in our project you'll have to execute to the following line in the terminal.

    ngrok http 3000

    Keep in mind that our endpoint is:

    http://<your-ngrok-subdomain>.ngrok.io/reservations/handle
    
  2. This sample application stores data in a MongoDB database using Mongoose. You can download and run MongoDB yourself (OS X, Linux, Windows).

    On OS X, maybe the easiest way to get MongoDB running locally is to install via Homebrew.

    brew install mongodb

    You should then be able to run a local server with:

    mongod
  3. Clone this repository and cd into it.

    git clone git@github.com:TwilioDevEd/airtng-node.git
    cd airtng-node
  4. Install the dependencies.

    npm install
  5. Copy the sample configuration .env.example to .env, and then edit .env to match your configuration.

cp .env.example .env

You can find your TWILIO_ACCOUNT_SID and TWILIO_AUTH_TOKEN in your Twilio Account Settings. You will also need a TWILIO_PHONE_NUMBER, which you may find here.

Once you have edited the .env file, if you are using a UNIX operating system, just use the source command to load the variables into your environment:

source .env
  1. Run the application.
npm start
  1. Check it out at http://localhost:3000

That's it!

To let our Twilio Phone number use the callback endpoint we exposed, our development server will need to be publicly accessible. We recommend using ngrok to solve this problem.

Run the tests

You can run the tests locally by typing

npm test

Meta

  • No warranty expressed or implied. Software is as is. Diggity.
  • MIT License
  • Lovingly crafted by Twilio Developer Education.