摩拜客o2o项目总结

本文详细介绍了摩拜客项目,包括其基于o2o模式的摩托车选购、交流、服务、店铺管理及用户操作流程。重点模块如人员管理、店铺认证、用户注册登录、收藏和足迹管理,以及买卖车功能的实现。项目采用前后端分离技术,涉及Springboot、Vue、微信支付等关键技术。
摘要由CSDN通过智能技术生成

项目介绍

摩拜客这个项目基于o2o模式开发的一个以摩托车为核心的项目。随着生活质量提高,也鉴于现在城市交通的拥堵情况,许多人开始转变观念,开始考虑摩托车出行,或者对于摩托车的兴趣,开始玩摩托车。基于以上场景,我们选择开发了这个项目。我们平台主要提供了摩托车的购买选型,各种品牌车型的信息,摩友圈的交流论坛,摩托相关资讯等基本功能,还提供了摩托车服务,比如相关物品购买,二手车转卖,摩托车相关知识学习等功能的一个综合性平台。它主要有组织机构,用户,服务,论坛,订单, 支付等模块。它还支持商家入驻,合作加盟,通过线上了解咨询,线下选择就近店铺进行购买消费的方式与店铺产生合作达到合作共赢。这个项目使用的开发模式是前后端分离开发模式,前端使用的是vue技术栈,后台使用的是springboot+ssm+docker。

负责模块

我主要负责的是组织机构模块,用户模块和买卖车模块

  • 员工,部门管理

    公司人员管理,店铺人员管理以及部门管理
  • 店铺管理

    店铺入驻 店铺审核,实名认证,支付方式绑定(支付宝,微信,银联),店铺创建员工
  • 用户管理

    用户注册;
    用户登录:账号登录,三方登录,验证码登录;
    收藏:爱车,论坛问答,文章,资讯,活动;
    足迹:浏览记录,评论点赞 ;
  • 买卖车管理

    购车需求的发布;
    附近门店的推送;
    转手二手车;

模块详细介绍

  • 人员管理,店铺管理

模块业务表设计
人员管理由于需要管理公司内部人员和入驻商家店主的信息,所以需要通过后台管理页面进行人员信息的查看,添加,修改和删除。人员表:用户名,密码,邮箱,电话,年龄,状态,店铺表id,登录表 id,商品表id
店铺管理本项目支持商家的入驻,所以需要对商家店铺进行管理。店铺名,店铺电话,入驻时间,状态,店铺地址,上传的店铺logo的地址,店主表id
  • 人员流程设计
Created with Raphaël 2.2.0 管理员后台添加修改员工 分配权限和一些基本操作 确认? 保存数据库,后台页面直接展示 yes
  • 店铺流程设计
Created with Raphaël 2.2.0 商家点击入驻店铺跳转入驻页面 填写基本信息,提交。 后台管理员审核/资质认证 保存数据库,后台页面直接展示 拒绝入驻 yes no
  • 用户管理

模块业务表设计
注册注册包含了邮箱注册和手机号注册,但基本逻辑是一样的用户表:用户名,密码,加密盐值,邮箱,电话,年龄,状态(当用户用手机注册,默认为激活状态,当为邮箱注册,需要发送邮箱验证来激活),注册时间,登录表 id
登录管理员和用户公用一张登录表,但需要用type来区分,使用type来区分用户名,密码,加密盐值,邮箱,电话,状态,是否启用状态。
收藏用户对于收藏品的操作用户id,产品id
足迹用户需要对最近访问的浏览记录进行查看用户id,访问的链接地址
  • 注册流程设计
Created with Raphaël 2.2.0 点击注册按钮,跳转注册页面 填写手机号,验证码,密码 后台判断手机号,验证码,密码是否有效 注册成功,保存注册数据,跳转登录页面 拒绝注册 yes no
  • 验证码注册流程设计
Created with Raphaël 2.2.0 点击发送手机验证码 恶意请求拦截 当前验证码是否有效 获取当前验证码 是否已过重发时间 保存验证码信息 调用短信验证发送接口 记录发送日志结算依据 返回非法访问信息 后台生成验证码 yes no yes no
  • 登录流程设计
type判断为管理员登录
type判断为用户登录
管理员登录
登录接口
查询管理员表
用户登录
查询用户表
登录成功
  • 三方登录流程设计
前台登录 微信 后台 发起授权请求 弹出扫码界面,用户扫码。 扫码成功,返回回调地址 1.通过code发起获取accessToken和openId请求 2.通过openid在微信用户表中查询获取用户 3.判断是否有用户绑定此微信 绑定了做免密登录,未绑定跳转绑定页面 判断绑定用户是否存在 存在:就新建一个微信用户,与该用户进行绑定,并做成功登录操作 不存在:新建一个微信用户,再新建一个用户,将该微信用户和用户进行绑定,并做成功登录操作 登录成功,跳转主页面 前台登录 微信 后台
  • 三方登录流程设计思路
    收藏图标放在商品详情页,所以要在进入商品详情页的时候进行判断,判断该用户有没有收藏该商品!如果该用户已收藏该商品,则图标显示 已收藏,反之,则显示 收藏 。
    根据点击图标所显示的文字来判断你所进行的操作,如果收藏,触发收藏事件,通过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触发器,完成启动,删除的定时任务。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值