mail based rss feed aggregator
2
fork

Configure Feed

Select the types of activity you want to include in your feed.

update readme todos to reflect the current state

ollie bf367e15 aa8d83c4

+5 -44
+5 -44
README.md
··· 14 14 15 15 ### TODO (backend) 16 16 17 - - [x] parse rss feeds 18 - - [x] email sending 19 - - [x] `fetcher_factory`_supervisor 20 17 - [x] feed `fetcher` actor per feed 21 - - [x] fetch feed using database records 22 18 - [x] fetch all feeds periodically 23 19 - [ ] persist time-to-check to database so the actor restarting doesnt preemptively fetch the feed again 24 - - [x] (pub-sub) send feeds to user actors 25 20 - [x] incremental timeouts on failure 26 21 - [ ] test that 27 22 - [ ] delete feed after too many failures, notify subscribed users 28 - - [x] make sure they get published in the order they were posted in 29 - - [x] `sender_factory`_supervisor 30 23 - [x] `sender` actor per user 31 - - [x] spawn on startup 32 - - [x] (pub-sub) receive new items from fetcher 33 - - [x] check feed against sent items in database 34 - - [x] send new items to user 35 - - [x] success: persist success to db 36 - - [x] failure: inremental timeout 37 - - [ ] test that 24 + - [x] failure: inremental timeout 25 + - [ ] test that 38 26 - [ ] custom `logging.configure` 39 27 - [ ] log info about supervision status 40 28 - [ ] ewe logs 41 29 42 - - [ ] backend manager 43 - - [ ] TESTING THIS 44 - - [x] `backend.new_subscription(backend_name, user, feed)` 45 - - [x] save new subscription to database 46 - - [x] notify responsible sender 47 - - [ ] notify through manager instead of pubsub 48 - - [x] start sender if not running 49 - - [x] start fetcher if not running 50 - - [x] `backend.remove_subscription(backend_name, user, feed)` 51 - - [x] delete from database 52 - - [x] notify sender 53 - - [ ] notify through manager instead of pubsub 54 - - [x] if noone is subscribed anymore 55 - - [x] remove feed from database 56 - - [x] stop fetcher 30 + - [x] backend manager 57 31 - [ ] `backend.status(backend_name)` 58 32 - [ ] fetcher data 59 33 - [ ] time till next fetch ··· 61 35 - [ ] sender data 62 36 - [ ] status ok / issues 63 37 - [ ] maybe mails sent? (we do have this data) 64 - - [x] `backend.restart_feed(backend_name, feed)` 65 - - restart the fetcher for this feed 66 - - [x] `backend.refetch(backend_name, feed)` 67 - - trigger early fetching of a given feed 68 - - [x] `backend.restart_user(backend_name, user)` 69 - - restart sender for this user 70 - - [x] `backend.find_feed(backend_name, uri) -> Result(rss.Location, Nil)` 71 - - [x] check database 72 - - [x] found -> found `rss.Location` 73 - - [x] not found -> `rss.new_location` 74 - - [x] db_error -> Nil 75 - 76 - 77 38 78 39 --- 79 40 ··· 91 52 - [ ] tests 92 53 - [ ] sessions? 93 54 - [ ] user ui 94 - - [ ] configure rss feeds to track per user 95 - - [ ] create / delete fetchers and sender accordingly 55 + - [x] configure rss feeds to track per user 56 + - [x] create / delete fetchers and sender accordingly 96 57 - [ ] change password 97 58 - [ ] update feed subscriptions in database 98 59 - [ ] admin panel?