https://github.com/flysteur-dev/pager
Minimalist serverless RSS reader (PWA, React, CouchDB, Web worker, Offline persistance, Docker)
https://github.com/flysteur-dev/pager
couchdb docker indexdb offline-first pwa reactjs rss-reader webworkers
Last synced: 6 months ago
JSON representation
Minimalist serverless RSS reader (PWA, React, CouchDB, Web worker, Offline persistance, Docker)
- Host: GitHub
- URL: https://github.com/flysteur-dev/pager
- Owner: flysteur-dev
- Created: 2019-04-20T17:32:08.000Z (over 6 years ago)
- Default Branch: master
- Last Pushed: 2023-04-30T23:50:00.000Z (over 2 years ago)
- Last Synced: 2024-08-13T03:04:29.947Z (over 1 year ago)
- Topics: couchdb, docker, indexdb, offline-first, pwa, reactjs, rss-reader, webworkers
- Language: JavaScript
- Homepage: https://flysteur-dev.github.io/pager/
- Size: 3.15 MB
- Stars: 19
- Watchers: 3
- Forks: 2
- Open Issues: 6
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
Pager
[](https://cypress.io)
## Demo
[**Try it**](https://flysteur-dev.github.io/pager/) with your mobile phone or desktop browser.
Want to keep it? Add it to your dashboard!
Important: This demo is using [cors-anywhere](https://github.com/Rob--W/cors-anywhere) and may not be working or subject to usage restriction. (Not working anymore please refer to [#301](https://github.com/Rob--W/cors-anywhere/issues/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
## 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](https://github.com/bobby-brennan/rss-parser) : A small library for turning RSS XML feeds into JS objects.
- [pouchdb](https://github.com/pouchdb/pouchdb) : JS database to work offline and inspired by [CouchDB](http://couchdb.apache.org/)
** The Web App requires at least a reverse proxy to get around CORS restriction to fetch feed over another domain.
## Roadmap
- [x] Offline
- [x] Feed subscription
- [x] Web App
- [x] Read article in viewer
- [x] Media sharing (require chrome 74 or fallback to clipboard)
- [x] Adding article to favorite
- [x] Multi view option (compact, large)
- [x] Dark mode
- [ ] Keyboard shortcuts
- [ ] Web worker to refresh feeds in background
- [ ] Syncing using couchDB
- [ ] Desktop app using electron (WIP: electron branch)
## Self hosted
[](https://heroku.com/deploy?template=https://github.com/flysteur-dev/pager)
```sh
// WITH DOCKER (< 25 Mo)
//
git clone git@github.com: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
```
```sh
// WITHOUT DOCKER
//
git clone git@github.com: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](https://github.com/flysteur-dev/pager/releases)
## Contributing
If you find this project useful, we'd appreciate any contribution!
You can also check [project page](https://github.com/flysteur-dev/pager/projects/1) to find something to start.