# KamaChat **Repository Path**: hackerwjz/KamaChat ## Basic Information - **Project Name**: KamaChat - **Description**: https://github.com/youngyangyang04/KamaChat - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2026-02-28 - **Last Updated**: 2026-05-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 分布式部署的仿微信项目KamaChat > **本项目目前只在[知识星球](https://programmercarl.com/other/kstar.html)答疑并维护**。 这次发布一个非常硬核的Go项目,分布式部署的仿微信项目:KamaChat 越来越多的大厂开始在核心业务中采用 Go 语言,例如在云计算、分布式系统、微服务架构等领域,Go 语言都有着出色的表现。 其实我从24年就开始规划Go的项目,现在这个项目终于打磨好了。 这个项目整个前后端代码加起来有1.5w行(前后端分离),是一个功能非常庞大的项目。 如果对前后端有了解的同学,主要是理解业务流程,每天抽5h,应该在一个月左右能完全掌握这个项目。 如果对go、vue都不太熟悉,对前后端这种api调用方式不太熟悉,可能还需要提前大概去走一遍go和vue,具体时间得看你学基础的耗时,建议通过ai来快速学习。 在开发这个项目,工时大约在200h-300h左右(**相当于24小时都在工作,干了十天**)。 ## 涉及技术面广 此项目构建了一个**全面且复杂的即时通讯系统**,前后端融合了广泛的技术体系,深入研究各个技术模块,能让人对即时通讯领域形成系统而完整的认知。 下面将详细阐述各个技术板块及其具体实现功能: 1、 **后台开发者管理** 这一模块赋予后台开发者强大的管理权限,主要用于对用户群聊和用户角色进行管控。 开发者可以对用户群聊执行禁用、启用和删除操作,以确保群聊的正常秩序和合规性。同时,开发者还能根据实际需求,将普通用户设置为管理员,协助进行系统管理。 2、**类似聊天软件的联系人体系** 该体系模拟了常见聊天软件的联系人管理功能,为用户提供了丰富的社交互动选项。 用户可以自由添加或删除联系人,还能对联系人进行拉黑操作。 当用户想要添加新联系人时,可以发起申请,对方则有权选择同意或拒绝该申请。 3、 **单聊与群聊** 单聊和群聊是即时通讯系统的核心功能之一,其实现依赖于后端的聊天服务器。 无论是单聊消息还是群聊消息,都会被发送到后端服务器,由服务器负责将消息准确无误地转发给相应的接收方。 4、 **多种消息类型的上传和下载(文本、文件、视频**) 系统支持多种类型的消息交互,包括文本、文件和视频。用户可以方便地上传和下载这些不同类型的消息,满足多样化的沟通需求。 5、 **Kafka** Kafka 在项目中扮演着消息传输的重要角色。 它作为一个高效的消息队列系统,负责将客户端(client)发送的消息转发到服务器(server),确保消息的可靠传输和处理。 6、 **语音视频通话** 语音视频通话功能为用户提供了更加直观和实时的沟通方式。 用户可以发起通话邀请,对方可以选择接受或拒绝邀请。在通话过程中,任何一方都可以随时挂断通话,结束交流。 7、 **WebSocket** WebSocket 为前端和客户端之间建立了实时、双向的通信连接。 它负责接收前端发送给客户端的消息,并将客户端的消息传递给服务器,实现了消息的高效传输和即时响应。 通过参与这个项目,对上述每个技术点进行深入钻研,开发者可以全面了解即时通讯系统的架构、原理和实现细节,从而在该领域积累丰富的经验和技能。 ## 系统展示 单聊: 以下我只放了部分视频演示,该项目的各个部分都是视频演示,共计三十多个视频展示: ![image](https://file1.kamacoder.com/i/web/2025-08-18_12-28-59.jpg) 更多视频展示 可以在项目专栏的【项目展示以及测试】观看 ![image](https://file1.kamacoder.com/i/web/2025-08-18_12-29-34.jpg) ## KamaChat项目精讲 该项目的专栏是[知识星球](https://programmercarl.com/other/kstar.html)录友专享的。 项目专栏依然是将 「简历写法」给大家列出来了,大家学完就可以参考这个来写简历: ![image](https://file1.kamacoder.com/i/web/20250407103128.png) 做完该项目,面试中大概率会有哪些面试问题,以及如何回答,也列出好了。 面试问题,都是星球录友那这个项目面试遇到的实际问题: ![image](https://file1.kamacoder.com/i/web/20250407103212.png) 专栏中的项目面试题都掌握的话,这个项目在面试中基本没问题。 很多录友在做项目的时候,把项目运行起来 就是第一大难点! 本项目运行起来 需要依赖的环境很多,所以我给大家准备的 自动化环境配置脚本, **项目运行环境,一键配置! 不需要大家去处理环境问题了**: ![image](https://file1.kamacoder.com/i/web/2025-08-18_12-32-49.jpg) 环境自动配置脚本执行中: ![image](https://file1.kamacoder.com/i/web/2025-08-18_12-33-20.jpg) 如果大家想进一步优化这个项目,这里给出可以深挖的点: ![image](https://file1.kamacoder.com/i/web/2025-08-18_12-33-47.jpg) 后端开发详细设计:包含 建表、日志库、架构、业务开发、群聊、后台管理、消息管理、管理员、文件上传下载、音视频通话等等: ![image](https://file1.kamacoder.com/i/web/2025-08-18_12-43-10.jpg) ![image](https://file1.kamacoder.com/i/web/2025-08-18_12-43-42.jpg) 前端开发详细设计: ![image](https://file1.kamacoder.com/i/web/2025-08-18_12-44-10.jpg) ![image](https://file1.kamacoder.com/i/web/2025-08-18_12-44-34.jpg) ## 答疑 本项目在[知识星球](https://programmercarl.com/other/kstar.html)里为 文字专栏形式,大家不用担心,看不懂,星球里每个项目有专属答疑群,任何问题都可以在群里问,都会得到解答: ![](https://file1.kamacoder.com/i/web/2025-09-26_11-30-13.jpg) ## 获取本项目专栏 **本文档仅为星球内部专享,大家可以加入[知识星球](./kstar.md)里获取,在星球置顶一**