Skip to content
Based on XKCD webcomic #1871, this is an alert system, relying on AWS SNS, to notify subscribers of the existence of a Bun.
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
html
static
.gitignore
README.md
bunalert.py
requirements.txt
zappa_settings.json

README.md

BUN ALERT

Bun Alert Logo

Based on XKCD webcomic #1871, this is an alert system, relying on AWS SNS, to notify subscribers of the existence of a Bun. A live demo is available at:

https://bunalert.jgreenemi.com/

The build details on this project are covered in the "Bun Alert: An Afternoon XKCD Project" blog post.

Please note that as of 2018/01/29 the live implementation of Bun Alert is not being used to send out alerts, so if you never get any messages do not be surprised. All subscribers have been removed from the service while it is no longer actively in use. This may change at any time in the future.

Existing Features

  • Subscribe for push notifications on your mobile device for the existence of a Bun.
  • Alerts include a general location description.

Possible Future Features

  • Include photo with notification. If not possible, a Bun emoji will suffice.
  • Include location coordinates for the Bun, in case subscriber is nearby and wishes to see the Bun.
  • Enable scheduled "Do Not Disturb" hours.
  • Include Bun rank. This will need to be better defined before implementation.

Deployment Notes

Set up your local environment with:

$ git clone https://github.com/jgreenemi/BunAlert.git
$ cd BunAlert
$ virtual env
$ source env/bin/activate
(env) $ pip install -r requirements

Deploying the package:

# The initial deployment is done with:
$ zappa deploy dev

# That makes a lot of resources in your AWS account (Lambda, API Gateway, etc.).
# Update it with:
$ zappa update dev

SNS is used for the PubSub parts of the alert system. The /subscribe Flask route handles the subscription of new numbers for the SMS messages to be sent, and /alert is used for pushing messages to the SNS Topic. The endpoint for the service is served out by API Gateway, fronting the Lambda function with our code in it.

Reference

You can’t perform that action at this time.