淘淘商城项目 ——day1(项目的搭建)

一 项目介绍

   我们要开发一个类似于天猫,京东一样的B2C电商平台,系统架构如下图所示:

1.1  营销模式介绍

O2O线下产品与互联网结合,通过互联网购买线下产品,比如:外卖

O2C:私人订制,用户将需求给商家说,根据需求定制产品。比如:定制家具

B2B:企业之间的交易,直接到企业中买产品。

B2C:商家和个人的直接交易

C2C:个人和个人之间的直接交易

1.2 功能介绍

后台管理系统:管理商品、订单、类目、商品规格属性、用户管理以及内容发布等功能。

前台系统:用户可以在前台系统中进行注册、登录、浏览商品、首页、下单等操作。

会员系统:用户可以在该系统中查询已下的订单、收藏的商品、我的优惠券、团购等信息。

订单系统:提供下单、查询订单、修改订单状态、定时处理订单。

搜索系统:提供商品的搜索功能。

单点登录系统:为多个系统之间提供用户登录凭证以及查询登录用户的信息。

1.3 系统架构

1.3.3、传统架构

思考:这种架构有什么问题?

1、模块之间耦合度太高,其中一个升级其他都得升级

2、开发困难,各个团队开发最后都要整合一起

3、系统的扩展性差

             4、不能灵活的进行分布式部署。

1.3.4、分布式架构

分布式架构:

      把系统按照模块拆分成多个子系统。

优点:

  1. 把模块拆分,使用接口通信,降低模块之间的耦合度。
  2. 把项目拆分成若干个子项目,不同的团队负责不同的子项目。
  3. 增加功能时只需要再增加一个子项目,调用其他系统的接口就可以。
  4. 可以灵活的进行分布式部署

缺点:

  1. 开发难度高,学习成本高
  2. 子系统之间要实现通信,对网络要求很高

1.4、技术选型(主要技术

Spring、SpringMVC、Mybatis(或者使用SpringBoot)

JSP、JSTL、jQuery、jQuery plugin、EasyUI、KindEditor(富文本编辑器)、CSS+DIV

Redis(缓存服务器)

Solr(搜索):做搜索的

httpclient(调用系统服务):系统之间进行交互的

Mysql

Nginx(web服务器)

1.5、开发工具和环境

Eclipse 4.5.0(Mars),自带maven插件,需要手工安装svn插件。

Maven 3.3.3(开发工具自带)

Tomcat 7.0.53(Maven Tomcat Plugin)

JDK 1.7

Mysql 5.6

Nginx 1.8.0

Redis 3.0.0

Win7 操作系统

SVN(版本管理)/GIT

1.6、人员配置

产品经理:3人,确定需求以及给出产品原型图。

项目经理:1人,项目管理。

前端团队:5人,根据产品经理给出的原型制作静态页面。

后端团队:20人,实现产品功能。

测试团队:5人,测试所有的功能。

运维团队:3人,项目的发布以及维护。

二 分析

2.1、技术分析

         我们使用maven进行项目构建,因为maven可以直接部署项目和运行项目,而且使用maven可以搭建聚合项目等,而且会自动管理jar包。

          我们的x

2.2、maven项目分类

pom:这个项目我们不写代码,只定义版本,其他的项目继承该项目统一jar包版本(不用运行项目,自定义模板)

Jar:写一些功能,提供出去给其他系统使用。(比如:工具类:处理字符串、时间等)

war:web工程,可以放到web容器中运行,一个web项目最少要有一个war工程

2.3、maven项目之间的关系

1)继承:maven项目之间可以继承,继承之后,子项目可以使用父项目中的依赖,不用写version。

2)聚合:每个系统可以揉到一起组成一个大的项目。

3)依赖:系统使用其他的jar包,其实jar包就是一个项目打成的包

2.4、创建项目分析(分模块开发)

三 后台系统搭建

3.1、设置eclipse

1)配置maven

2)切换视图:package explorer

配置maven

切换视图

3.2、创建父工程

3.2.1、创建工程

功能:定义jar包版本(不用运行,只是为了定义jar包的版本)

类型:pom

3.2.2、配置pom文件

<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.taotao</groupId>
  <artifactId>taotao-parent</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>pom</packaging>

<!-- 集中定义依赖版本号 -->
	<properties>
		<junit.version>4.12</junit.version>
		<spring.version>4.1.3.RELEASE</spring.version>
		<mybatis.version>3.2.8</mybatis.version>
		<mybatis.spring.version>1.2.2</mybatis.spring.version>
		<mybatis.paginator.version>1.2.15</mybatis.paginator.version>
		<mysql.version>5.1.32</mysql.version>
		<slf4j.version>1.6.4</slf4j.version>
		<jackson.version>2.4.2</jackson.version>
		<druid.version>1.0.9</druid.version>
		<httpclient.version>4.3.5</httpclient.version>
		<jstl.version>1.2</jstl.version>
		<servlet-api.version>2.5</servlet-api.version>
		<jsp-api.version>2.0</jsp-api.version>
		<joda-time.version>2.5</joda-time.version>
		<commons-lang3.version>3.3.2</commons-lang3.version>
		<commons-io.version>1.3.2</commons-io.version>
		<commons-net.version>3.3</commons-net.version>
		<pagehelper.version>3.4.2-fix</pagehelper.version>
		<jsqlparser.version>0.9.1</jsqlparser.version>
		<commons-fileupload.version>1.3.1</commons-fileupload.version>
		<jedis.version>2.7.2</jedis.version>
		<solrj.version>4.10.3</solrj.version>
	</properties>
	<!-- 只定义依赖的版本,并不实际依赖 -->
	<dependencyManagement>
		<dependencies>
			<!-- 时间操作组件 -->
			<dependency>
				<groupId>joda-time</groupId>
				<artifactId>joda-time</artifactId>
				<version>${joda-time.version}</version>
			</dependency>
			<!-- Apache工具组件 -->
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-lang3</artifactId>
				<version>${commons-lang3.version}</version>
			</dependency>
			<!-- 文件上传组件 -->
			<dependency>
				<groupId>commons-fileupload</groupId>
				<artifactId>commons-fileupload</artifactId>
				<version>${commons-fileupload.version}</version>
			</dependency>
			<dependency>
				<groupId>org.apache.commons</groupId>
				<artifactId>commons-io</artifactId>
				<version>${commons-io.ve
  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值