项目介绍

本项目命名为快购商城,分为两个端:用户端和管理端。

前台商城系统(用户端):包含首页门户、商品分类、新品上线、首页轮播、商品推荐、商品搜索、商品展示、购物车、订单结算、订单流程、提醒发货、订单取消、个人订单管理、会员中心、个人积分、帮助中心等。

商家管理系统(商家端):包含数据面板、轮播图管理、商品管理、订单管理、会员管理、积分管理、分类管理、订单提醒处理等。

功能会逐步优化和完善,本项目现在是构建了第二个版本。第一个版本是单体架构。

适合人群

本项目适合初级、中级以及部分高级。

技术栈

项目中运用到的技术栈:

  • Spring Boot:构建项目基础
  • Dubbo:服务治理和调用
  • Zookeeper:注册中心、分布式锁
  • Mybatis:数据库持久化
  • thymeleaf:前端渲染引擎
  • Redis:缓存、分布式锁、排行榜等
  • MySQL:数据存储
  • RabbitMQ:消息队列异步化、解耦
  • Seata:分布式事务
  • OSS:图片存储

开发工具:

  • IDEA
  • JDK1.8+
  • Navicat for MySQL
  • Typora 文档编写
  • ZooInspector zk看客户端

数据库表

本项目数据库分为以下三个库:

用户中心

数据库名:happy-mall-user
表名:

  • tb_mall_user用户表
  • tb_mall_admin_user 商家表
  • tb_user_points用户积分表
  • tb_login_log 用户登录日志表

订单中心

数据库名:happy-mall-order
表名:

  • tb_mall_order订单表
  • tb_mall_order_item 订单详情表
  • tb_mall_shopping_cart_item 购物车
  • tb_order_remind提醒商家发货

商品中心

数据库名:happy-mall-goods
表名:

  • tb_mall_carousel首页轮播商品表
  • tb_mall_goods_category物品分类表
  • tb_mall_goods_info 物品详情表
  • tb_mall_index_config 首页配置表

营销中心

数据库名:happy-mall-market

这一块还在设计中,但是作为一个电商系统,这一块肯定是有的,暂时TODO,后面会更新上来的。

项目结构介绍

happy-shopping-v2 模块介绍

mall-web 用户端展示项目

由于本项目不是前后端分离,前端渲染使用的是Thymeleaf,所以就会存在这么一个前端web服务,也可以当做是一个网关系统,不做具体业务,只是调用服务,数组整合然后展示。

mall-admin 商家端展示项目

同mall-web系统类似,这里就不在赘述了。

mall-goods商品服务

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9FK1tGTC-1649599599131)(E:\workspace\other\happy-shopping-v2\assets\1649597830601.png)]

商品服务包含以下内容:

  • 首页展示的轮播图
  • 商品种类
  • 首页配置展示
  • 商品信息

Dubbo服务形式供外部调用。

mall-order订单服务

订单服务包含以下内容:

  • 订单
  • 订单详情
  • 购物车
  • 提醒商家

Dubbo服务形式供外部调用。

mall-job定时任务服务

待完善

mall-mq消息队列服务

消息队列项目包含以下内容:

  • 登录日志记录:用户每次登录进行日志记录
  • 订单超时未支付:用户订单提交了,但已超过应支付时间
  • 购物车商品下架:用户已加入购物车的商品下架,对应购物车商品也失效。
  • 购物车数量更新:每次加入购物车、订单提交等都应该更新购物车数量。

以单独Spring Boot项目存在

mall-common 公共服务

公共服务暂时还没实现具体功能,目前只是做一个统一工具类,然后其余个服务引用jar包即可。

后期可能会做一些服务,比如:分布式生成ID

目前就是一个单独的jar包,后期规划成Dubbo服务供外部系统调用。

mall-user用户服务

用户服务主要包含以下内容:

  • 用户信息
  • 商家信息
  • 用户积分

该服务以Dubbo服务供外部系统调用

系统功能点

用户端功能点

  • 首页商品展示
  • 首页商品搜索
  • 商品详情
  • 注册
  • 登录
  • 退出
  • 添加到购物车
  • 查看购物车
  • 提交订单
  • 订单支付
  • 取消订单
  • 我的订单列表
  • 我的积分
  • 提醒发货

后台管理端功能点

  • 商品添加
  • 商品修改
  • 商品下架
  • 商品上架
  • 首页轮播图配置
  • 首页热销商品配置
  • 首页新品上线配置
  • 首页推送商品配置
  • 用户管理
  • 商品分类管理
  • 禁用
  • 解除禁用
  • 订单修改
  • 订单查询
  • 配货完成
  • 出库
  • 关闭订单
  • 积分管理
  • 消息管理
  • 修改密码
  • 退出

暂时想到这些,后面想到了继续完善。

项目收获

通过上面这个项目,你将可以收获如下技能包:

  • 分布式锁在项目中如何用
  • 线程池在项目中如何使用
  • 缓存如何在项目使用
  • 如何防止缓存穿透
  • 分布式session如何处理
  • 分布式事务在项目中如何运用
  • 如何利用Spring Boot+Dubbo+Zookeeper+MyBatis+MySQL+Redis+Rabbitmq构建一个微服务架构
  • 分库分表在项目中的使用

