[开源]一个既能购物又能即时聊天的电商系统,致力于打造最佳实践

一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!

一、开源项目简介

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 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/

相关推荐

  • 复旦打老师的男生,到手的研究生没了,北大已回应,打人原因曝光
  • 【第23讲】使用AI将老照片动起来
  • 百度员工:曾经年薪百万,失业后现在吃块肉也要看老婆脸色
  • 智能风控系统:框架搭建与设计(一)
  • 得物AB实验平台数据驱动决策实践
  • 12.3K Star 炫酷万人关注!!!浏览器中的数据库设计大师
  • KDD 2024|港大黄超团队深度解析大模型在图机器学习领域的「未知边界」
  • 权重、代码、数据集全开源,性能超越Mistral-7B,苹果小模型来了
  • 机器人版的「斯坦福小镇」来了,专为具身智能研究打造
  • 专访诺奖得主:大模型是记忆还是理解?
  • Spring Boot集成Spring Batch快速入门Demo
  • 如何准备源码面试?
  • 去了一家很恶心的小公司,遭了老罪了!
  • 如何用JavaScript实现视频观看时间追踪
  • 聊一聊 Node.js(Express)的 req.body、req.params 和 req.query 区别和应用场景
  • 重磅!国家超算互联网正式上线!
  • 突发!微软蓝屏,全球宕机。。。
  • 吃了个饭,有点疯狂呀。。。
  • 鱼皮 C++ 学习路线,一条龙版
  • 耗时几个月,我们做的小工具上线啦!