CoffeeChat
im с открытым исходным кодом с сервером (go) и клиентом (flutter+swift)
️ ️ Предупреждение ️ ️ Он находится в постоянной разработке и подходит только для обучения.
Новости
Некоторые пользователи сети спросили о последующих обновлениях в разделе «Проблемы». Вот ответ:
В этом году происходит много событий, поэтому я не уверен, откажусь ли я от этого проекта. Основная причина в том, что у автора мало энергии. Пожалуйста, простите меня. Первоначальное намерение инициировать этот проект — узнать больше о разработке сервера IM. Если существует лучший проект IM, реализованный на языке Go с открытым исходным кодом, я могу рассмотреть возможность участия в качестве участника.
Наконец, я хотел бы опубликовать некоторые последние новости, чтобы поблагодарить всех за беспокойство.
Последние новости:
- Пока: Жизнь бесконечна и исследования бесконечны??
- 01.07.2022: Архитектура v2 (на основе платформы kratos v2) в настоящее время находится в стадии разработки. Общий дизайн изменен с метода интерфейса pb+tcp на http+json, чтобы снизить затраты на начало работы. Учитывая свободу и удобство, в настоящее время разрабатывается приложение для Android.
10.04.2022: Разработайте план ежемесячного выпуска и обеспечьте наличие хотя бы одного выпуска каждый месяц.- 2021/08: Автор недавно рассматривает возможность смены работы, поэтому в основном сосредоточен на изучении OpenIM, изучении использования Kafka, микросервисов, почтовых ящиков, Etcd, Docker, K8S и т. д. для повышения технической глубины.
- 03–07 2021 г.: Разработка клиента QT и кроссплатформенного SDK для C++ продвигается медленно из-за нехватки энергии.
- 2021/02: Используйте Sketch для разработки клиентского интерфейса Win+mac.
Подведите итог:
-
2022
: Начните заново, изучите Android + Kratos + K8s и осуществите реконструкцию версии Go Server v2. -
2021
: Основное внимание уделяется изучению архитектуры миллиона уровней, кросс-платформенного SDK C++, QT, микросервисов Go, Docker, Etcd и т. д. CoffeeChat почти не имеет обновлений. -
2020
: В этом году CoffeeChat постоянно совершенствуется. Автор в основном изучает разработку для iOS и внедряет простые приложения для iOS. -
2019/08
: Рождение CoffeeChat . Я изучил флаттер и реализовал простой флаттер-клиент. Позже я сдался, потому что раскрывающийся эффект интерфейса флаттера не был идеальным.
Клиент
Поддерживаемые клиенты:
В разработке (В2)
- Android: на основе реализации Android 7.0 + Java, которая в настоящее время находится в разработке (август 2022 г.), подходит для сервера
V2版本
.
Приостановлено (В1)
- iOS: реализовано на основе Swift5, в настоящее время является основным поддерживаемым клиентом, рекомендуется. Применимо к серверу
V1版本
. - Flutter: основан на flutter2 и dart, больше не поддерживается и предназначен только для обучения.
- Windows: на основе C++ и NetEase duilib, в настоящее время реализована только функция входа в систему.
- Mac: на основе C++ и Qt6, в настоящее время реализована только функция входа в систему.
Пожалуйста, нажмите на соответствующую ссылку, чтобы просмотреть подробности.
Предварительный просмотр
порхать
см. CoffeeChat -Flutter в настоящее время не поддерживается и предназначен только для справки.
быстрый
Функции
дизайн
Одиночный чат и групповой чат
Зависит от сервера
Специфический для клиента
Функции
Функциональность чат-бота
Архитектура
Архитектура модуля:
Схема взаимодействия модуля единого чата:
Посмотреть больше архитектуры
Быстрый старт
PS: Пожалуйста, переключитесь на ветку master , скомпилируйте и запустите!
- Запустить сервер (требуется рабочий стол Docker >= 4.0.1):
CoffeeChat/server
# 从代码编译docker镜像,安装mysql,redis等依赖,并自动初始化mysql数据
$ docker-compose up -d">
$ git clone https://github.com/xmcy0011/CoffeeChat.git
$ cd CoffeeChat /server
# 从代码编译docker镜像,安装mysql,redis等依赖,并自动初始化mysql数据
$ docker-compose up -d
- Скомпилируйте клиент. Рекомендуемый клиент iOS (выберите iPhone 11 для симулятора), перейдите по ссылке: клиент
- После запуска iOS-симулятора и приложения нажмите «Зарегистрироваться» и измените IP-адрес сервера на локальный IP (порт вводить не нужно. После успешной регистрации войдите в систему).
- Есть 2 встроенных робота (Сижи и WeChat) и 3 друга, которые могут протестировать функцию чата.
Для получения более подробной информации перейдите по ссылке:
останавливаться:
CoffeeChat/server
$ docker-compose down -v">
$ cd CoffeeChat /server
$ docker-compose down -v
Документ
- Введение продукта
- Архитектура и проектирование протоколов
- Хранение таблицы сообщений
- Принципы генерации идентификаторов IM-сообщений и типичные технические трудности
- расписание
- Практика и выбор MQ в IM
Чтобы увидеть больше статей, перейдите по ссылке:
Думает
- Самое важное: в основном освоить некоторые навыки в своей инженерной практике, которая все еще находится на стадии исследований.
- Open-IM-Server: анализируя его архитектуру и код, я понял механизм входящих сообщений и практику разделения микросервисов im (go).
- goim: Узнайте, как Kafka применяется в сценариях чатов в архитектуре миллиона уровней.
- Терри-Йе/им: В сочетании с гоимом я понял смысл так называемой работы и структуру гоима.
- gim: Простой проект распространения записи, который может обеспечить более глубокое понимание архитектуры и принципов распространения записи.
Для получения дополнительной информации об обмене мгновенными сообщениями с открытым исходным кодом перейдите по ссылке: Самый полный перечень средств обмена мгновенными сообщениями с открытым исходным кодом в истории.
Контакт
электронная почта: [email protected]
Связь WeChat: xuyc1992 (обратите внимание: im)
Если вам это нравится, пожалуйста, подпишитесь на публичный аккаунт?
«Иди и распределенный обмен мгновенными сообщениями»??
ЛИЦЕНЗИЯ
CoffeeChat предоставляется по лицензии MIT.