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.
- Subscribe for push notifications on your mobile device for the existence of a Bun.
- Alerts include a general location description.
- 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.
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.