hnnotifications

command module
v0.0.0-...-7c7febc Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 12, 2016 License: BSD-3-Clause Imports: 24 Imported by: 0

README

HN Notifications Build Status

This project is temporarily discontinued. I need to find a suitable transactional email provider to substitute Mandrill (they decided to stub developers in the back) and possibly port the app to Google Cloud infraestructure

Get an email as soon as a Hacker News story matches your custom criteria.

HN Notifications is a simple web service to fetch Hacker News items, and deliver email notification to its subscribers. This small project has mainly been used to play around with Go and MongoDB, and although the current status is fully functional, there are a few things to polish up. So please, feel free to contribute!

How it works

In a nutshell, the notification process runs every 15 minutes, getting the top 100 HN items (via the official Firebase API), and delivers an email to the corresponding users subscribed to the service. This implementation does not make use of the Live Data feature of Firebase, which would in turn be more efficient.

Authentication mechanism is currently minimalist: any configuration in the subscription settings is confirmed through a verification email. Therefore no username or password is required.

Getting started

You'll need Go (1.3+) and MongoDB:

  • Install Go and MongoDB.
  • Some packages are managed with Mercurial or Bazaar. Ensure you have both bzr and hg installed in your path: http://mercurial.selenic.com/, http://wiki.bazaar.canonical.com/Download.
  • Install dependencies, and build the app: go get & go build.
  • Start MongoDB: mongod [options].
  • Copy the sample config file config.json.sample into a new file config.json, under the same directory, and edit this file according to your system configuration (mongodb address and credentials, SMTP setup, etc).
  • Run the app: ./hnnotifications.

The server will now be listening on the port specified in the config file (3000 by default): http://localhost:3000/.

License

This software is distributed under the BSD-style license found in the LICENSE file.

Documentation

The Go Gopher

There is no documentation for this package.

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL