takahe/README.md

108 lines
2.9 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-13 18:36:51 -08:00
- [ ] Set post visibility
- [x] Receive posts
2022-11-13 18:36:51 -08:00
- [ ] Handle received post visibility
- [x] Receive post deletions
- [x] Set content warnings on posts
- [ ] Show content warnings on posts
- [ ] Attach images to posts
- [ ] Receive images on posts
- [x] Create boosts
- [x] Receive boosts
- [x] Create likes
- [x] Receive likes
- [x] Create follows
- [ ] Undo follows
- [x] Receive and accept follows
2022-11-13 18:26:19 -08:00
- [x] Receive follow undos
- [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
2022-11-13 18:26:19 -08:00
- [ ] Delete posts
- [ ] 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
- [ ] 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).