项目整体介绍就到这里,我们下一篇文章见。

电商项目需求整理和分析相关推荐

  1. 超详细测试项目——Web电商项目测试点整理.....

    虽然说近些年来,软件测试找工作的时候,简历中如果写着电商项目被认为是烂大街的项目,甚至受到根本不了解行情的HR或者部分公司的技术人员的刁难,但是:电商这么流行普遍的项目和应用,这不是很正常么! 毕竟全 ...

  2. 43.Spark大型电商项目-用户访问session分析-top10热门品类之需求回顾以及实现思路分析

    目录 需求回顾 top10热门品类 二次排序 实现思路分析 本篇文章将记录用户访问session分析-top10热门品类之需求回顾以及实现思路分析. 需求回顾 top10热门品类 计算出来通过筛选条件 ...

  3. 50.Spark大型电商项目-用户访问session分析-top10热门品类之本地测试

    本篇文章记录用户访问session分析-top10热门品类之本地测试. 在测试的过程中,到很多问题. 问题一:二次排序需要序列化,否则会在程序运行的时候报错. public class Categor ...

  4. 电商项目接口测试实践-postman

    电商项目接口 #整理接口 通过登录后台(http://www.testingedu.com.cn:8000/admin)-添加商品-抓包分析登录接口&添加商品接口 #遇到的问题? fiddle ...

  5. 【项目实战】Python实现基于LDA主题模型进行电商产品评论数据情感分析

    说明:这是一个机器学习.数据挖掘实战项目(附带数据+代码+文档+视频讲解),如需数据+代码+文档+视频讲解可以直接到文章最后获取. 视频: Python实现基于LDA模型进行电商产品评论数据情感分析 ...

  6. 电商项目超详细测试点整理(一)

    虽然说近些年来,软件测试找工作的时候,简历中如果写着电商项目被认为是烂大街的项目,甚至受到根本不了解行情的HR或者部分公司的技术人员的刁难,但是:电商这么流行普遍的项目和应用,这不是很正常么! 毕竟全 ...

  7. K8S 部署电商项目

    Ingress 和 Ingress Controller 概述 在 k8s 中为什么会有 service 这个概念? Pod 漂移问题 Kubernetes 具有强大的副本控制能力,能保证在任意副本( ...

  8. 简历里写了电商项目 ,面试的时候怎么回答

    商项目里的技术特点? ①技术更新较快:根据市场的需求,不断迭代更新. ②技术涉及面广:除了 PHP,还会用到 Python,GO 等其他的一些语言:数据库中 MySQL,nosql 是最频繁使用的(当 ...

  9. 老表笔记之电商项目实战测试流程

    寰球优品电商项目-购物车的功能需求分析 01 寰球优品电商项目的核心业务流程 注册登录>浏览商品>添加购物车>提交订单>订单支付>查看订单 02 软件测试点分析基本原则- ...

最新文章

  1. 移动端网页乱象怎么破?搜狗搜索正在为行业建言
  2. http://hi.baidu.com/grayworm/blog/item/c76c4046307d380a6a63e56a.html
  3. c语言结构体和函数,【提问】问个C语言结构体和函数的问题
  4. Access denied (java.lang.RuntimePermission getClas
  5. 图片剪切空指针崩溃问题在Android 6.0系统出现
  6. mysql readline_readLine的两种用法
  7. 2012服务器系统关闭网络共享,提供网络服务的前提,Windows Server 2012如何更改高级共享设置...
  8. 第一册:lesson forty three。
  9. Linux下编译googletest
  10. Qt窗口内嵌Word,PPT,Excel
  11. JSP--矩形(圆)面积计算器
  12. 机器学习6scikit-learn中的scaler
  13. 自己diy的一个简单的家居管理系统
  14. Vue3.2 使用 汉字转拼音的插件pinyin-pro 库
  15. 简单五子棋,加入存储,读取功能
  16. SAP那些事-理论篇-3-SAP到底是个什么东东
  17. Python3 数据库(MySQL/MongoDB/Redis)
  18. 破解webshell方法~
  19. 教程篇 | 史上最简单也最全新手Revit教程
  20. 超强大的dnsmasq及hosts全自动脚本扶墙去广告详细教程

热门文章

  1. 家庭网络组网技术介绍
  2. 0x12软考|网络工程师经验分享之下一代互联网(IPv6)
  3. C++公司员工考勤管理系统[2023-01-01]
  4. bottom-bar使用
  5. 低功耗蓝牙技术连接的那点事
  6. 广东电信实业400万美元代理韩国游戏
  7. 猿创征文|活在大二,前端的我勇往直前
  8. tomcat双击startup.bat黑窗口一闪而过
  9. php导出超过10万行数据到excel
  10. 【高等工程数学】南理工研究生课程 突击笔记3 不变因子与Jordan标准型