# Contributing to the project

* Writing chat clients

I know not everyone wants an electron based client because it's naturally really bloated. But the normans want something that _just werks_ so electron is a good way of doing that.

The API is dead simple however so it shouldn't be too bad to write a simple client that sends a couple of requests every so often.

If you choose to write a client and want people to know about it I can include a link to the project here/on the wiki.

* Testing

Currently API testing is done with a phony client written in python(client-tests/client.py) and some rust tests.

Anything from a simple `GET /some-route` + response check to a testing pipeline thing is appreciated.
Since testing doesn't really affect users, as long as the test is correct and covers new ground it's welcome.

* Languages - Rust/Python/Bash/Javascript/HTML/CSS

The API service is written in rust. Uses mysql-async wrapped in a small library for abstracting away database code from the "business logic"

* Scripting

Build scripts are literally just Bash scripts so if a script looks like it can be used to automate some boring process then that could be a great way to contribute.

* Electron Client

The electron client is built with NodeJS + Bootstrap(nothing else).
Adding libraries to the client requires _very_ good reason IMO.
I know Electron is a whale so I want to do everything in my power to make sure it doesn't weigh much more.
