从开发流程角度,对品优购项目简单的总结下,希望对各位同学有帮助
1. 项目介绍
1.1. 项目描述
1.2. 结构化一下
1.3. 图形化一下
1.3.1. 运营商后台
1.3.2. 商家后台
1.3.3. 网页前台
参考京东
2. 技术选型
前端:angularJS + Bootstrap
后台:SSM( springmvc+spring+mybatis)
数据库:mysql,使用mycat读写分离
开发模式:SOA
服务中间件:dubbox,需要和zookeeper配合使用
注册中心:zookeeper
消息中间件:Activemq,使用spring-jms
负载均衡:nginx
搜索:solr集群(solrCloud),配合zookeeper搭建, 使用spring-data-solor
缓存:redis集群,使用spring-data-redis
图片存储:fastDFS集群
网页静态化:freemarker
单点登录:cas
权限管理:SpringSecurity,
跨域:cros
支付:微信扫描
短信验证:阿里大于
密码加密:BCrypt
富文本:KindEditor
事务:声明式事务
任务调度:spring task
所有的技术,都可能涉及到为什么用?怎么用?用的过程中有什么问题?
3. 框架搭建
3.1. 前端
理解baseControler.js、base.js、base_pagination.js,以及每一个xxxController.js里面都公共的做了些什么。
- baseControler.js
分页配置
列表刷新
处理checkBox勾选 - xxxControler.js
自动生成增删改查 - base_pagination.js
带分页 - base.js
不带分页
3.2. dao
使用了mybatis逆向工程
4. 模块开发
逐个模块开发就好
4.1. 学会评估模块难不难
一个模块难不难从几方面考虑。
涉及几张表?
1,2张表的操作还是没有什么难度的。
涉及哪些功能?
增删改查,批量删除。
前端展示?
分页列表、树形、面包屑、三级联动、内容格式化。
4.2. 举几个简单模块的例子
4.2.1. 品牌管理
单表
分页、新增、删除、修改
4.2.2. 规格管理
2张表
分页、新增、删除、修改、显示优化(显示列表内容的一部分)
4.2.3. 模板管理
2张表
分页、新增、删除、修改、显示优化(显示列表内容的一部分)
4.2.4. 分类管理
单表
4.2.5. 商家审核
单表
4.3. 举一个复杂模块
4.3.1. 商品新增
需要插入3张表,tb_goods、tb_goods_desc、tb_item
前端:三级联动、富文本、图片上传、动态生成内容
4.3.2. 商品修改
需要从3张表获取数据,然后进行回显。
4.4. 典型模块设计
4.4.1. 管理后台
商品新增、商品修改
4.4.2. 前台页面
搜索模块实现
购物车模块实现
支付模块实现
秒杀模块实现
5. 开发过程中问题&优化
1.1. 登录
单点登录怎么实现
session怎么共享
1.2. 缓存
哪些场景需要用到redis
redis存储格式的选择
怎么提高redis缓存利用率
缓存如何同步
1.3. 图片上传
图片怎么存储
图片怎么上传
1.4. 搜索
怎么实现
数据量大、 并发量高的搜索
怎么分词
1.5. 消息通知
哪些情况用到activeMq
1.6. 优化
seo怎么优化
怎么加快访问速度
1.7. 秒杀
怎么处理高并发
秒杀过程中怎么控制库存
网友评论