All Projects → pietheinstrengholt → Rssmonster

pietheinstrengholt / Rssmonster

Licence: mit
Google Reader inspired self-hosted RSS reader written in VueJS with an Express NodeJS backend. RSSMonster is compatible with the Fever API.

Projects that are alternatives of or similar to Rssmonster

rss-for-the-rest-of-us
A simple RSS reader built on Laravel. For the rest of us.
Stars: ✭ 16 (-95.02%)
Mutual labels:  rss, rss-reader
Freshrss
A free, self-hostable aggregator…
Stars: ✭ 3,793 (+1081.62%)
Mutual labels:  rss, rss-reader
FeedReader
C# RSS and ATOM Feed reader library. Supports RSS 0.91, 0.92, 1.0, 2.0 and ATOM. Tested with multiple languages and feeds.
Stars: ✭ 221 (-31.15%)
Mutual labels:  rss, rss-reader
RssReader
vue + go 的在线 rss 阅读器
Stars: ✭ 13 (-95.95%)
Mutual labels:  rss, rss-reader
elfeed-score
Gnus-style scoring for elfeed
Stars: ✭ 33 (-89.72%)
Mutual labels:  rss, rss-reader
stupid-rss-reader
⊕ PWA RSS client on Angular 11
Stars: ✭ 43 (-86.6%)
Mutual labels:  rss, rss-reader
awesome-rss-feeds
Awesome RSS feeds - A curated list of RSS feeds (and OPML files) used in Recommended Feeds and local news sections of Plenary - an RSS reader, article downloader and a podcast player app for android
Stars: ✭ 114 (-64.49%)
Mutual labels:  rss, rss-reader
osmosfeed
Turn GitHub into an RSS reader
Stars: ✭ 839 (+161.37%)
Mutual labels:  rss, rss-reader
bubo-rss
An irrationally minimalist, static RSS feed reader you can instantly deploy on Netlify, Glitch or your own server.
Stars: ✭ 41 (-87.23%)
Mutual labels:  rss, rss-reader
NiceFeed
Android RSS feed reader and news aggregator
Stars: ✭ 74 (-76.95%)
Mutual labels:  rss, rss-reader
ttrss ynh
Tiny Tiny RSS package for YunoHost
Stars: ✭ 17 (-94.7%)
Mutual labels:  rss, rss-reader
baRSS
Menu Bar RSS reader for macOS
Stars: ✭ 39 (-87.85%)
Mutual labels:  rss, rss-reader
PythonistaRSSReader
A simple RSS reader for Pythonista.
Stars: ✭ 28 (-91.28%)
Mutual labels:  rss, rss-reader
Feed-on-Feeds
FeedOnFeeds is a lightweight server-based RSS feed aggregator and reader
Stars: ✭ 52 (-83.8%)
Mutual labels:  rss, rss-reader
RSS-to-Telegram-Bot
A Telegram RSS bot that cares about your reading experience
Stars: ✭ 482 (+50.16%)
Mutual labels:  rss, rss-reader
json-feed-viewer
The world's first JSON feed viewer 🥇
Stars: ✭ 40 (-87.54%)
Mutual labels:  rss, rss-reader
vue-rss-feed
Embed RSS Feeds in your Vue web app
Stars: ✭ 37 (-88.47%)
Mutual labels:  rss, rss-reader
zenreader
Makes your M5Paper an E-ink RSS Reader with built-in Reader mode, to solve annoyances with the Kindle Experimental browser.
Stars: ✭ 87 (-72.9%)
Mutual labels:  rss, rss-reader
webfeed
A dart package for parsing RSS & Atom feed
Stars: ✭ 92 (-71.34%)
Mutual labels:  rss, rss-reader
RSSnotifier
Node RSS reader telegram bot. Provides notification on queries-matching elements and supports multiple users.
Stars: ✭ 15 (-95.33%)
Mutual labels:  rss, rss-reader

RSSMonster

Build Status License

Copyright (c) 2019 Piethein Strengholt, [email protected]

