Giter Site home page Giter Site logo

flysteur-dev / pager Goto Github PK

View Code? Open in Web Editor NEW
19.0 3.0 2.0 3.22 MB

Minimalist serverless RSS reader (PWA, React, CouchDB, Web worker, Offline persistance, Docker)

Home Page: https://flysteur-dev.github.io/pager/

HTML 1.27% JavaScript 74.94% Dockerfile 1.72% SCSS 22.07%
reactjs pwa couchdb offline-first docker indexdb rss-reader webworkers

pager's Introduction

Pager logo

Pager

Cypress.io tests

Demo

Try it with your mobile phone or desktop browser.
Want to keep it? Add it to your dashboard!

Important: This demo is using cors-anywhere and may not be working or subject to usage restriction. (Not working anymore please refer to #301)
Prefer using the docker image, who is using a built in nginx reverse proxy to get around of CORS restriction, see instruction below.

Screenshots

feed list embedded viewer feeds dark feed list dark embedded viewer sharing desktop dark desktop

Why ?

"Read and Run Everywhere.."

Pager wants to be a very very minimalist multi-platform rss reader.
It will ever only use web technologies and will stay as much as possible serverless** with business logic in the client side.
Optionnally (later) it will offer syncing option to share feeds between instances (desktop, mobile, etc..)

Pager doesn't have many dependencies and aims to keep code understandable.

Main dependencies (thanks to) :

  • rss-parser : A small library for turning RSS XML feeds into JS objects.
  • pouchdb : JS database to work offline and inspired by CouchDB

** The Web App requires at least a reverse proxy to get around CORS restriction to fetch feed over another domain.

Roadmap

  • Offline
  • Feed subscription
  • Web App
  • Read article in viewer
  • Media sharing (require chrome 74 or fallback to clipboard)
  • Adding article to favorite
  • Multi view option (compact, large)
  • Dark mode
  • Keyboard shortcuts
  • Web worker to refresh feeds in background
  • Syncing using couchDB
  • Desktop app using electron (WIP: electron branch)

Self hosted

Deploy

// WITH DOCKER (< 25 Mo)
//
git clone [email protected]:flysteur-dev/pager.git

// Install
cd pager

// Build the docker container
docker build --tag=pager .

// Run
docker run --env PORT=80 -p 3000:80 pager
open http://localhost:3000
// WITHOUT DOCKER
//
git clone [email protected]:flysteur-dev/pager.git

// Install
cd pager
npm install

// Update constants
edit PROXY_PATH in /src/Helpers/Constants.js to "https://cors-anywhere.herokuapp.com/"

// Run
npm start
open http://localhost:3000

Changelog

Check out the release page

Contributing

If you find this project useful, we'd appreciate any contribution!
You can also check project page to find something to start.

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.