Automatic Events Webhook Demo App
A node.js app to demonstrate the use of webhooks with the Automatic Events API. It maps real-time events on a map.
This app listens to events for all authorized users of this app via a webhook URL. It then sends each logged-in user's events to their browser via a websocket connection. The result is that each user sees a realtime stream of their own vehicle events on a map.
The app is designed responsively to work well in mobile browsers.
A version of this application is available at https://automatic-events-webhook-demo.herokuapp.com.
One-Click deploy to Heroku
Click this button to instantly deploy this app to Heroku. You'll need an Automatic client ID and secret.
After deploying, you will need to use the Automatic Developer Apps Manager to set your application's redirect URL and webhook URL to match the Heroku app name you selected when deploying. For instance, if you name your app
automatic-test in Heroku your redirect URL should be
https://automatic-test.herokuapp.com/redirect and your webhook URL should be
https://automatic-test.herokuapp.com/webhook. Note that the URLs must start with
Install node and gulp
brew install node npm install gulp -g
Install required packages from NPM and Bower:
This will also grab frontend packages needed from bower and put them in
Configure your client id and client secret
Copy the file
config.json and add your Automatic client id and client secret. Alternatively, create environment variables named
Get a mapbox access token and add it to the top of the
Run the app
DEBUG=automatic-events-webhook-demo gulp develop
View the app
localhost:3000 in your browser.
Testing locally, skipping OAuth
You can test locally as a logged in user, bypassing OAuth by including an
USER_ID when running the app.
DEBUG=automatic-events-webhook-demo USER_ID=<YOUR_USER_ID> TOKEN=<YOUR-AUTOMATIC-ACCESS-TOKEN> gulp develop
If you have the heroku toolbelt installed, you can create, configure and deploy this app to Heroku. To create an app:
If you already created an app, add it as a git remote:
git remote add heroku YOUR-HEROKU-GIT-URL
Configure the heroku app's environment variables:
heroku config:add AUTOMATIC_CLIENT_ID=<YOUR AUTOMATIC CLIENT ID> heroku config:add AUTOMATIC_CLIENT_SECRET=<YOUR AUTOMATIC CLIENT SECRET> heroku config:add SESSION_SECRET=<YOUR SESSION SECRET>
Deploy your app to heroku:
git push heroku master
See deploying a node.js app for more information.
Please write to firstname.lastname@example.org if you have any questions or need help.
This project is licensed under the terms of the Apache 2.0 license.