RSSMonster is an easy to use web-based RSS aggregator, created as an alternative for Google Reader. RSSMonster features a lightweight fluid responsive design. The font-end has been written in JavaScript (VueJS) and the back-end in Express (NodeJS). It also uses the Twitter Boostrap framework. Several features are implemented such as marking as read when scrolling, drag and drop style manage feeds, json events, etc. RSSMonster is compatible with the Fever API. Feel free to add any contributions or new features.

Screenshot

Prerequisites

  • NodeJS 10.x
  • Git
  • A Mysql installation (other databases will also work with a bit of configuration)

How to get everything installed

  • Clone this repository git clone https://github.com/pietheinstrengholt/rssmonster.git .
  • Run npm install in both the client and server folder
  • Find the .env.example file in the root of both the client and server folder. Copy and rename the files to .env
  • Edit .env inside the server folder and enter your Mysql or Database server login data (at least fill DB_DATABASE, DB_USERNAME and DB_PASSWORD).
  • Edit .env inside the client folder. Change the VUE_APP_HOSTNAME so it points to the back-end.
  • Run ./node_modules/.bin/sequelize db:migrate && ./node_modules/.bin/sequelize db:seed:all in side the server folder. this will add all needed database tables and content to your mysql database. Alternatively you can also uncomment the //force: true in the app.js inside the server folder to create the schema structure.

Development

If you would like to run RSSMonster in development mode I recommend to run:

  • Inside the client folder: npm run serve.
  • Inside the server folder: npm run start.

Production

If you would like to run RSSMonster in production mode I recommend to run:

  • Update the VUE_APP_HOSTNAME inside the file client/.env. Most likely you want to remove port 3000 and point to the url where the backend will be running.
  • Inside the client folder build all the static files with: npm run build.
  • Move the dist output folder created inside the client folder to the server folder. The NodeJS server is also capable of serving out static content.
  • Inside the server folder: npm run start.

Docker for development

  • Run the following command to build all the images: docker-compose build
  • Run the following command to start the containers: docker-compose up
  • The client will be running on port 8080 and communication with the backend takes place via 3000. Make sure these ports aren't being used. The mysql database is accessible via port 3307.

Docker for production

The production version has the server and client combined into a single container. The VueJS is also compiled into an optimized version. To build this single image, run the following command: docker build . Lastly you need to run the docker container. You need to provide the correct environment variables for the database server to connect to. Here's is an example: docker run -d -t -i -e NODE_ENV=production -e DB_HOSTNAME=localhost -e DB_DATABASE=rssmonster -e DB_USERNAME=rssmonser -e DB_PASSWORD=password -p 3000:3000

AWS Beanstalk

  • Setup your AWS Security credentials: https://docs.aws.amazon.com/general/latest/gr/aws-sec-cred-types.html
  • Download and install the Beanstalk CLI: https://docs.aws.amazon.com/elasticbeanstalk/latest/dg/eb-cli3.html
  • Run the following command: eb init
  • Select your region and use the aws-access-id & aws-secret-key from step 1.
  • Provision a new environment: eb create rssmonster-app --envvars "NODE_ENV=production" --database --database.engine mysql --database.username rssmonster --database.password "fvX2Ht8jXxXEYlZ6"
  • SSH into the new environment: eb ssh rssmonster-app
  • Migrate the database content: /app/server/node_modules/.bin/sequelize db:migrate && /app/server/node_modules/.bin/sequelize db:seed:all

Reeder (iOS) integration support (via Fever API)

RSSMonster is compatible with the Fever API. Apps like Reeder (iOS) will support this. To use the Reeder API (http://feedafever.com/api), point to the following url:

http://yourRSSMonsterurl/api/fever

Any username and password will work.

Screenshot Fever

Credits

The following scripts and plug-ins are used within RSSMonster

TODO

  • Change dist location when building VueJS to ../../server
  • Implement settings (default category on initial load, ASC or DESC sort, etc.)
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].