Deuter Chat

Serwis z darmowym czatem dla każdego!

19.10.2019 18:00 Deuter Chat

Hej! Co tam u was? Heh, jeśli ktokolwiej jeszcze odwiedza tę stronę (jeszcze? to ktoś ją kiedyś odwiedział?). Myśleliście, że moja strona i blog są już martwe, a tu niespodzianka, bo jednak nie i postanowiłem sobie coś napisać :P

Prawdą jest, że ostatnio nie mam za dużo czasu i nie bardzi chce mi się siedzieć przy komputerze i pisać posty na bloga, ale nie oznacza to wcale, że nie robię nic w międzyczasie. Po prostu nie chce mi się tego za bardzo opisywać, bo już samo robienie różnych rzeczy zajmuje dużo czasu, a opisywanie jeszcze dodatkowy. Poza tym i tak mało kto (o ile ktokolwiek) odwiedza w ogóle mój blog więc nie wybaczcie, ale nie czuję się bardzo zobowiązany do regularnego pisania tutaj. Tak czy inaczej skończyłem w miarę jeden z moich kolejnych projektów i dlatego też chciałbym coś o nim napisać (i się nim pochwalić oczywiście :D).

Projekt którym ostatnio się zajmowałem wbrew pozorom nie jest żadnym typowym projektem, takim jakie robiłem dotychczas. To znaczy nie jest to program napisany w Javie, C++ czy inna desktopowa aplikacja, ale jest to serwis internetowy! (Tutaj powinieneś zrobić takie" Wooow!" XD)

Sam serwis nie jest niczym super odkrywczym ani nie wiadomo jak przydatnym, bo jest to zwykły serwis do czatu online. Postanowiłem go jednak stworzyć z kilku przyczyn. Po pierwsze większość czatów online zakłada, że jest to czat na żywo. Można wejść do pokoju popisać chwilę i wyjść, ale jeśli postanowimy wrócić na czat to cała historia rozmowy jest tracona. Ponadto jeśli wszyscy nie mogą być online w jednym i tym samym czasie, nie ma w ogóle możliwości korzystania z takiego czatu. Dlatego właśnie postanowiłem napisać własny serwis, który łączy czat na żywo z miejscem do rozmów w grupie w którym można łatwiej się umówić nawet jeśli nie wszyscy mają czas wejść na czat w tym samym momencie.

Z tych przyczyn powstał właśnie Deuter Chat. Nazwa "Deuter Chat" powstała głównie od domeny mojego serwera. Cóż, w tej kwestii nie byłem bardzo kreatywny :P Jest to mój własny, napisany od podstaw serwis, który oferuje darmowe pokoje do czatu. W przypadku kiedy wszyscy użytkownicy są online, pozwala on na szybką komunikację na żywo, ale wiadomości są zapamiętywane, więc wszyscy którzy nie mogli przeczytać ich wcześniej mogą zrobić to później. Nie zapomniałem także o kwestiach bezpieczeństwa. Wszystkie wiadomości są szyfrowane, a serwis używa bezpiecznego połączenia TLS. Dodatkową zaletą jest jeszcze fakt iż kładłem duży naciska na przystępną obsługę serwisu na urządzeniach mobilnych, dzięki czemu pisanie jest łatwe nawet jeśli nie jesteś przy komputerze (nie to co mion-owy RoundCubeMail, który działa strasznie na telefonie). Czat oferuje także prostą personalizację wiadomości taką jak wybór koloru wiadomości (aby łatwiej było odróżnić wiadomości innych użytkowników) oraz własny awatar.

W całym projekcie nie mogło oczywiście zabraknąć jakiegoś małego dodatku C++ XD Serwis wykorzystuje napisany w języku C++ serwer wspierający protokół WebSockets, aby dostarczać wygodny i szybki czat na żywo. Do napisania go użyłem częściowo bibliotek Boost oraz w głównej mierze bibliotekę Websocketpp. Oczywiście dodatkowo musiałem też dodać obsługę formatu JSON oraz połączenie z bazą danych, aby wszystko działało prawidłowo. Niedawno rozszerzyłem jeszcze serwer o wykorzystanie Unix domain sockets do lokalnej komunikacji pomiędzy serwerem HTTP i serwerem czatu.

Mam nadzieję, że zaciekawiony moim "epickim" opisem postanowisz sprawdzić mój nowy serwis :D Wszstko jest udostępnione za darmo, nie wymaga podawania żadnych wrażliwych danych, a konto możesz usunąć w każdej chwili (wraz ze wszystkimi wiadomościami). Nadal planuję także rozwój tego serwisu i dodawanie nowych funkcji. Zapraszam wszystkich do zajrzenia i wypróbowania. Serwis dostępny jest pod adresem: https://deuter.3utilities.com/chat/pl/?p=home. Miłej zabawy ;)