From 5e7aa568d61eddcff6b642207950e3bb9132fc8d Mon Sep 17 00:00:00 2001 From: Andrew Godwin Date: Sun, 13 Nov 2022 19:23:02 -0700 Subject: [PATCH] Start writing up a roadmap in the README --- README.md | 85 ++++++++++++++++++++++++++++++++++++++++++++++++++++--- 1 file changed, 81 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 03359b5..d26467d 100644 --- a/README.md +++ b/README.md @@ -2,12 +2,12 @@ A *very experimental* Fediverse server for microblogging/"toots". Not fully functional yet - I'm still working on making all the basic bits work! -Goals: +Indended features: -* Can run on serverless hosting +* Can run on serverless hosting (no need for worker daemons) * Multiple account domains possible per server -* Mastodon client API compatible * Async evented core for fan-out/delivery +* Mastodon client API compatible (eventually) ## Deployment @@ -15,9 +15,86 @@ Goals: ### Requirements: - **Python** 3.11 -- **Postgresql** 14+ +- **PostgreSQL** 14+ - **Lots of patience** This is *very experimental* +### Setup + +More deployment docs will come soon! Just know that you need to run the Takahē +Django app, and then either hit `/.stator/runner/` or run `./manage.py runstator` +at least every 30 seconds. + +## Roadmap + +Takahē is still under very active development towards something I'm willing to +call a beta. I've grouped features here into milestones, along with if they're +done yet or not. None of this is final, and the further into the future it is, +the less sure I am about it. + +### Alpha + +- [x] Create posts +- [x] Receive posts +- [x] Set content warnings on posts +- [ ] Show content warnings on posts +- [ ] Attach images to posts +- [ ] Receive images on posts +- [ ] Create boosts +- [x] Receive boosts +- [ ] Create likes +- [x] Receive likes +- [x] Create follows +- [x] Receive and accept follows +- [ ] Undo follows +- [x] Home timeline (posts and boosts from follows) +- [ ] Notifications page (followed, boosted, liked) +- [x] Local timeline +- [x] Federated timeline +- [x] Profile pages +- [ ] Settable icon and background image for profiles +- [ ] Following page +- [ ] Followers page +- [x] Multiple domain support +- [x] Multiple identity support +- [x] Serverless-friendly worker subsystem +- [ ] Settings subsystem +- [ ] Server management page +- [ ] Domain management page +- [ ] Email subsystem +- [ ] Signup flow +- [ ] Password change flow +- [ ] Password reset flow + +### Beta + +- [ ] Emoji fetching and display +- [ ] Emoji creation +- [ ] Image descriptions +- [ ] Flag for moderation +- [ ] Moderation queue +- [ ] User management page +- [ ] Server defederation +- [ ] IP banning +- [ ] Trends subsystem and moderation +- [ ] Filters for posts/boosts +- [ ] Reply threading on post creation +- [ ] Display posts with reply threads +- [ ] Create polls on posts +- [ ] Receive polls on posts +- [ ] OAuth subsystem + +### 1.0 + +- [ ] Server announcements +- [ ] Automated post deletion +- [ ] Post popularity system (for long gaps between timeline views) +- [ ] Mastodon client API + +### Future + +- [ ] Relays? +- [ ] Mastodon backup import? (would need url mapping for actors) + ## Contributing If you'd like to contribute, please read [CONTRIBUTING.md](./CONTRIBUTING.md).