takahe/README.md

117 lines
3.1 KiB
Markdown
Raw Normal View History

2022-11-05 17:29:46 -07:00
![takahē](static/img/logo-128.png)
2022-11-05 13:22:36 -07:00
2022-11-13 21:44:41 -08:00
A *very experimental* Fediverse server for microblogging/"toots". Not fully functional yet -
I'm still working on making all the basic bits work! For more background and information,
see [my blog posts about it](https://aeracode.org/category/takahe/).
2022-11-05 13:22:36 -07:00
Indended features:
2022-11-05 13:22:36 -07:00
* Can run on serverless hosting (no need for worker daemons)
2022-11-05 13:22:36 -07:00
* Multiple account domains possible per server
2022-11-06 17:43:46 -08:00
* Async evented core for fan-out/delivery
* Mastodon client API compatible (eventually)
2022-11-13 12:57:27 -08:00
## Deployment
### Requirements:
- **Python** 3.11
- **PostgreSQL** 14+
2022-11-13 12:57:27 -08:00
- **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
2022-11-16 05:53:39 -08:00
- [x] Set post visibility
- [x] Receive posts
2022-11-16 05:53:39 -08:00
- [x] Handle received post visibility (unlisted vs public only)
- [x] Receive post deletions
2022-11-16 21:23:32 -08:00
- [x] Receive post edits
- [x] Set content warnings on posts
2022-11-16 05:53:39 -08:00
- [x] Show content warnings on posts
2022-11-16 22:00:10 -08:00
- [x] Receive images on posts
- [x] Receive reply info
- [x] Create boosts
- [x] Receive boosts
- [x] Create likes
- [x] Receive likes
- [x] Create follows
2022-11-16 21:23:32 -08:00
- [x] Undo follows
- [x] Receive and accept follows
2022-11-13 18:26:19 -08:00
- [x] Receive follow undos
2022-11-16 21:23:32 -08:00
- [ ] Do outgoing mentions properly
- [x] Home timeline (posts and boosts from follows)
2022-11-17 17:52:00 -08:00
- [x] Notifications page (followed, boosted, liked)
- [x] Local timeline
- [x] Federated timeline
- [x] Profile pages
2022-11-17 17:52:00 -08:00
- [x] Settable icon and background image for profiles
- [x] User search
- [ ] Following page
- [ ] Followers page
- [x] Multiple domain support
- [x] Multiple identity support
- [x] Serverless-friendly worker subsystem
2022-11-16 20:12:28 -08:00
- [x] Settings subsystem
- [x] Server management page
2022-11-16 21:23:32 -08:00
- [x] Domain management page
2022-11-17 18:36:25 -08:00
- [x] Email subsystem
- [x] Signup flow
- [x] Password reset flow
### Beta
2022-11-16 20:12:28 -08:00
- [ ] Attach images to posts
2022-11-16 21:23:32 -08:00
- [ ] Edit posts
2022-11-13 18:26:19 -08:00
- [ ] Delete posts
2022-11-17 18:36:25 -08:00
- [ ] Password change flow
2022-11-16 22:00:10 -08:00
- [ ] Fetch remote post images locally and thumbnail
2022-11-16 21:23:32 -08:00
- [ ] Show follow pending states
- [ ] Manual approval of followers
- [ ] Reply threading on post creation
- [ ] Display posts with reply threads
- [ ] Create polls on posts
- [ ] Receive polls on posts
- [ ] Emoji fetching and display
- [ ] Emoji creation
- [ ] Image descriptions
2022-11-17 17:52:00 -08:00
- [ ] Hashtag search
- [ ] Flag for moderation
- [ ] Moderation queue
- [ ] User management page
- [ ] Server defederation
- [ ] Filters for posts/boosts
- [ ] OAuth subsystem
### 1.0
- [ ] IP banning
- [ ] Trends subsystem and moderation
- [ ] 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)
2022-11-13 12:57:27 -08:00
## Contributing
If you'd like to contribute, please read [CONTRIBUTING.md](./CONTRIBUTING.md).