A simple RSS Client Server application. The Rue server component will runs in the background on the user's computer, or on a remote server locations. Client applications can connect to the server using a simple API. This creates a simple solution for maintaining rss feeds in a central location, and viewing them in all sorts of reader clients (web, mobile, command line).
A config file can be provided to provide rue with specific information. The
config should be a yaml
file named config.yaml
, and can be located at
either ~/.config/rue/config.yaml
, /etc/rue/config.yaml
, or the current
directory (./config.yaml
).
Example Config:
db:
src: "test-db.db" # The realitive location to store the databse file
feed_sources: # Defines new Feed Sources to add
me: # Each sub-item defines a Feed Source Category
# Below that, each item is a feed url in that category
- "http://ryan.himmelwright.net/post/index.xml"
fedora:
- "https://fedoramagazine.org/feed/"
Server: The main server component is written in go. Currently in Development.
curl -X POST http://localhost:8080/get-all-feeditem-data
curl -X POST -d "{\"URL\":\"http://ryan.himmelwright.net/post/index.xml\"}" http://localhost:8080/get-all-feeditem-data
curl -X POST -d "{\"URL\":\"http://ryan.himmelwright.net/post/index.xml\", \"Category\": \"Deveopment\"}" http://localhost:8080/add-feed
-
Write DB component
-
Feed Scraper Component
-
Basic API Setup
- Implement API Calls for client applications
- Add Feed Source
- Delete Feed Source
- Get feedStore
- Edit Feed Source [Category]
- Update All Feed Sources
- Get Feed Item Data
- Get All Feed Item Data from a Feed Source
- Mark Feed Item Read
- Mark Feed Item Unread ...
- Standardize all API returns ... And more I can't think of at the top of my head
- Implement API Calls for client applications
-
Setup Preferences System?
- Load Preferences
- Create Default Preferences if Missing
- Define config options and values
- Update system to get values from config during run
- DB file location default or from config
- Feed Sources listed in config file
- Optional Integrations loaded if if config file ...
-
Integrations
- Pocket
- Authenticate with Pocket
- Import Feed Items into pocket list
- Only New items in DB
- Remain in DB if failed import
- Pocket
-
Authentication System ...
-
Project Build
- Properly organize application
- Determine build steps
- Write build instructions