3 - Come up with a name / codename.
4 - Must have communities.
5 - Must have threaded comments.
6 - Must be federated: liking and following communities across instances.
7 - Be live-updating: have a right pane for new comments, and a main pain for the full threaded view.
8 - Use websockets for post / gets to your own instance.
12 - How does voting work? Should we go back to the old way of showing up and downvote counts? Or just a score?
13 - Decide on tech to be used
14 - Backend: Actix, Diesel.
15 - Frontend: inferno, typescript and bootstrap for now.
16 - Should it allow bots?
17 - Should the comments / votes be static, or feel like a chat, like [flowchat?](https://flow-chat.com).
18 - Two pane model - Right pane is live comments, left pane is live tree view.
19 - On mobile, allow you to switch between them. Default?
21 # Resources / Potential Libraries
23 - [Diesel to Postgres data types](https://kotiri.com/2018/01/31/postgresql-diesel-rust-types.html)
24 - [helpful diesel examples](http://siciarz.net/24-days-rust-diesel/)
25 - [Recursive query for adjacency list for nested comments](https://stackoverflow.com/questions/192220/what-is-the-most-efficient-elegant-way-to-parse-a-flat-table-into-a-tree/192462#192462)
26 - https://github.com/sparksuite/simplemde-markdown-editor
27 - [Markdown-it](https://github.com/markdown-it/markdown-it)
28 - [Sticky Sidebar](https://stackoverflow.com/questions/38382043/how-to-use-css-position-sticky-to-keep-a-sidebar-visible-with-bootstrap-4/49111934)
29 - [RXJS websocket](https://stackoverflow.com/questions/44060315/reconnecting-a-websocket-in-angular-and-rxjs/44067972#44067972)
30 - [Rust JWT](https://github.com/Keats/jsonwebtoken)
31 - [Hierarchical tree building javascript](https://stackoverflow.com/a/40732240/1655478)
32 - [Hot sorting discussion](https://meta.stackexchange.com/questions/11602/what-formula-should-be-used-to-determine-hot-questions) [2](https://medium.com/hacking-and-gonzo/how-reddit-ranking-algorithms-work-ef111e33d0d9)
33 - [Classification types.](https://www.reddit.com/r/ModeratorDuck/wiki/subreddit_classification)
34 - [RES expando - Possibly make this into a switching react component.](https://github.com/honestbleeps/Reddit-Enhancement-Suite/tree/d21f55c21e734f47d8ed03fe0ebce5b16653b0bd/lib/modules/hosts)
35 - [Temp Icon](https://www.flaticon.com/free-icon/mouse_194242)
36 - [Rust docker build](https://shaneutt.com/blog/rust-fast-small-docker-image-builds/)
37 - [Zurb mentions](https://github.com/zurb/tribute)
38 - [TippyJS](https://github.com/atomiks/tippyjs)
39 - [SQL function indexes](https://sorentwo.com/2013/12/30/let-postgres-do-the-work.html)
43 - https://blog.joinmastodon.org/2018/06/how-to-implement-a-basic-activitypub-server/
44 - https://raw.githubusercontent.com/w3c/activitypub/gh-pages/activitypub-tutorial.txt
45 - https://github.com/tOkeshu/activitypub-example
46 - https://blog.joinmastodon.org/2018/07/how-to-make-friends-and-verify-requests/
47 - Use the [activitypub crate.](https://docs.rs/activitypub/0.1.4/activitypub/)
48 - https://docs.rs/activitypub/0.1.4/activitypub/
49 - [Activitypub vocab.](https://www.w3.org/TR/activitystreams-vocabulary/)
50 - [Activitypub main](https://www.w3.org/TR/activitypub/)
51 - [Federation.md](https://github.com/dariusk/gathio/blob/7fc93dbe9d4d99457a0e85c6c532112f415b7af2/FEDERATION.md)
52 - [Activitypub implementers guide](https://socialhub.activitypub.rocks/t/draft-guide-for-new-activitypub-implementers/479)
53 - [Data storage questions](https://socialhub.activitypub.rocks/t/data-storage-questions/579/3)
54 - [Activitypub as it has been understood](https://flak.tedunangst.com/post/ActivityPub-as-it-has-been-understood)
55 - [Asonix http signatures in rust](https://git.asonix.dog/Aardwolf/http-signature-normalization)