一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介MallChat-抹茶一个既能购物又能即时聊天的电商系统。致力于打造互联网企业级项目的最佳实践。电商该有的购物车、订单、支付、推荐、搜索、拉新、促活、推送、物流、客服、它都必须有。持续更新 ing~
二、开源协议使用Apache-2.0开源协议
三、界面展示四、功能概述抹茶聊天是一个IM项目,通过netty实现和前端的websocket连接。内含微信扫描登录,成员列表,消息列表,消息互动,丰富的消息类型,还有很多实用的小轮子列如aop日志,分布式锁注解,频控注解,ip解析归属地等,持续更新中。。。
五、技术选型后端技术技术
说明
SpringBoot
web开发必备框架
MyBatis
ORM框架
MyBatisPlus
零sql,简化数据库操作,分页插件
Redis
缓存加速,多数据结构支持业务功能
Caffeine
本地缓存
Nginx
负载均衡,https配置,websocket升级,ip频控
Docker
应用容器引擎
Oss
对象存储
Jwt
用户登录,认证方案
Lombok
简化代码
Hutool
Java工具类库
Swagger-UI
API文档生成工具
Hibernate-validator
接口校验框架
minio
自建对象存储
环境搭建在项目目录下的application.yml修改自己的启动环境spring.profiles.active = test然后找到同级文件application-test.properties,填写自己的环境配置。
前端技术技术
说明
Vue3
前端流行开发框架
Pinia
vue3 官方推荐状态管理框架
vue-router
Vue 的官方路由
TypeScript
让 JS 具备类型声明
Element Plus
缓基于 vue3 的组件库
Alova
轻量级的请求策略库,用起来负担比 axios 小
vite
极速的前端打包构建工具
pnpm
速度快、节省磁盘空间的软件包管理器
项目启动及部署环境: node 16.18+, 包管理工具 pnpm (安装完 node 执行 npm i pnpm -g 即可);安装依赖: clone 工程之后,执行 pnpm inpm 安装报错, 命令后加参数 npm i --ignore-scripts 忽略 scripts 相关依赖即可解决推荐使用 pnpm, 安装依赖不会有 因为网络而失败 的问题启动: 按 F5 即可自动执行 pnpm run dev 并且打开浏览器部署部署到本地:执行 pnpm build 构建完成后把 dist 文件夹 放到服务器,并配置 nginx 即可自动 CI/CD:通过 github actions 在代码提交到 GitHub 之后自动构建并部署到服务器, 详细参考可查看 deploy.yml六、源码地址访问一飞开源:https://code.exmay.com/