开题报告-基于SpringCloud优选商城的设计实现

简介: 开题报告-基于SpringCloud优选商城的设计实现

一、选题的根据

2008年前后阿里巴巴和京东逐渐发展壮大,线上销售越来越被人们接受的喜爱。电商有着固有的优势:一是相对于传统店铺销售,电商平台商家并不需要实体销售地点,商家只需要向平台注册及缴纳相应费用并经过审核后即可上架商品。节约了一部分成本。二是消费者不需要实地去寻找想要的商品。只需要通过搜索即可获得平台多家店铺销售的同类商品,可以进行比对自行购买。三是电商平台上商家开始经营店铺的风险要小一些。随着社会经济生活的发展,人们更希望拥有方便快捷的购物方式。

随着人们生活水平、消费水平的不断提高以及第三方支付工具的不断完善和发展,国内电子商务平台环境日趋成熟,网络购物也成为人们日常生活中的一项重要内容。淘宝、京东等电商平台,己经融入到了人们生活的方方面面。伴随着业务的拓展和需求迭代,电商平台往往需要越来越多的功能提供支持。对于传统电商平台采用的单体式架构,在项目的发展初期,业务功能较少、代码不太复杂时,由于所有的后台业务逻辑集中在一个应用中,开发、测试的过程较为简单,但随着功能的扩展以及业务需求的不断迭代,单体应用将会变得越来越复杂。最终,项目在功能新增、维护升级等各方面的问题将会逐渐凸显而愈发严重。原有单体式架构的电子商务系统已经无法满足当前用户需求。一个灵活多变、易于扩展、易于维护和快速部署的电商系统,成为电子商务企业发展亟需解决的痛点。微服务架构在这样的需求下诞生,它通过对系统不同功能模块的高效拆分,将不同业务模块封装为独立运行的微服务,以满足电商系统的海量并发和快速开发诉求。依据微服务架构思想,将整个系统拆分为多个微服务。这些微服务进行单独开发和部署。从而降低模块间的耦合度,实现模块的逻辑清晰和高质量的代码开发,同时也可以加快持续交付的速度、提高系统的可拓展性、降低更换技术的难度。

二、研究内容

优选商城是一个综合性的B2C分布式电商平台,包括前台商城系统以及后台管理系统。优选商城包含购物过程中的每个阶段,整体流程为用户可以在商城进行根据喜好进行分类或全文检索商品,查看心仪的商品的详细信息并其进行加入购物车,在商城进行注册登录后可对商品进行下单、秒杀,支付订单、查看订单等操作。功能模块如下:

   前台商城系统包括:

库存管理: 管理员可以对仓库和库存进行管理。

  1. 登录认证服务: 用户可以在商城进行社交微博登录以及短信注册登录。
  2. 检索服务: 用户可以在首页进行分类查询或全文检索喜欢的商品。
  3. 商品详情: 用户点击某个商品可以查看商品详情信息,包括商品图片、价格、标题等参数。
  4. 购物车: 用户可以在商品详情页点击加入购物车,如果用户是未登录状态,则商品会被添加到游客购物车,待登录后合并到用户登录后的购物车,用户可以点击我的购物车对购物车里的商品进行删除和添加数量。
  5. 订单: 用户在购物车页选择好购物车内想要购买的商品,点击去结算时会先判断是否已登录,未登录则跳转登录页面,已登录则展示收货人、购物项等信息,提交订单时锁定库存创建订单, 进入订单详情页,用户可以对订单进行支付,支付成功后跳转订单列表,修改订单为已支付状态。若超时未支付则取消订单,修改订单状态为已取消状态。
  6. 支付: 用户点击提交订单,到达收银台页面,选择支付宝支付,来到支付宝返回的扫码支付页,页面包含商品部分描述以及需要支付的价格,用户需要在半小时内进行扫描或登录支付宝付款,超时则关闭订单,如果支付成功则支付宝给我们重定向到会员订单列表页。
  7. 秒杀: 展示当前时间段参与秒杀的商品,用户可对当前场次参与秒杀的商品进行抢购,每个用户对于秒杀场次的商品限购一次,如果用户未登录则跳转登录页面。
  8. 后台管理系统:
  9. 商品管理: 管理员可以发布商品,需要给商品添加所属分类以及商品图集等信息,还可以对商品进行多条件检索以及管理。
  10. 属性管理: 管理员可以对分类规格参数和销售属性进行增删改查。
  11. 品牌管理: 管理员可以上传品牌logo,对品牌进行增删改查操作。
  12. 用户管理: 管理员可以对商城会员和后台用户进行增删改查。
  13. 分类维护: 管理员可以对树形结构的三级分类进行增删改查。
  14. 优惠营销: 管理员可以上架每日秒杀场次信息并关联秒杀的商品,

