A gateway for various cloud notification services https://github.com/quixoftic/pinpon#readme
|Latest on Hackage:||0.2.0.2|
This package is not currently in any snapshots. If you're interested in using it, we recommend adding it to Stackage Nightly. Doing so will make builds more reliable, and allow stackage.org to host generated Haddocks.
pinpon is a silly little service that implements an
Internet-enabled doorbell in Haskell, using
Amazon Simple Notification Service to notify
subscribers that the button has been pushed. Effectively, it's a
simple REST service which, when
POSTed to, will send a notification
to an SNS topic. You can then build a client application which
subscribes to that topic and notifies the user when the doorbell has
been pressed. No such client application is included in the
package, but an iOS app may be made available at some point in the
The package provides a
pinpon-gpio executable, intended for use on
Linux systems with GPIO functionality. When the specified GPIO pin is
triggered (e.g., via a momentary switch such as
POST a notification to the specified
Why not simply build the Amazon SNS functionality into the
pinpon-gpio executable and eliminate the
pinpon REST service?
Chiefly because the host system running the
may be particularly vulnerable to physical attacks (after all, it is
presumably hooked up to a doorbell button that is exposed in a public
space). I did not feel comfortable storing my Amazon AWS credentials
on such a device, nor even allowing such a device to communicate
directly with the public Internet. By proxying the AWS access via a
more physically secure host running the
pinpon server on my internal
network, I can better protect my AWS credentials and limit network
access on the GPIO device to just the
Fix hlint 2.1 issue.
Fix a bounds typo in package.yaml.
Bump hlint upper bound.
This package now uses Protolude.
Switch to hpack.
We only support GHC 8.0.2 and 8.2.2 now.
test-hlintcabal flag is now disabled by default.
Updated copyright year.
Much improved Nix support, including a default fixed nixpkgs revision, Hydra jobsets, and Nix/Hydra builds against LTS package sets.
All dependencies should now have PVP bounds.
swagger.jsonmust be a
data-filefor Stack tests.
Remove an unused
mellon-coredependency from stack.yaml.
Requires Servant 0.11+.
Other minor fixes.