Giter VIP home page Giter VIP logo

ugly's Introduction

Ugly Reader

The ugliest Google Reader replacement on the market.

Take a look at the live demo or feel free to run your own version locally.

Installation & Setup

First off, you'll need a Postgres server running somewhere and your web user should have read and write access to a fresh database.

If you have a sane Python environment on your server, create a virtual environment and then do the usual

pip install -r requirements.txt

Then, you'll need to sign up as a Google OAuth app using the Google API Console and save your client ID and secret to a Python file with the following syntax:

GOOGLE_OAUTH2_CLIENT_ID = "<your client ID>"
GOOGLE_OAUTH2_CLIENT_SECRET = "<your client secret>"

The other options that you can set are shown in the default settings file ugly/default_settings.py. Make sure that you change your secret keys and double check that the Postgres URI points to the right server and database. Then, to build the needed database tables, launch Python and run (if your custom settings file is saved as local.py):

from ugly import create_app
from ugly.database import db
from ugly.models import *

db.create_all(app=create_app("local.py"))

The web app itself is built using Flask and it lives in ugly/__init__.py. For an example of how to run the app using a configuation saved to local.py, take a look at run_application.py.

Finally, you'll need to run a cronjob to update the feeds and deliver any updates to your Gmail accounts. This is implemented in the uglyd executable. You should include the command line flag --config /path/to/local.py indicating the path of your local settings file. I've found that running every 15 minutes seems to work pretty well. Log all the things.

License

Copyright 2013 Dan Foreman-Mackey.

Ugly Reader is licensed under the MIT license (see LICENSE).

ugly's People

Contributors

dfm avatar

Watchers

James Cloos 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.