项目介绍
摩拜客这个项目基于o2o模式开发的一个以摩托车为核心的项目。随着生活质量提高,也鉴于现在城市交通的拥堵情况,许多人开始转变观念,开始考虑摩托车出行,或者对于摩托车的兴趣,开始玩摩托车。基于以上场景,我们选择开发了这个项目。我们平台主要提供了摩托车的购买选型,各种品牌车型的信息,摩友圈的交流论坛,摩托相关资讯等基本功能,还提供了摩托车服务,比如相关物品购买,二手车转卖,摩托车相关知识学习等功能的一个综合性平台。它主要有组织机构,用户,服务,论坛,订单, 支付等模块。它还支持商家入驻,合作加盟,通过线上了解咨询,线下选择就近店铺进行购买消费的方式与店铺产生合作达到合作共赢。这个项目使用的开发模式是前后端分离开发模式,前端使用的是vue技术栈,后台使用的是springboot+ssm+docker。
负责模块
我主要负责的是组织机构模块,用户模块和买卖车模块
-
员工,部门管理
公司人员管理,店铺人员管理以及部门管理 -
店铺管理
店铺入驻 店铺审核,实名认证,支付方式绑定(支付宝,微信,银联),店铺创建员工 -
用户管理
用户注册;
用户登录:账号登录,三方登录,验证码登录;
收藏:爱车,论坛问答,文章,资讯,活动;
足迹:浏览记录,评论点赞 ; -
买卖车管理
购车需求的发布;
附近门店的推送;
转手二手车;
模块详细介绍
模块 | 业务 | 表设计 |
---|
人员管理 | 由于需要管理公司内部人员和入驻商家店主的信息,所以需要通过后台管理页面进行人员信息的查看,添加,修改和删除。 | 人员表:用户名,密码,邮箱,电话,年龄,状态,店铺表id,登录表 id,商品表id |
店铺管理 | 本项目支持商家的入驻,所以需要对商家店铺进行管理。 | 店铺名,店铺电话,入驻时间,状态,店铺地址,上传的店铺logo的地址,店主表id |
模块 | 业务 | 表设计 |
---|
注册 | 注册包含了邮箱注册和手机号注册,但基本逻辑是一样的 | 用户表:用户名,密码,加密盐值,邮箱,电话,年龄,状态(当用户用手机注册,默认为激活状态,当为邮箱注册,需要发送邮箱验证来激活),注册时间,登录表 id |
登录 | 管理员和用户公用一张登录表,但需要用type来区分,使用type来区分 | 用户名,密码,加密盐值,邮箱,电话,状态,是否启用状态。 |
收藏 | 用户对于收藏品的操作 | 用户id,产品id |
足迹 | 用户需要对最近访问的浏览记录进行查看 | 用户id,访问的链接地址 |
- 三方登录流程设计思路
收藏图标放在商品详情页,所以要在进入商品详情页的时候进行判断,判断该用户有没有收藏该商品!如果该用户已收藏该商品,则图标显示 已收藏,反之,则显示 收藏 。
根据点击图标所显示的文字来判断你所进行的操作,如果收藏,触发收藏事件,通过ajax进行该用户对该产品的收藏方法;点击已收藏,则触发取消收藏事件,也是通过ajax进行该用户对该产品的取消收藏方法。
如有侵权,请联系删除 -
买卖车管理
模块 | 业务 | 表设计 |
---|
购车需求发布 | 当用户需要购车时,可以填写需要的购车意向,系统会自动选择匹配,方便购车 | 购车基本信息,信息表的发送地址,状态,发布的用户和周边商家id |
附近门店推送 | 可以将周围的店铺推送给用户,方便用户看车,购车 | 所有店铺经纬度 |
二手车买卖 | 此项目支持用户的二手车买卖 | 卖车的基本信息,信息表的发送地址,状态,发布的车主信息,购车的车主信息 |
项目人员组成
项目人员共15人,历时七个月
职位 | 内容 |
---|
项目经理(PM) | 管人管项目 1人 |
架构师(SE) | 负责项目架构+技术选型+疑难问题解决+培训 1人 |
UI | 设计界面 1人 |
H5 | 前端开发工程师 4人 |
后台 | 后台开发工程师 5人 |
测试 | 测试人员 2人 |
运维人员 | 搭建开发公共环境,线上环境 1人 |
技术要点
- Vue技术栈(nodejs npm webpack vuecli elmentui easymock),百度地图,三方登录接口,swagger ,ajax
- springboot+ssm+dockerRedis,微信三方登录接口,网建短信通,FastDFS,支付宝支付,MD5加密技术,邮件技术,Quartz,postman,CorsFilter,Nginx
- docker linux
FAQ
简单介绍最近做的项目
-
Anwser
你所做模块 2-3模块
-
Anwser
某某模块业务
-
Anwser
项目人员组成
-
15人
项目上线
-
没有
项目并发量 2000
-
2000
项目架构
-
前后端分类
前后端分离开发模式
-
并行开发 EasyMock swagger postman
跨越解决
-
ajax
开发时CorsFilter
上线Nginx
简单说一下fastdfs 是什么?项目中哪儿用?为什么要使用?怎么用?用的时候注意什么
-
fastdfn是一个开源的分布式文件管理系统,它负责对文件进行管理,解决了大容量存储和负载均衡的问题,我们项目中鉴于有论坛,图片展示这些功能,所以使用它来进行管理,使用时注意文件名分:组名,虚拟磁盘路径,数据两级目录和文件名;
- 简单说一下redis
-
redis是一个用C语言开发的key-value形式的高速缓存nosql(非关系型)数据库,在我我们的项目中,使用它来做各种流量的记录,记录用户的会话信息,缓存一些浏览信息;
Redis怎么实现队列
-
使用list可以构建队列系统;
Redis存储原理
-
redis的存储本来是以内存的方式,但他支持两种持久化的策略,RDB(redis database):指定的时间间隔能对数据进行快照存储
AOF(append only file):每一个收到的命令都通过write函数追加到文件中
需要通过redis.conf来进行配置;
淘汰策略
-
为了节约内存资源,我们使用了三种淘汰策略:从设置了过期时间的数据集里挑选将要过期的和最少使用的,从所有数据集里挑选使用最少的淘汰
用来激活账号或者短信通知
-
我们通过第三方程序接口来实现,在获取用户手机号后通过接口发送后台生成验证码到用户那,然后进行验证确定无误后进行注册激活
百度地图
-
我们通过接入百度地图的api来使用,当用户需要用的地图,比如我们推出的驾驶行程记录,查找附近的合作店铺等功能的时候,通过锁定用户的经纬度和所有合作店铺的经纬度来比较,列出周围的店铺;
微信三方登录 流程
-
用户点击三方登录按钮后,会发送授权请求给微信,就会弹出扫码界面。用户扫描登陆码之后,就会发送获取accessToken和openid的请求到后台,后台通过openid查询数据库后判断用户是否绑定,有则免密登录,没有则跳转到绑定页面;通过绑定页面回传的信息再次进行查询,如果有该用户,有则绑定后做登录成功处理;没有则新建用户并绑定微信后做登录成功处理。
支付宝支付 流程
-
用户选择支付方式点击支付后向后台发送支付请求,后台创建支付单后携带支付单标识调用对应支付方式的三方支付接口,然后做回调处理,同步回调用来做支付成功页面的跳转,异步回调支付成功的业务逻辑,比如修改支付单状态,修改订单状态,添加支付流水等;
加密技术
-
我们项目使用的是MD5加密技术,他是一种不可逆的加密技术,所以只能做对比。项目中我们使用它来生成密码,再加上随机产生的盐值来存储,使相同密码不同hash值,达到密码的安全。
邮件技术
-
项目中我们需要在审核后,向注册用户发送邮箱通知,所以需要用的邮箱技术,这里使用了Java的邮件工具和qq邮箱的支持。将获取的授权码放到封装好的邮箱工具类中,通过调用进行实现
Quartz
-
在这个项目中,我们需要对订单支付等功能做一个定时任务,所以我们使用Quartz框架。他相比timer工具类的好处就是能持久性作业和有效的管理作业。它是由scheduler容器来启动JobDetail作业内容和trigger触发器,完成启动,删除的定时任务。