MoreliaTalk — безопасный мессенджер с открытым исходным кодом

236e57d17646c66b649a5fdf753a0e58

Привет, Хабр! Сегодня я хочу рассказать вам о проекте, над которым я и ещё несколько разработчиков трудимся уже полтора года. Этот проект называется MoreliaTalk. Что это же он из себя представляет? MoreliaTalk — это мессенджер с открытым исходным кодом, построенный на клиент-серверной архитектуре. Сервер и клиенты можно использовать как встраиваемое решение для быстрого развёртывания функционала современного чата в своём проекте, так и в личных целях. Сервер написан на языке Python, а клиенты используют разные технологии для охвата как можно большего количества платформ. Это если описывать кратко, не вдаваясь в детали. А детали будут дальше…

Как зародился проект?

Проект, появился в июне 2020 года. После прохождения интенсива от компании SkillBox «Мессенджер за 3 дня», группа энтузиастов решила двигаться дальше, и продолжила разработку мессенджера. Так и родился проект MoreliaTalk.

Проект основан на той же кодовой базе, что и получившийся по окончанию интенсива, или же был переписан с нуля?

Мы пришли к выводу, что связь между клиентом и сервером в современном мессенджере должна происходить не через get-запросы, а через протокол webscoket. А также решили написать свой протокол, описывающий структуру данных в json-е. Посовещавшись, мы снесли код сервера подчистую, и заново написали его уже на fastapi и websockets, а также реализовали в нём свой протокол. В общем наш мессенджер является развитием идеи, а не прямым потомком мессенджера со SkillBox.

Какова цель проекта?

Цель проекта — это предоставление людям системы чатов, которая легко встраивается куда угодно, шифрует данные, не позволяя получить к ним доступ никому, кроме вас и ваших собеседников. И самое главное — код ВСЕГДА нашего проекта открыт, и мы всегда рады вкладу сторонних разработчиков.

Что реализовано на текущий момент?

На момент написания статьи, а это 21 февраля 2022 года, у нас реализованы:

Над чем работаем сейчас?

Сейчас у нас в разработке:

  • Протокол версии 2.0(см. ссылку)

  • Первый стабильный релиз сервера 1.0.0(см. roadmap)

  • Кроссплатформенный клиент, написанный на Dart и Flutter

Каковы дальнейшие идеи по развитию проекта?

Все идеи по развитию проекта описаны в тикете протокола, но из них можно выделить идею так называемых workspace. Что же это такое? Представьте сервер Slack, но внутри обычного мессенджера, всю мощь ветвления и интеграции с гитхабом, а также сторонними сервисами, не выходя из привычного приложения. Больше никакого хаоса. Вы занимаетесь разработкой какого-либо продукта? — пожалуйста, хоть каждую секунду создавайте чаты, и у вас не будет визуального мусора на главном экране. Всё, что находится внутри workspace — это ваша суверенная территория, которая находится внутри вашего любимого мессенджера. Эта фишка должна будет стать одной из основных в версии сервера 2.0.0. Как только мы реализуем эту фишку, мы сами переберёмся в MoreliaTalk из Telegram и Slack, т.к. наш мессенджер заменит все наши потребности в них.

Итог

В общем надо подытожить, что же такое MoreliaTalk. Это мессенджер с открытым исходным кодом, шифрующий всё, что через него проходит, и по сему безопасный, большим потенциалом для развития, амбициозный проект, который стремится вперёд. Мы будем продолжать разработку, и будем переодически рассказывать он ней на Хабре. Не знаю, смог ли я рассказать и описать всё, что задумывал, всё же я не писатель, а программист, однако если есть вопросы, или необходимо дополнить статью чем-либо — милости просим в комменты, я отвечу, и если надо дополню. Спасибо, за то, что прочитали эту статью и до скорой встречи!

Ссылка на наш github
Ссылка на наш сайт

© Habrahabr.ru