42 lines
1.2 KiB
Markdown
42 lines
1.2 KiB
Markdown
|
# Roadmap
|
||
|
|
||
|
## Functionality
|
||
|
|
||
|
For a given Mastodon user, periodically request the list of followed and
|
||
|
followers including number of each and the user
|
||
|
|
||
|
|
||
|
## Authentication
|
||
|
|
||
|
A Mastodon user uses the app to specify a Mastodon handle and server. On
|
||
|
request, the user authorises the app, returning the user to app which then
|
||
|
starts to process data, creating the starting point.
|
||
|
|
||
|
## Data Objects for a user
|
||
|
|
||
|
* Followers: a record of each follower including address (@handle@server), full name, and date of follow
|
||
|
(addition?) and unfollow (if any).
|
||
|
* Posts: a record of each post including id, timestamp, and (sanitised?) content
|
||
|
* Boosts: a record of each boost, user, post id, number users followers
|
||
|
* Likes: a record of each like, user, post id
|
||
|
* Mentions: a record of each mention including post ID
|
||
|
|
||
|
|
||
|
### Derived Data
|
||
|
|
||
|
* current number of followers
|
||
|
* servers with followers
|
||
|
* new followers in past period (hour, day, week)
|
||
|
* lost followers in past period (hour, day, week)
|
||
|
* most boosted post
|
||
|
* most liked post
|
||
|
* post seen by most people (boosts * number of followers of each booster)
|
||
|
|
||
|
## Development Technologies
|
||
|
|
||
|
My goal with this app is to exercise some technologies I've long wanted to get
|
||
|
experience with:
|
||
|
- Svelte
|
||
|
- SvelteKit
|
||
|
- PostgREST (PostgreSQL + a REST framework)
|