{"id":19180256,"url":"https://github.com/kirainmoe/mechat","last_synced_at":"2025-07-12T20:39:54.791Z","repository":{"id":37199341,"uuid":"226676173","full_name":"kirainmoe/MeChat","owner":"kirainmoe","description":"💌MeChat - A simple cross-platform chatting software for PC. (XMU 2018 Data-Structure curriculum design)","archived":false,"fork":false,"pushed_at":"2023-01-05T02:57:19.000Z","size":5962,"stargazers_count":8,"open_issues_count":36,"forks_count":0,"subscribers_count":2,"default_branch":"master","last_synced_at":"2025-05-07T22:33:21.551Z","etag":null,"topics":["electron","instant-messaging","mobx","mongodb","nodejs","react","react-router"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/kirainmoe.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2019-12-08T13:58:50.000Z","updated_at":"2023-10-24T07:21:14.000Z","dependencies_parsed_at":"2023-02-03T07:31:27.397Z","dependency_job_id":null,"html_url":"https://github.com/kirainmoe/MeChat","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"purl":"pkg:github/kirainmoe/MeChat","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kirainmoe%2FMeChat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kirainmoe%2FMeChat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kirainmoe%2FMeChat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kirainmoe%2FMeChat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/kirainmoe","download_url":"https://codeload.github.com/kirainmoe/MeChat/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/kirainmoe%2FMeChat/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":265050104,"owners_count":23703639,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["electron","instant-messaging","mobx","mongodb","nodejs","react","react-router"],"created_at":"2024-11-09T10:48:37.477Z","updated_at":"2025-07-12T20:39:54.751Z","avatar_url":"https://github.com/kirainmoe.png","language":"JavaScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=center\u003e\u003cimg width=\"80px\" src=\"https://i.loli.net/2019/12/13/apDtvOrXb4YBhkC.png\"\u003e\u003cbr\u003eMeChat\u003c/h1\u003e\r\n\r\nMeChat：一个简单的、跨平台的电脑版聊天程序。\r\n\r\n这是厦门大学信息学院 2018 级计算机系数据结构课程设计：**题目七《实现电脑版的微信》**。\r\n\r\n![chatting.png](https://i.loli.net/2019/12/17/NdeBzYkitLEyqRj.png)\r\n\r\n## Demo\r\n\r\n可以在 [Release](https://github.com/kirainmoe/mechat/releases) 页面下载。\r\n\r\n目前支持 Windows 7+，macOS 10.13+, Linux.\r\n\r\n## Usage\r\n\r\n### 安装环境\r\n\r\nMeChat 服务端和客户端开发环境需要 `Node.js` 和 `MongoDB` 环境：\r\n\r\n- MongoDB：https://www.mongodb.com/download-center/community ，开发时使用的是 4.2.2 社区版。\r\n\r\n- Node.js：https://nodejs.org/en/ 开发时使用版本是 v12.9.1，理论上比此版本更新的版本都可以。\r\n\r\n\r\n### 克隆代码\r\n\r\n克隆此仓库的代码可能需要下载 `git`。\r\n\r\n```bash\r\ngit clone https://github.com/kirainmoe/mechat\r\ncd mechat\r\n```\r\n\r\n### 启动 MeChat 服务端\r\n\r\n服务端代码位于 `mechat-server` 目录中。\r\n\r\n```bash\r\ncd mechat-server\r\nnpm install        # 安装依赖\r\n```\r\n\r\n如果你需要修改服务器的端口、MongoDB 的密码等，可以修改配置文件 `config.js`，否则保持默认即可。\r\n\r\n然后启动 MeChat 服务端：\r\n\r\n```bash\r\nnpm start\r\n```\r\n\r\n在服务器端上部署的方法与上述一致。\r\n\r\n### 启动 MeChat 客户端开发服务器\r\n\r\nMeChat 客户端开发服务器，以及主要的前端程序代码位于 `mechat-core` 目录中。\r\n\r\n```bash\r\ncd mechat-core\r\nnpm install    # 安装依赖\r\n```\r\n\r\n启动 `webpack-dev-server` 开发服务器，默认的端口是 3000：\r\n\r\n```\r\nnpm start\r\n```\r\n\r\n### 启动 MeChat 客户端 GUI\r\n\r\nMeChat 客户端采用 Electron 构建，位于 `mechat-client` 目录中。启动方式如下：\r\n\r\n```bash\r\ncd mechat-client\r\nnpm install         # 安装依赖\r\nnpm start\r\n```\r\n\r\n### 打包 MeChat Electron 程序\r\n\r\n首先将 `mechat-core` 目录下的前端核心代码打包：\r\n\r\n```bash\r\ncd mechat-core\r\nnpm run build\r\n```\r\n\r\n打包完成会得到 `build` 目录，将其整个目录复制到 `mechat-client` 目录中，然后进入该目录执行打包命令：\r\n\r\n```bash\r\nnpm run pack             # 打包 Windows 程序\r\nnpm run pack:macos       # 打包 macOS 程序\r\nnpm run pack:linux       # 打包 Linux 程序\r\n```\r\n\r\n打包的可执行程序会存放在上一级目录的 `release` 文件夹中。\r\n\r\n## Functions\r\n\r\n- [x] 用户登录、注册功能\r\n- [x] 用户资料系统\r\n- [x] 好友和备注系统\r\n- [x] 群聊系统\r\n- [x] 实时信息推送\r\n- [x] 文字和图片发送\r\n- [x] 好友动态\r\n\r\n## Tech Stack\r\n\r\n### 服务端\r\n\r\n- Node.js (开发语言)\r\n- Express （Web 框架）\r\n- MongoDB （数据库）\r\n- WebSocket （实时信息流协议）\r\n\r\n### 客户端\r\n\r\n- Electron （GUI 框架）\r\n- webpack (模块打包程序)\r\n- React（Javascript 框架)\r\n- react-router（路由框架）\r\n- mobx（状态管理框架）\r\n\r\n### 其它\r\n\r\n- font-awesome（UI 图标库）\r\n- honoka\r\n\r\n\r\n## Screenshot\r\n\r\n![login.png](https://i.loli.net/2019/12/17/EsZVKO6rAIH5axp.png)\r\n\r\n![register.png](https://i.loli.net/2019/12/17/K9gAi6rf1U4tCTj.png)\r\n\r\n![chatting.png](https://i.loli.net/2019/12/17/NdeBzYkitLEyqRj.png)\r\n\r\n![profile-edit.png](https://i.loli.net/2019/12/17/2qxNlmRneDgHO3f.png)\r\n\r\n![group.png](https://i.loli.net/2019/12/17/kyvHTzjaoeSrUpc.png)\r\n\r\n![circle-1.png](https://i.loli.net/2019/12/17/xDrpdIAz4UXsJbG.png)\r\n\r\n![circle-3.png](https://i.loli.net/2019/12/17/5L4dNjwrvcgyGAO.png)\r\n\r\n![circle-2.png](https://i.loli.net/2019/12/17/IHz1cJufgesGdNT.png)\r\n\r\n## Copyright \u0026 License\r\n\r\n\u0026copy;2019 [Yume Maruyama (Yuhang Qiu)](https://github.com/kirainmoe).\r\n\r\nThis project is my curriculum design of XMU 2018 Data Structure course.\r\n\r\nMeChat is MIT Licensed.\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkirainmoe%2Fmechat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fkirainmoe%2Fmechat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fkirainmoe%2Fmechat/lists"}