网上书店
1.1关于后端SpringBoot:使用SpringBoot搭建项目基本的框架。mysql :使用mysql数据库管理数据。Mybatis :使用Mybatis实现对数据库数据的操作。Dr
1.1关于后端
- SpringBoot:使用SpringBoot搭建项目基本的框架。
- mysql :使用mysql数据库管理数据。
- Mybatis :使用Mybatis实现对数据库数据的操作。
- Druid:使用阿里的数据库连接池Druid,以此来优化数据库连接并实现数据库的监控(Druid自带数据库监控界面)
- SpringSecurity和JWT:摒弃了之前使用session来保存登录信息的方式,选用了SpringSecurity和JWT实现了用户的登录和权限控制以及密码加密等。
- 主从复制:为了数据库的安全和更高的性能,我购买了两台服务器(本来想在虚拟机中实现,但是自己电脑开虚拟机之后会有些卡,后放弃),在每个服务器上安装了mysql数据库,进行相应配置实现了mysql数据库的主从复制。完成了数据库的冗余备份。
- 读写分离:我借助ShardingSphere-JDBC实现了数据库的读写分离,以进一步提高项目数据的读写性能。
- Redis:最后,我想着要给项目加个缓存,就选用了当前最流行的缓存数据库Redis对项目中的高频数据进行了缓存处理。
1.2关于前端
- Vue.js:对于前端,在之前的jsp项目中,我单纯使用最原始的方式jquery+html和css来实现界面的设计,那样的效率太过于低效,就放弃了那种方式。采用Vue.js技术。
- Vue-cli:利用Vue脚手架搭建前端项目框架。
- ElementUI:借助开源前端框架简化组件的设计
- Axios:Vue中Axios,其相当于封装过的Ajax,使用上大差不差。以此来实现前后端数据的交互
- Vue-router:实现前端页面之间的跳转,并且结合Vue中特有的功能,可以实现对前端页面权限的配置(即决定哪些页面是可以不登录进行访问的,哪些页面需要某种权限才能访问)
- Vuex:Vuex这类的技术出现的理念比较好理解,Vue中两个页面之间数据很难进行传递,所以就在这些界面之间设置一个中间人,利用中间人进行数据的传递。
- mavon-editor:一个markdown编辑器插件,以此实现对图书信息的富文本描述
- ECharts:一个数据可视化插件,以此实现对项目中统计数据的图表形式的显示
功能模块
这个项目总共分为两类人员,管理员和普通用户。下面对这两类人员的使用的功能进行介绍。
2.1管理员
图书管理
- 添加图书
- 删除图书(可批量删除)
- 修改图书
- 查看图书(分页查看)
- 图书上下架(可批量处理)
- 图书推荐(新品推荐、精品推荐,可批量处理)
出版社管理
- 新增出版社
- 删除出版社
- 修改出版社(基本信息、排序、启用状态,可分开处理)
- 查看出版社(分页查看)
图书分类管理(两级分类)
- 添加分类(两级分类,可自行添加一级分类和二级分类)
- 删除分类(删除一级分类的话所有二级分类也都会删除)
- 修改分类(基本信息和排序)
- 查看分类(分页查看一级分类,以及查看某个一级分类下的二级分类)
书单管理
- 添加一个书单专题
- 添加指定图书到书单专题中(可批量处理)
- 删除书单
- 移除书单中的指定图书
- 修改书单(基本信息、权重、上下架状态,可分开处理)
- 查看书单(分页查看)
- 查看指定书单的图书信息(分页查看)
订单管理
- 查看订单(分页查看)
- 查看指定订单详细信息(订单商品明细、费用详情、收货地址详情)
- 订单发货(手工填写订单号和快递公司之后确认发货)
- 删除订单
用户管理
- 查看注册用户(分页查看)
- 修改用户禁用状态
数据统计
- 根据选取时间段查看订单统计(图标显示)
- 其他各类数据的统计
2.2用户
页面浏览
- 首页图书的各级分类
- 首页书单的轮播图
- 点击轮播图可查看书单详情页
- 首页图书的各类展示(最新出版、精品推荐、新品推荐、以及图书的分类展示)
- 点击某个分类可查看对应的图书数据(分页展示)
- 图书详情页数据的展示
购物车
- 添加商品到购物车
- 删除购物车中指定商品
- 在购物车中修改商品数量
- 查看购物车商品
下单模块
- 在商品详情页下单
- 在图书分类展示和书单页面下单
- 在购物车中下单
- 点击下单后会跳转至购买页面进行地址选择,最后再下单确认
地址管理
- 添加收货地址信息
- 删除收货地址信息
- 修改收货地址信息
- 查看收货地址地址信息
订单管理
- 查看自己所下订单(可分类查看,已付款、未收货、订单回收站)
- 删除订单
- 确认收货
个人信息管理
- 个人信息查看
- 个人信息修改
- 密码修改
3、技术栈和工具包
3.1后端
- Springboot
- Mysql
- Mybatis
- Druid
- SpringSecurity
- JWT
- ShardingSphere-JDBC
- Redis
3.2前端
Vue.js(包含Vue-cli、Vux-Router、Axios、Vuex)
ElementUI
Mavon-editor
ECharts
Js
CSS
HTML
项目界面概览


