Pick a blog/news site to catch up on so you don't feel like you need to read everything on the internet
- On schedule get all the sites concurrently
- Log the failures
- Log the success and hash the body of the site
- Update the hashes of the sites
- Order by Hit desc
- Find the n number of records that were recently changed (based on modified date)
- Display the n records that are chosen
- Update the n records Hit count
Method |
Endpoint |
Query |
Request Body |
Reponse Body |
Success Code |
Failures |
Description |
POST |
/v1/user/{userID} |
- |
{"username": string} |
[{"userId": "string"}] |
200 |
400 409 |
Create account |
PUT |
/v1/user/{userID}/login |
- |
{"username": string} |
[{"userId": "string"}] |
200 |
400 404 |
Login |
POST |
/v1/user/{userID}/blog |
- |
{"source": string} |
- |
204 |
400 409 |
Add a new blog source |
GET |
/v1/user/{userID}/blog/choose |
n=int |
- |
[{"url": "string"}] |
200 |
400 404 |
Get n blog urls to read |
Name |
Type |
Description |
Source |
string |
The URL to the site. It's the primary key |
Hash |
string |
The hash of the webpage |
Multiplier |
float |
Increase the chance of it being picked |
CreatedDate |
date |
When the record was created |
ModifiedDate |
date |
When the record was modified |
Hit |
int |
Number of times this record was picked |
UserId |
string |
The user token this is associated with |
Name |
Type |
Description |
Email |
string |
The user's email address |
UserId |
string |
A UUID. It's the primary key |
CreatedDate |
date |
When the record was created |
ModifiedDate |
date |
When the record was updated |