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

科技一飞开源 2024-07-21 16:28:56

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

一、开源项目简介

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/

0 阅读:0