SoK/2021/StatusReport/insaanimanav

From KDE Community Wiki
Revision as of 07:50, 17 April 2021 by Msethi (talk | contribs) (Created page with "== 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 pl...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)

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 -:

  • Twitter
  • Mastodon
  • Reddit

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

Plans for the Future

  • Support more platforms
  • Make a GUI client
  • Document the API properly
  • Do more exception handling
  • Here are all the blog posts I wrote during the process
 https://manav.co.in/tag/kde
  • Here is the main code repository -:
 https://invent.kde.org/msethi/kockatoo-server

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