CoffeeChat
sumber terbuka saya dengan server(go) dan klien(flutter+swift)
️ ️ Peringatan ️ ️ Ini sedang dalam pengembangan berkelanjutan dan hanya cocok untuk penggunaan pembelajaran.
Berita
Beberapa warganet bertanya mengenai tindak lanjut update di Issues.
Ada banyak hal yang terjadi tahun ini, jadi kemajuannya sangat lambat. Saya tidak yakin apakah saya akan meninggalkan proyek ini. Alasan utamanya adalah penulis memiliki tenaga yang terbatas. Tujuan awal memulai proyek ini adalah untuk mempelajari lebih lanjut tentang pengembangan server IM. Jika ada proyek IM yang lebih baik yang diimplementasikan dalam bahasa Go open source, saya dapat mempertimbangkan untuk berpartisipasi sebagai kontributor.
Terakhir, saya ingin memposting beberapa pembaruan terkini untuk berterima kasih kepada semua orang atas perhatian mereka.
Berita terbaru:
- Sejauh ini: Hidup tidak ada habisnya dan eksplorasi tidak ada habisnya??
- 01/07/2022: Arsitektur v2 (berdasarkan kerangka kratos v2) saat ini sedang dikembangkan. Desain keseluruhan diubah dari metode antarmuka pb+tcp menjadi http+json untuk mengurangi biaya memulai. Mengingat tingkat kebebasan dan kenyamanan pengalaman, aplikasi android saat ini sedang dikembangkan.
2022/04/10: Kembangkan rencana Rilis Bulanan dan pastikan setidaknya satu Rilis setiap bulan- 2021/08: Penulis sedang mempertimbangkan untuk berganti pekerjaan baru-baru ini, jadi dia fokus mempelajari OpenIM, mempelajari penggunaan Kafka, layanan mikro, kotak masuk, Dll, Docker, K8S, dll., untuk meningkatkan kedalaman teknis.
- 2021/03 - 07: Mengembangkan klien QT dan SDK lintas platform C++, kemajuannya lambat karena kendala energi.
- 2021/02: Gunakan Sketch untuk mendesain antarmuka klien win+mac.
Meringkaskan:
-
2022
: Mulai lagi, pelajari android + kratos + k8s, dan wujudkan rekonstruksi versi go server v2 -
2021
: Terutama berfokus pada eksplorasi arsitektur tingkat jutaan, SDK lintas platform C++, QT, layanan mikro Go, Docker, Dll, dll. CoffeeChat hampir tidak memiliki pembaruan -
2020
: CoffeeChat terus ditingkatkan tahun ini. Penulis terutama mempelajari pengembangan ios dan mengimplementasikan aplikasi ios sederhana. -
2019/08
: CoffeeChat lahir. Saya belajar flutter dan mengimplementasikan klien flutter sederhana. Kemudian, saya menyerah karena efek pull-down dari antarmuka flutter chat tidak ideal.
Klien
Klien yang didukung adalah:
Sedang dikembangkan (V2)
- Android: Berdasarkan implementasi Android 7.0 + Java, saat ini sedang dikembangkan (Agustus 2022), cocok untuk server
V2版本
.
Dijeda (V1)
- iOS: diimplementasikan berdasarkan Swift5, yang saat ini merupakan klien utama yang dikelola, direkomendasikan. Berlaku untuk server
V1版本
. - Flutter: Berdasarkan flutter2 dan dart, tidak lagi dipertahankan dan hanya untuk pembelajaran.
- Windows: Berdasarkan duilib C++ dan NetEase, saat ini hanya fungsi login yang diterapkan.
- Mac: Berdasarkan c++ dan Qt6, saat ini hanya fungsi login yang diimplementasikan.
Silakan klik tautan yang sesuai untuk melihat detailnya.
Pratinjau
berdebar
lihat CoffeeChat -Flutter tidak dikelola untuk saat ini dan hanya untuk referensi.
cepat
Fitur
desain
Obrolan tunggal dan obrolan grup
Khusus server
Khusus klien
Fitur
Fungsionalitas chatbot
Arsitektur
Arsitektur modul:
Diagram interaksi modul obrolan tunggal:
Lihat Arsitektur lainnya
Mulai Cepat
PS: Silakan beralih ke cabang master , kompilasi dan jalankan!
- Mulai Server (membutuhkan desktop buruh pelabuhan >= 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
- Kompilasi klien. Klien iOS yang direkomendasikan (pilih iphone 11 untuk simulator), silakan buka: klien
- Setelah simulator dan aplikasi iOS dimulai, klik "Daftar" dan ubah alamat IP server ke IP lokal (tidak perlu memasukkan port Setelah registrasi berhasil, login).
- Terdapat 2 robot bawaan (Sizhi dan WeChat) dan 3 teman yang dapat menguji fungsi chat.
Untuk lebih jelasnya, silakan kunjungi:
berhenti:
CoffeeChat/server
$ docker-compose down -v">
$ cd CoffeeChat /server
$ docker-compose down -v
Dokumen
- Pengenalan produk
- Desain arsitektur dan protokol
- Penyimpanan tabel pesan
- Prinsip pembuatan ID pesan IM dan kesulitan teknis umum
- jadwal
- Latihan dan pemilihan MQ di IM
Untuk artikel lainnya, silakan kunjungi:
Berpikir
- yang paling penting: Terutama mempelajari beberapa keterampilan dalam praktik teknik go, yang masih dalam tahap penelitian.
- Open-IM-Server: Dengan menganalisis arsitektur dan kodenya, saya memahami mekanisme kotak masuk dan praktik pembagian layanan mikro im (go).
- goim: Pelajari bagaimana kafka diterapkan dalam skenario ruang obrolan di bawah arsitektur jutaan tingkat.
- Terry-Ye/im: Dikombinasikan dengan goim, saya memahami arti dari apa yang disebut pekerjaan dan struktur goim.
- gim: Proyek difusi tulis sederhana yang dapat memberikan pemahaman lebih dalam tentang arsitektur dan prinsip difusi tulis.
Untuk IM open source lainnya, silakan kunjungi: Inventarisasi IM open source terlengkap dalam sejarah
Kontak
email:[email protected]
Komunikasi WeChat: xuyc1992 (harap diperhatikan: im)
Jika Anda suka, silakan ikuti akun publik?
"Pergi dan Bagikan IM"??
LISENSI
CoffeeChat disediakan di bawah lisensi mit.