/open-data-notifications

Configure notifications for a variety of open data sources

Primary LanguageJavaScriptMIT LicenseMIT

Open Data Notifications

This Node.js web application, designed to be deployed on Heroku, is intended to be a general purpose notification system for open data sources. Subscribers should be able to configure notifications based on queries that will be periodically run by the system.

open data notifications diagram

For the MVP of this project, we'll be creating a notification system for legislation using the data from the Open States API.

Contributing

This project is in early development and lots of code is still to be written - please register and join our Slack team to participate, collaborate, and clarify requirements. Our first objective is to create the SMS bot interface for subscribing for Bill updates in a state, and from there we will move on to other interfaces and data sources.

The issues section of the repository is where we are tracking the major workflows. If you'd like to work on one of those issues, please comment to that effect and let us know in Slack.

Also, feel free to add new issues for smaller tasks you'd like to independently identify and work on.

Note that contributing to this project requires that you adhere to our code of conduct.

Local Development

Prerequisites

Ensure that the following software is installed on your system:

Configuration

You will require an Open States API key, which you can obtain here.

To configure your own local project:

cp config/default.js conig/local.js

Edit config/local.js file for local settings. Most values will not need custom configuration, and can be removed. But for any APIs you intend to use, you'll need to obtain your own credentials.

Running the project

Install the projects dependencies with:

npm install

You can start a development server on localhost:3000 with:

npm start

Running the tests

You can run the project's test suite with:

npm test

Production Deployment (Heroku)

Push-Button Deployment

Deploy

Command Line Deployment

To run this application on Heroku, you will need to install the Heroku CLI. You can create a new application for the project with:

heroku create <your desired name>

From there, you should be able to deploy immediately with:

git push heroku master

Once (or before) the app is deployed, you'll need to set the necessary environment variables for the application. Reference config/default.js for all necessary values, but it will require this command.

heroku config:add OPENSTATES_API_KEY=your key here

License

MIT