Skip to content

tdryer/kiloreader

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

23 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

KiloReader

KiloReader is a single-user feed reader. It's in a very early stage of development, but the most basic functionality is working.

screenshot

KiloReader consists of:

  • server providing a REST API
  • written in Python
  • uses Tornado web server
  • uses python-feedparser to download and parse feeds
  • uses SQLAlchemy and SQLite to store feeds and entries
  • web frontend for the API
  • written in Javascript
  • uses the AngularJS framework

Usage

Doing the following in a virtualenv is recommended.

Python 2.7 is required. Install some extra dependencies which are required to build the lxml package:

sudo apt-get install python-dev libxslt1-dev libxml2-dev zlib1g-dev build-essential

Install KiloReader's requirements:

pip install -r requirements.txt

Run the functional tests:

python -m backend.test.functional

Currently the only way to use KiloReader is with the development server, which requires installing blackjid/tape (outside the virtualenv) to provide a simple reverse-proxy server.

Run the development server:

./develop.sh

Navigate to http://localhost:8080 to use the web frontend.

Major todos:

  • periodic feed fetching while respecting cache headers
  • nicer frontend that's optimized for mobile
  • feed fetching in worker processes
  • pagination support
  • unit tests and better functional tests
  • production deployment method with authentication