mirror of
https://github.com/LemmyNet/lemmy.git
synced 2024-12-29 11:20:36 +00:00
🐀 Building a federated link aggregator in rust
1eb1d71a3e
- Extracting out some components. - Fixing an issue with window refreshing websockets. |
||
---|---|---|
server | ||
ui | ||
API.md | ||
LICENSE | ||
README.md |
Rust Reddit Fediverse (to be renamed later)
We have a twitter alternative (mastodon), a facebook alternative (friendica), so let's build a reddit alternative in the fediverse.
Matrix Chat: #rust-reddit-fediverse:matrix.org
Goals
- Come up with a name / codename.
- Must have communities.
- Must have threaded comments.
- Must be federated: liking and following communities across instances.
- Be live-updating: have a right pane for new comments, and a main pain for the full threaded view.
- Use websockets for post / gets to your own instance.
Questions
- How does voting work? Should we go back to the old way of showing up and downvote counts? Or just a score?
- Decide on tech to be used
- Backend: Actix, Diesel.
- Frontend: inferno, typescript and bootstrap for now.
- Should it allow bots?
- Should the comments / votes be static, or feel like a chat, like flowchat?.
- Two pane model - Right pane is live comments, left pane is live tree view.
- On mobile, allow you to switch between them. Default?
Resources / Potential Libraries
- Use the activitypub crate.
- https://docs.rs/activitypub/0.1.4/activitypub/
- Activitypub vocab.
- Activitypub main
- Diesel to Postgres data types
- helpful diesel examples
- Mastodan public key server example
- Recursive query for adjacency list for nested comments
- https://github.com/sparksuite/simplemde-markdown-editor
- Sticky Sidebar
- RXJS websocket
- Rust JWT
- Hierarchical tree building javascript
TODOs
- Endpoints
- DB
- Followers / following