readme
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
todo [ ] GET /discover (similar to sourcehut's "featured projects") [ ] GET / logged out: describe what vore is & why it's cool, tell ppl to sign up discover (list of top20 most popular feeds on vore) logged in: discover (list of top20 most popular feeds on vore) [x] GET /login form (existing account): username & password form (new account): username & password built & maintained by jes [x] POST /login success: add session cookie redirect to /{username} fail: log an existing user in, add session cookie, redirect to /{username} login failure, redirect to /login [x] POST /logout delete session cookie if exists redirect to / TODO: expire session_token from db eventually [x] POST /register success: add session cookie redirect to / fail: update add new user & hashed password to database register failure: redirect to /login TODO: validate user input [ ] GET /feeds > if no feeds, /discover for ideas pretty-print your feeds <text box with pre-populated list of your feed urls, one per line> button: validate POST /feeds/validate logged out: unauthorized. click here to login. [ ] POST /feeds/validate make sure each url is resolvable check if feed exists in db already if it does, do nothing if it doesn't, attempt fetching it TODO: validate that title exists redir -> /feeds/validate logged out: 401 unauthorized [ ] GET /feeds/validate shows feed diff "if this all looks correct, hit submit:" button: submit POST /feeds/submit logged out: 401 unauthorized [ ] POST /feeds/submit writes desired feeds to database subscribes user to feeds redir -> /feeds logged out: 401 unauthorized [ ] GET /{username} display a users feed items by date, maybe in a table? -> there is a button to view the feed an article came from extra: tool for looking up feed from website background: fetch feeds every ~90m headers unauth'd: login auth'd: my feeds | login sql user (id, username, password, session_token, created_at) feed (id, url, fetch_error, created_at, created_by) subscribe (id, user, feed, created_at, created_by)