# mallchat **Repository Path**: pronting/mallchat ## Basic Information - **Project Name**: mallchat - **Description**: 一个基于 Netty 打造的易用聊天应用,支持多平台部署,提供丰富的消息处理和用户管理功能。 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-04-23 - **Last Updated**: 2025-09-17 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README

MallChat-抹茶

一个既能购物又能即时聊天的电商系统。致力于打造互联网企业级项目的最佳实践。
电商该有的购物车、订单、支付、推荐、搜索、拉新、促活、推送、物流、客服、它都必须有。


> **快速体验地址**:[抹茶聊天首页](https://mallchat.cn) # 项目介绍 抹茶聊天是一个 IM 项目,通过 Netty 实现和前端的 Websocket 连接。内含微信扫描登录,成员列表,支持消息列表,消息互动,支持文字,语音,图片,文件多样化的聊天方式,还有很多实用的小功能比如离线消息推送,消息已读未读数统计等等,参考市面上成熟的 IM 产品如 QQ ,微信设计完成 ![p92nKne.png](/doc/readme/项目大纲.jpg) ## 技术选型 | 技术 | 说明 | 官网 | | :-----------------: | ------------------------------------------ | ------------------------------------------------------------ | | SpringBoot | web开发必备框架 | [https://spring.io/projects/spring-boot](https://spring.io/projects/spring-boot) | | MyBatis | ORM框架 | http://www.mybatis.org/mybatis-3/zh/index.html | | MyBatisPlus | 零sql,简化数据库操作,分页插件 | [https://baomidou.com/](https://baomidou.com/) | | Redis | 缓存加速,多数据结构支持业务功能 | [https://redis.io](https://redis.io) | | Caffeine | 本地缓存 | http://caffe.berkeleyvision.org/ | | Nginx | 负载均衡,https配置,websocket升级,ip频控 | [https://nginx.org](https://nginx.org) | | Docker | 应用容器引擎 | [https://www.docker.com](https://www.docker.com) | | Oss | 对象存储 | [https://letsencrypt.org/](https://letsencrypt.org/) | | Jwt | 用户登录,认证方案 | [https://jwt.io](https://jwt.io) | | Lombok | 简化代码 | [https://projectlombok.org](https://projectlombok.org) | | Hutool | Java工具类库 | https://github.com/looly/hutool | | Swagger-UI | API文档生成工具 | https://github.com/swagger-api/swagger-ui | | Hibernate-validator | 接口校验框架 | [hibernate.org/validator/](hibernate.org/validator/) | | minio | 自建对象存储 | https://github.com/minio/minio | ## 方案设计 ![img.png](doc/readme/img.png) ## 亮点功能 - 游标翻页 - 万人群聊消息的推送 - 基于 Caffeine + Redis 的多级缓存框架 - 分布式场景下 IM 方案的选择 ## 环境配置 1. 在 `mallchat-chat-server` 项目的 `application.yml` 文件中设置运行的环境,改成 **test**。 2. 修改 `application-test.properties` 数据源信息,中间件信息,微信公众号信息 ## 启动前端项目 [!项目地址](https://gitee.com/Evansy/MallChatWeb) node > 16.x 安装依赖 ```shell nvm -i ``` 然后修改 websocket 交互地址, api 地址 ```shell nvm run dev ``` 启动前后端项目