4 Star 30 Fork 19

成恒 / tmall-server-repo

加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
README.md 7.10 KB
一键复制 编辑 原始数据 按行查看 历史
成恒 提交于 2023-11-21 19:52 . .

学茶商城(服务器端)

1. 项目介绍

1.1. 项目基本信息

本项目是一个通过茶文化相关资讯进行引流的,茶叶茶具相关的垂直电商平台。

在中国,喝茶的人很多,特别是近些年奶茶的流行,中国人对茶的需求明显提高,但是,绝大部分喝茶的人并不懂茶,甚至根本不了解茶,例如茶叶的种类、功效、喝茶的禁忌等,对茶叶的正常售价也不了解,更不了解茶文化,所以,我们搭建了这个平台,在平台上有许多关于茶相关的资讯,并对这些资讯进行了分类展示,希望用户可以更多的了解茶文化,同时,平台还有商城的功能,用户可以直接在我们的平台上购买茶相关的产品,比如茶叶、茶具等,避免用户因为不懂茶而踩坑。

项目中的主要功能包括:资讯相关的数据管理、商城相关的数据管理、用户相关的数据管理等。

整个项目包含以下几大模块:

  1. 基础数据服务(例如全国的省市区数据的访问,主要用于用户管理收货地址)

  2. 单点登录服务

  3. 附件管理服务(包括附件上传与访问)

  4. 账号后台管理服务

  5. 资讯后台管理服务

  6. 商城后台管理服务

  7. 账号前台管理服务

  8. 资讯前台管理服务

  9. 商城前台管理服务

1.2. 开发技术

本项目使用到了以下技术(使用各技术的依赖项进行列举):

  • spring-boot-starter-web
  • spring-boot-starter-validation
  • spring-boot-starter-security
  • spring-boot-starter-aop
  • spring-boot-starter-data-redis
  • spring-boot-starter-data-elasticsearch
  • spring-boot-starter-test
  • mybatis-spring-boot-starter
  • mybatis-plus-boot-starter
  • pagehelper-spring-boot-starter
  • druid-spring-boot-starter
  • knife4j-spring-boot-starter
  • lombok
  • jjwt
  • fastjson
  • hutool
  • alipay-sdk-java

2. 启动项目

2.1. 安装软件

在启动项目之前,你需要安装:

  • MySQL(或Maria DB) 5.5或以上版本
  • Redis
  • Elasticsearch
    • 需配置ik分词插件

并且,保证以上软件的处于可用状态。

2.2. 关于软件配置

本项目连接各数据库均使用默认配置,如下:

软件 主机 端口 用户名 密码
MySQL / MariaDB localhost 3306 root root
Redis localhost 6379 <无> <无>
Elasticsearch localhost 9200 <无> <无>

如果你不知道如何安装Redis或Elasticsearch,请参考本项目/doc/tutorial文件夹下的相关教程。

如果你的软件配置不同,需要调整你的软件配置,或修改各项目中application.yaml / application-dev.yaml相关配置文件中的配置值。

**注意:**本项目拆分了多个模块,但并不是微服务项目,所以没有使用集中的配置(例如:没有使用配置中心),如果你尝试修改连接以上软件的配置,则需要修改每个模块下对应的配置文件中的配置值。

2.2. 创建数据库与数据表

需要创建名为tedu_tea_mall的数据库,创建代码示例:

CREATE DATABASE tedu_tea_mall;

切换到此数据库,通过本项目中的/doc/sql/create_table文件夹下的各个.sql文件(多个脚本文件,分别用于创建不同数据表)即可创建当前项目所需的数据表。

2.3. 配置上传文件夹

请自行准备一个具有访问权限的文件夹,将作为本项目上传文件(例如文章或商品的图片等)的存储文件夹,并且,把此文件夹的路径配置到tmall-attachment项目的src/main/resources/application-dev.yaml文件中的tmall下的upload下的root-dir-name属性的值。

2.4. 插入测试数据

为了便于初次使用,并更好的理解各表的字段作用,你还可以执行/doc/sql/insert_data文件夹下的各个.sql文件,以插入测试数据。

注意:插入数据的脚本文件中均包含truncate语句,这意味着执行这些脚本时会清空表中已有的数据,所以,如果你并不是第一次执行这些脚本文件,需要评估是否应该执行这些脚本文件!

提示:通过脚本插入的所有用户数据中,密码的原文均为123456

提示:为了得到更好的试用体验,部分测试数据是包含图片的,这些图片在/doc/upload-files下,建议将resources文件夹的全部内容复制到你此前准备的上传文件夹下的/upload文件夹下。

注意:在/doc/sql/insert_data文件夹下的各个.sql文件中,你可能需要修改源代码中的测试数据的图片URL,否则图片可能无法正确显示在网页中

2.5. 占用端口说明

本项目各模块启动时占用端口信息如下:

服务名 服务说明 端口号 API文档
tmall-basic 基础数据服务 19080 http://localhost:19080/doc.html
tmall-passport 单点登录服务 19081 http://localhost:19081/doc.html
tmall-attchment 附件上传服务 19082 http://localhost:19082/doc.html
tmall-admin-account 账号管理后台服务 19180 http://localhost:19180/doc.html
tmall-admin-content 资讯管理后台服务 19181 http://localhost:19181/doc.html
tmall-admin-mall 商城管理后台服务 19182 http://localhost:19182/doc.html
tmall-front-account 账号管理前台服务 19280 http://localhost:19280/doc.html
tmall-front-content 资讯管理前台服务 19281 http://localhost:19281/doc.html
tmall-front-mall 商城管理前台服务 19282 http://localhost:19282/doc.html

**注意:**许多功能均需要先登录才可以访问,在API文档中测试访问也是如此,你可能需要先通过“单点登录服务”进行登录,得到token后,将它配置在你的API文档的全局参数中的名为Authorization请求头属性中,才可以正常访问。如果你已经导入了测试数据,你将可以通过用户名为root且密码为123456的账号成功登录系统。

**注意:**当你尝试登录时,请不要在请求头中携带Authorization属性的值,否则可能导致登录失败!

2.6. 启动项目

你必须保证MySQL、Redis、Elasticsearch均已正确启动,才可以启动各项目!

特别注意的是:Elasticsearch可能不是开机自动启动的,你需要手动启动Elasticsearch!

3. 其它说明

3.1. 业务功能说明

当前版本中,已完成的业务功能数量总计超过100个,但与真正的电商项目相比仍有许大差距。

并不是每个完成的业务功能都会作为教学点进行讲授,许多业务功能的代码是提供用于课后参考与扩展的。

3.2. 缓存与搜索的说明

当前版本中,基于讲授的需求,将某些数据使用缓存进行存储,将某些数据放在搜索服务器中供搜索,但并不完整,另有其它数据是适合缓存或搜索的,并没有全部处理。

1
https://gitee.com/chengheng2022/tmall-server-repo.git
git@gitee.com:chengheng2022/tmall-server-repo.git
chengheng2022
tmall-server-repo
tmall-server-repo
master

搜索帮助