Season of KDE 2021 officially concluded on 9th of April 2021 but this is just the beginning of the long road that I have to go with kockatoo. In this post I will write a short summary and a description of what went down during the Sok time period
Background
The KDE promo team used to spend quite sometime posting to various social media platforms and more often than not the post content was same across all the platforms . This felt like a waste of time atleast to me . Hence I had been meaning to work on consolidating all these platforms into one application to handle all that and save the promo team atleast some time.
State of the Art
Currently there are not a lot of apps that are built for this specific purpose itself . There are a bunch of social media managing platforms , Below are some of the problems with them
- They are 100 percent proprietary
- They don't have all the platforms promo cares about , for example diaspora , mastodon , reddit etc
- They are also not even free as in gratis
What is Kockatoo
Kockatoo is an application that lets you post to multiple social media platforms all at once. The following platforms are supported currently -:
- Mastodon
I do plan to add more platforms as we go on.
The architecture / How it all comes together ?
Kockatoo works on a client server architecture. For the people not so much into tech that means , There are two parts to the application
One of them is the server which runs 24/7 and then there is a client which sends the request to the server . The request consists of the things like -:
- Time to schedule
- What to post
- Where to post etc .
The server then processes this request and gives some feedback to the client to ensure that their post has been scheduled correctly. Now the client can be shutdown or destroyed even and the post will still happen since it has been scheduled on the server side.
The tech stack / The toolbox
- The tech stack used is fastapi with python for the server side
- Currently a python based cli client is underway
Packaging status / How can I get it on my machine ?
- Currently The server side and client side aren't available as native packages for any distro
- I do intend to package both the server and the client for arch Linux since that is the only type of distro packaging I am personally familiar with
- The server side does have a dockerfile which you can use to build a docker image
- If you are familiar with windows packaging , I am looking for a volunteer since I don't have a way to package or test it locally atleast
Things for the future
- Support more platforms
- Make a GUI client
- Document the API properly
- Do more exception handling
If you are planning to test it or have tested this and would like to get in touch , please do so at mail[at]manav.co.in or insaanimanav:matrix.org on matrix