Giter Club home page Giter Club logo

hnnotifications's Introduction

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.

hnnotifications's People

Contributors

ichinaski avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.