一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
一个既能购物又能即时聊天的电商系统。致力于打造互联网企业级项目的最佳实践。电商该有的购物车、订单、支付、推荐、搜索、拉新、促活、推送、物流、客服、它都必须有。持续更新 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 i
npm 安装报错, 命令后加参数 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/