Backend rewrite

Requirements

  • Store/Save entries
  • Metadata on entries
  • Last refreshed per channel
  • Split up the data file, currently one huge file.
Store/Save entries

Entries are now discarded when they are no longer part of the feed. In order for metadata and search on entries to be useful it must be possible to tag an entry to keep it even after it's been removed from the feed.
Should also make it possible to say how many entries that should be stored.

Metadata on entries

A way to add for example a keyword on an entry would be really useful, especially in combination with search.

Last refreshed per channel

Currently all channels are refreshed on the refresh timeout, what should be done is that each minute all channels are checked if their last refreshed value is more than the refresh timeout minutes, if so refresh. This will also make sure that we refresh all feeds on startup if we haven't had the application running for a while.

Split up the data file

In order to make the data file a bit better splitted each channel will get it's own datafile. This way those files only has to be read on opening a certain channel instead of reading in all entries on application startup. Will also make the overall memory used lower since only the entries of the current channel will have to be kept in memory.

Feed Categories

In order to facilitate to people who have a lot of feeds, a category system could be done and the feeds would be organized in category folders. In there were recursive categories would be even better.