本项目是一个通过茶文化相关资讯进行引流的,茶叶茶具相关的垂直电商平台。
在中国,喝茶的人很多,特别是近些年奶茶的流行,中国人对茶的需求明显提高,但是,绝大部分喝茶的人并不懂茶,甚至根本不了解茶,例如茶叶的种类、功效、喝茶的禁忌等,对茶叶的正常售价也不了解,更不了解茶文化,所以,我们搭建了这个平台,在平台上有许多关于茶相关的资讯,并对这些资讯进行了分类展示,希望用户可以更多的了解茶文化,同时,平台还有商城的功能,用户可以直接在我们的平台上购买茶相关的产品,比如茶叶、茶具等,避免用户因为不懂茶而踩坑。
项目中的主要功能包括:资讯相关的数据管理、商城相关的数据管理、用户相关的数据管理等。
整个项目包含以下几大模块:
基础数据服务(例如全国的省市区数据的访问,主要用于用户管理收货地址)
单点登录服务
附件管理服务(包括附件上传与访问)
账号后台管理服务
资讯后台管理服务
商城后台管理服务
账号前台管理服务
资讯前台管理服务
商城前台管理服务
本项目使用到了以下技术(使用各技术的依赖项进行列举):
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
在启动项目之前,你需要安装:
并且,保证以上软件的处于可用状态。
本项目连接各数据库均使用默认配置,如下:
软件 | 主机 | 端口 | 用户名 | 密码 |
---|---|---|---|---|
MySQL / MariaDB | localhost | 3306 | root | root |
Redis | localhost | 6379 | <无> | <无> |
Elasticsearch | localhost | 9200 | <无> | <无> |
如果你不知道如何安装Redis或Elasticsearch,请参考本项目/doc/tutorial
文件夹下的相关教程。
如果你的软件配置不同,需要调整你的软件配置,或修改各项目中application.yaml
/ application-dev.yaml
相关配置文件中的配置值。
**注意:**本项目拆分了多个模块,但并不是微服务项目,所以没有使用集中的配置(例如:没有使用配置中心),如果你尝试修改连接以上软件的配置,则需要修改每个模块下对应的配置文件中的配置值。
需要创建名为tedu_tea_mall
的数据库,创建代码示例:
CREATE DATABASE tedu_tea_mall;
切换到此数据库,通过本项目中的/doc/sql/create_table
文件夹下的各个.sql
文件(多个脚本文件,分别用于创建不同数据表)即可创建当前项目所需的数据表。
请自行准备一个具有访问权限的文件夹,将作为本项目上传文件(例如文章或商品的图片等)的存储文件夹,并且,把此文件夹的路径配置到tmall-attachment
项目的src/main/resources/application-dev.yaml
文件中的tmall
下的upload
下的root-dir-name
属性的值。
为了便于初次使用,并更好的理解各表的字段作用,你还可以执行/doc/sql/insert_data
文件夹下的各个.sql
文件,以插入测试数据。
注意:插入数据的脚本文件中均包含truncate
语句,这意味着执行这些脚本时会清空表中已有的数据,所以,如果你并不是第一次执行这些脚本文件,需要评估是否应该执行这些脚本文件!
提示:通过脚本插入的所有用户数据中,密码的原文均为123456
。
提示:为了得到更好的试用体验,部分测试数据是包含图片的,这些图片在/doc/upload-files
下,建议将resources
文件夹的全部内容复制到你此前准备的上传文件夹下的/upload
文件夹下。
注意:在/doc/sql/insert_data
文件夹下的各个.sql
文件中,你可能需要修改源代码中的测试数据的图片URL,否则图片可能无法正确显示在网页中
本项目各模块启动时占用端口信息如下:
服务名 | 服务说明 | 端口号 | 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
属性的值,否则可能导致登录失败!
你必须保证MySQL、Redis、Elasticsearch均已正确启动,才可以启动各项目!
特别注意的是:Elasticsearch可能不是开机自动启动的,你需要手动启动Elasticsearch!
当前版本中,已完成的业务功能数量总计超过100个,但与真正的电商项目相比仍有许大差距。
并不是每个完成的业务功能都会作为教学点进行讲授,许多业务功能的代码是提供用于课后参考与扩展的。
当前版本中,基于讲授的需求,将某些数据使用缓存进行存储,将某些数据放在搜索服务器中供搜索,但并不完整,另有其它数据是适合缓存或搜索的,并没有全部处理。
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。