A self hosted chat application with end-to-end encrypted messaging.
Documentation available here
The backend is written in Java, and uses Spring Boot. The app itself provides a front end written with thymeleaf templates. The chat AJAX logic is written in TypeScript without any JS framework. The app exposes a JSON API that the inbuilt front end uses to provide chat functionality. However, this API can also be used by a separate client app to provide the same functions.
A WIP client made in ScalaFX is available here. It is a complete rewrite in Scala of the previous client, which was also written using Java and Spring Boot.
Chatto is Free Software, licensed under AGPLv3.