三、研究方法、技术路线、实验方案及可行性分析

1.研究方法

本项目用到了以下多种研究方法:

文献研究法:通过查找技术文档与互联网上的技术实现方案,对所需要的资料进行整理与收集。 调查研究法:对现有类似系统进行调查与研究,分享现有系统的构成、功能与不足,完善本系统。 案例研究法:研究GitHub上开源项目,参考案例的实现手法。

(1)操作可行性:本系统操作简单,设计了良好的用户交换界面与用户引导,操作简洁明了。用户无需关心内部实现,开箱即用。

(2)技术可行性:本系统使用Java高级语言和稳定版本的框架开发,完全能实现系统核心功能模块的开发,技术上可行。

(3)经济可行性:由于是直接面向消费者销售产品,所以可以赚取商品利润,以及用户浏览网站的流量和接广告的费用,因此在经济上可行。

2.技术路线

通过观察市场类似的系统以及目前流行的技术,同时参考与开源平台上的开源项目,本系统模块设计的编程语言设计采用java作为基础语言,后台管理系统页面基于vue实现,前台页面基于html + thymeleaf实现,后端基于SpringBoot + SpringCloud + SpringCloudAlibaba实现。

开发软件采用IDEA作为编程工具,jdk基础运行环境采用jdk1.8版本,使用Maven3.6.3作为依赖管理工具以及项目构建工具,采用MySQL5.7作为数据库进行数据存储,数据库管理软件采用SQLyog。

3.实验方案

(1)技术实施方案

Linux中安装docker,拉取mysql、redis、nginx镜像,启动容器并构建数据库表,搭建开发环境,使用IDEA工具搭建好基础模块,根据数据库表生成基础代码,搭建分布式环境,编写业务代码,对代码进行测试,搭建前端环境,编写前端代码。

4.可行性分析

相关文章
|
25天前
|
负载均衡 Java 开发者
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
深入探索Spring Cloud与Spring Boot:构建微服务架构的实践经验
83 5
|
3月前
|
设计模式 Java 关系型数据库
【Java笔记+踩坑汇总】Java基础+JavaWeb+SSM+SpringBoot+SpringCloud+瑞吉外卖/谷粒商城/学成在线+设计模式+面试题汇总+性能调优/架构设计+源码解析
本文是“Java学习路线”专栏的导航文章,目标是为Java初学者和初中高级工程师提供一套完整的Java学习路线。
497 37
|
2月前
|
负载均衡 Java API
【Spring Cloud生态】Spring Cloud Gateway基本配置
【Spring Cloud生态】Spring Cloud Gateway基本配置
62 0
|
4月前
|
Java Spring
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
【Azure Spring Cloud】Spring Cloud Azure 4.0 调用Key Vault遇见认证错误 AADSTS90002: Tenant not found.
|
4月前
|
Java Spring 容器
【Azure Spring Cloud】在Azure Spring Apps上看见 App Memory Usage 和 jvm.menory.use 的指标的疑问及OOM
【Azure Spring Cloud】在Azure Spring Apps上看见 App Memory Usage 和 jvm.menory.use 的指标的疑问及OOM
|
4月前
|
存储 Java Spring
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
【Azure Spring Cloud】Azure Spring Cloud服务,如何获取应用程序日志文件呢?
|
4月前
|
SQL Java 数据库连接
【Azure Spring Cloud】Azure Spring Cloud connect to SQL using MSI
【Azure Spring Cloud】Azure Spring Cloud connect to SQL using MSI
|
4月前
|
Java 开发工具 Spring
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known
【Azure Spring Cloud】使用azure-spring-boot-starter-storage来上传文件报错: java.net.UnknownHostException: xxxxxxxx.blob.core.windows.net: Name or service not known
|
4月前
|
NoSQL Java Redis
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
【Azure Spring Cloud】Java Spring Cloud 应用部署到Azure上后,发现大量的 java.lang.NullPointerException: null at io.lettuce.core.protocol.CommandHandler.writeSingleCommand(CommandHandler.java:426) at ... 异常
|
4月前
|
Java Spring
【Azure 应用服务】记一次Azure Spring Cloud 的部署错误 (az spring-cloud app deploy -g dev -s testdemo -n demo -p ./hellospring-0.0.1-SNAPSHOT.jar --->>> Failed to wait for deployment instances to be ready)
【Azure 应用服务】记一次Azure Spring Cloud 的部署错误 (az spring-cloud app deploy -g dev -s testdemo -n demo -p ./hellospring-0.0.1-SNAPSHOT.jar --->>> Failed to wait for deployment instances to be ready)