CoffeeChat
opensource ฉันใช้เซิร์ฟเวอร์ (ไป) และไคลเอนต์ (กระพือ + สวิฟท์)
คำเตือน อยู่ระหว่างการพัฒนาอย่างต่อเนื่องและเหมาะสำหรับการเรียนรู้เท่านั้น
ข่าว
ชาวเน็ตบางคนถามเกี่ยวกับการอัปเดตติดตามผลในประเด็นต่างๆ นี่คือคำตอบ:
ปีนี้มีหลายสิ่งหลายอย่างเกิดขึ้น ความคืบหน้าจึงช้ามาก ฉันไม่แน่ใจว่าจะละทิ้งโครงการนี้หรือไม่ สาเหตุหลักคือผู้เขียนมีพลังงานจำกัด โปรดยกโทษให้ฉันด้วย ความตั้งใจดั้งเดิมของการเริ่มต้นโครงการนี้คือการเรียนรู้เพิ่มเติมเกี่ยวกับการพัฒนาเซิร์ฟเวอร์ IM หากมีโครงการ IM ที่ดีกว่าที่นำไปใช้ในภาษาโอเพ่นซอร์ส Go ฉันอาจพิจารณาเข้าร่วมในฐานะผู้สนับสนุน
สุดท้ายนี้ฉันอยากจะโพสต์อัปเดตล่าสุดเพื่อขอบคุณทุกคนที่เป็นห่วง
ข่าวล่าสุด:
- จนถึงตอนนี้: ชีวิตไม่มีที่สิ้นสุดและการสำรวจไม่มีที่สิ้นสุด??
- 07/01/2022: ขณะนี้สถาปัตยกรรม v2 (อิงตามเฟรมเวิร์ก kratos v2) กำลังได้รับการพัฒนา การออกแบบโดยรวมเปลี่ยนจากวิธีอินเทอร์เฟซ pb+tcp เป็น http+json เพื่อลดต้นทุนในการเริ่มต้น เมื่อพิจารณาถึงระดับความเป็นอิสระและประสบการณ์ที่สะดวกสบาย ขณะนี้แอป Android กำลังอยู่ระหว่างการพัฒนา
10/04/2022: พัฒนาแผนการเผยแพร่รายเดือนและรับรองว่าจะมีการเผยแพร่อย่างน้อยหนึ่งครั้งทุกเดือน- 2021/08: ผู้เขียนกำลังพิจารณาที่จะเปลี่ยนงานเมื่อเร็วๆ นี้ เขาจึงมุ่งเน้นไปที่การศึกษา OpenIM เรียนรู้การใช้ Kafka, ไมโครเซอร์วิส, กล่องขาเข้า, Etcd, Docker, K8S ฯลฯ เพื่อปรับปรุงเชิงลึกทางเทคนิค
- 07/03/2021 - 07: การพัฒนาไคลเอนต์ QT และ SDK ข้ามแพลตฟอร์ม C++ ความคืบหน้าช้าเนื่องจากข้อจำกัดด้านพลังงาน
- 2021/02: ใช้ Sketch เพื่อออกแบบอินเทอร์เฟซไคลเอ็นต์ win+mac
สรุป:
-
2022
: เริ่มต้นใหม่อีกครั้ง เรียนรู้ android + kratos + k8s และตระหนักถึงการสร้าง go server เวอร์ชัน v2 ใหม่ -
2021
: มุ่งเน้นไปที่การสำรวจสถาปัตยกรรมล้านระดับเป็นหลัก, SDK ข้ามแพลตฟอร์ม C++, QT, ไมโครเซอร์วิส Go, Docker, ฯลฯ ฯลฯ CoffeeChat แทบไม่มีการอัปเดตเลย -
2020
: CoffeeChat ได้รับการปรับปรุงอย่างต่อเนื่องในปีนี้ ผู้เขียนเน้นการเรียนรู้การพัฒนา iOS และการใช้งานแอป iOS ที่เรียบง่ายเป็นหลัก -
2019/08
: CoffeeChat ถือกำเนิดขึ้น ฉันได้เรียนรู้ Flutter และใช้งาน Flutter Client ที่เรียบง่าย ต่อมาฉันก็ยอมแพ้เพราะเอฟเฟกต์แบบดึงลงของอินเทอร์เฟซการแชท Flutter นั้นไม่เหมาะ
ลูกค้า
ลูกค้าที่รองรับคือ:
อยู่ระหว่างการพัฒนา (V2)
- Android: ขึ้นอยู่กับการใช้งาน Android 7.0 + Java ซึ่งขณะนี้อยู่ระหว่างการพัฒนา (สิงหาคม 2022) เหมาะสำหรับเซิร์ฟเวอร์
V2版本
หยุดชั่วคราว (V1)
- iOS: แนะนำให้ใช้บนพื้นฐานของ Swift5 ซึ่งเป็นไคลเอนต์หลักที่ได้รับการดูแลในปัจจุบัน ใช้ได้กับเซิร์ฟเวอร์
V1版本
- Flutter: จาก flutter2 และ dart จะไม่มีการบำรุงรักษาอีกต่อไปและมีไว้สำหรับการเรียนรู้เท่านั้น
- Windows: อิงจาก C++ และ NetEase duilib ปัจจุบันมีเพียงฟังก์ชันการเข้าสู่ระบบเท่านั้นที่ถูกนำมาใช้
- Mac: อิงจาก c++ และ Qt6 ปัจจุบันมีการใช้งานเฉพาะฟังก์ชันการเข้าสู่ระบบเท่านั้น
กรุณาคลิกลิงค์ที่เกี่ยวข้องเพื่อดูรายละเอียด
ดูตัวอย่าง
กระพือปีก
โปรดดูที่ CoffeeChat -Flutter ไม่ได้รับการบำรุงรักษาในขณะนี้ และใช้สำหรับการอ้างอิงเท่านั้น
รวดเร็ว
คุณสมบัติ
ออกแบบ
แชทเดี่ยวและแชทกลุ่ม
เฉพาะเซิร์ฟเวอร์
เฉพาะลูกค้า
คุณสมบัติ
ฟังก์ชั่นแชทบอท
สถาปัตยกรรม
สถาปัตยกรรมโมดูล:
แผนภาพโต้ตอบโมดูลแชทเดี่ยว:
ดูเพิ่มเติม สถาปัตยกรรม
เริ่มต้นอย่างรวดเร็ว
PS: โปรดเปลี่ยนไปใช้สาขา หลัก คอมไพล์และรัน!
- เริ่มเซิร์ฟเวอร์ (ต้องใช้เดสก์ท็อปนักเทียบท่า >= 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 ตัว (Sizhi และ WeChat) และเพื่อน 3 คน ซึ่งสามารถทดสอบฟังก์ชันแชทได้
สำหรับรายละเอียดเพิ่มเติม กรุณาไปที่:
หยุด:
CoffeeChat/server
$ docker-compose down -v">
$ cd CoffeeChat /server
$ docker-compose down -v
เอกสาร
- แนะนำผลิตภัณฑ์
- สถาปัตยกรรมและการออกแบบโปรโตคอล
- การจัดเก็บตารางข้อความ
- หลักการสร้าง ID ข้อความ IM และปัญหาทางเทคนิคทั่วไป
- กำหนดการ
- การปฏิบัติและการเลือก MQ ใน IM
สำหรับบทความเพิ่มเติม กรุณาไปที่:
คิด
- สิ่งสำคัญที่สุด: เรียนรู้ทักษะบางอย่างเป็นหลักในการปฏิบัติงานด้านวิศวกรรมซึ่งยังอยู่ในขั้นตอนการวิจัย
- Open-IM-Server: ด้วยการวิเคราะห์สถาปัตยกรรมและโค้ดของมัน ฉันจึงเข้าใจกลไกกล่องจดหมายและหลักปฏิบัติในการแบ่ง im microservices (go)
- goim: เรียนรู้วิธีการนำคาฟคาไปใช้ในสถานการณ์ห้องสนทนาภายใต้สถาปัตยกรรมล้านระดับ
- Terry-Ye/im: เมื่อรวมกับ goim ฉันจึงเข้าใจความหมายของสิ่งที่เรียกว่างานและโครงสร้างของ goim
- gim: โครงการการแพร่กระจายการเขียนอย่างง่ายที่สามารถให้ความเข้าใจที่ลึกซึ้งยิ่งขึ้นเกี่ยวกับสถาปัตยกรรมและหลักการของการแพร่กระจายการเขียน
สำหรับ IM โอเพ่นซอร์สเพิ่มเติม โปรดไปที่: รายการ IM โอเพ่นซอร์สที่ครอบคลุมมากที่สุดในประวัติศาสตร์
ติดต่อ
อีเมล์:[email protected]
การสื่อสาร WeChat: xuyc1992 (โปรดทราบ: IM)
ถ้าชอบกรุณาติดตามบัญชีสาธารณะ?
"ไปและกระจาย IM"??
ใบอนุญาต
CoffeeChat มีให้ภายใต้ใบอนุญาต mit