Platforma chatowa Chatto, zaprojektowana do organizowania komunikacji w społecznościach i zespołach deweloperskich, została przekwalifikowana jako projekt open source. Platforma została zoptymalizowana w celu osiągnięcia maksymalnej responsywności interfejsu, minimalnego zużycia zasobów przez backend oraz prostoty wdrożenia na własnym serwerze infrastruktury dla grupowych czatów, niezależnej od zewnętrznych usług. Dostęp dla użytkowników realizowany jest z poziomu przeglądarki przez interfejs webowy. Kod został napisany w języku Go i udostępniony na licencji AGPLv3.
Wszystkie dane osobowe oraz historia komunikacji w czatach są przechowywane w postaci zaszyfrowanej, z wykorzystaniem kluczy powiązanych z poszczególnymi użytkownikami. Oprócz czatu tekstowego platforma obsługuje połączenia głosowe i wideo, osadzanie wiadomości multimedialnych, transmisję zawartości ekranu oraz end-to-end szyfrowanie wiadomości. Platforma wspiera również pełnotekstowe wyszukiwanie, podgląd linków do zewnętrznych treści, określanie obecności użytkowników, możliwość ustawiania statusów oraz zarządzanie dostępem na podstawie ról.
W celu dodania dodatkowej funkcjonalności i dostosowania platformy mogą być stosowane wtyczki. Możliwa jest organizacja centralnego logowania (SSO) oraz integracja z systemami korporacyjnymi za pośrednictwem API GraphQL oraz NATS. Instalacja odbywa się przez uruchomienie samodzielnego pliku wykonywalnego o wielkości około 70 MB, który nie wymaga instalacji dodatkowych zależności ani zewnętrznej bazy danych.
Stan projektu oceniany jest jako wystarczająco stabilny do zastosowań roboczych, jednak nie wszystkie zamierzone funkcjonalności zostały jeszcze zrealizowane. Na przykład w następnej wersji Chatto 0.5 planowane jest zintegrowanie możliwości moderacji i składania skarg na niedozwolone treści, a także dodanie do części klienckiej wsparcia dla łączenia z wieloma serwerami. W ciągu 6-12 miesięcy planowane jest opublikowanie wydania Chatto 1.0.0, przed jego stworzeniem nie wyklucza się wprowadzenia zmian naruszających zgodność wsteczną.

Źródło: opennet.ru
