宠物之家

前言

一个程序渣渣的一段学习总结

宠物之家项目介绍

宠物乐园是o2o模式的一个项目。以宠物为中心,提供的宠物相关商品售卖,宠物的服务,领养,寻主的一系列功能的平台。主要有组织机构,用户,宠物,服务,订单,支付等模块
在这里插入图片描述

开发模式与技术栈

前后端分离的开发模式。
前端分为两部分:
1.后台管理系统:面向的是数据管理人员,是基于Vue单页应用开发的
2.门户系统:面向的是客户,采用的是Vue结合JQuery实现服务端的渲染
后端使用的是ssm+springboot+docker,提供基于restful的架构风格的业务接口

负责模块介绍

1.用户模块提供了基础的crud,注册,登录等功能

1.注册

注册方式手机号注册与邮箱注册两种
使用到的技术有随机字符串、发短信技术、邮箱技术、redis、Md5加密
发短信技术:接入网建短信通接口
邮箱技术:QQ邮箱开启POP3/SMTP服务
手机号注册代码实现流程:
1.发送验证码
获取验证码前,判断用户有没有输入手机号
后端接受到请求后,使用随机字符串工具类生成验证码,将验证码存放到redis中设置时长5分钟
若用户不是第一次发送,则将redis中的验证码时长更新
使用短信接口发送验证码给用户
2.注册
前端发送请求,将注册表单中的信息封装成对象返回给后端
后端进行注册信息的校验
邮箱注册与手机号注册流程大致相同,发送验证码的方式改为邮箱发送即可

2.登录

登录有账号登录与三方登录两种
三方登录根据微信开放平台提供的流程图进行实现即可
微信开放平台接口调用流程图

2.服务模块提供了基础的crud

主要是用于门户系统服务模块的展示、分页和查询,具体的服务展示相关detail
因为服务的增加、修改和前台的展示那里需要图片或者视频的展示,这里用到了一个技术就是FastDFS,即分布式文件存储(基于FastDFS解决大数据量的分布式文件存储问题),因为文件上传保存在本地即服务器机器肯定是有问题的,因为单机器存储能力是有限的。
然后FastDFS它本身是一个轻量级、高性能的开源分布式文件系统,可以做文件存储、同步、访问上传、下载等功能。
比如上传的大概流程就是:客户端发送文件上传请求给跟踪者TrackerCluster(本身保存组的信息,组有哪些机器),跟踪者跟踪每一次文件上传的路径向去存储集群(storage cluster)查找,并返回可用的存储服务器的ip地址和端口号给客户端,客户端再通过ip和端口号与其中一台存储服务器简历连接,并进行文件上传。最后存储集群返回一个文件ID。

3.宠物模块提供了基础的crud,宠物的领养和寻主消息的发布等功能

1.寻主消息发布

寻主消息发布的功能需要推算离用户最近的线下门店,系统需要将用户的输入的地址解析为经纬度。再通过经纬度计算哪一家店铺离用户地址最近,再让店铺相关工作人员处理寻主消息。故而在宠物模块中集成百度地图
百度地图提供了很多开发的api,百度地图API提供Geocoder类进行地址解析,您可以通过Geocoder.getPoint()方法来将一段地址描述转换为一个坐标。
在这里插入图片描述

使用流程
前端:
1.创建应用,申请ak
2.JavaScript方式引入
3.页面嵌入百度地图
后端:
4.解析地址计算距离用户最近的商家
5.添加工具类解析地址的经纬度
6.计算两个点之间的距离
7.筛选离用户最近的商家

2.宠物的领养

前台宠物领养页面,将状态为上架的展示在页面,用户可以在宠物详情页中选择领养该宠物,领养成功后绑定领养用户, 修改宠物状态,创建领养订单。

个人总结

对我来说这是一个非常有挑战的项目,里面运用了很多现在使用非常广泛的技术,在这个项目中,我不仅学习到了后端的知识,前端的知识也学到了不少,不过我依然存在许多不足,其中最明显的就是业务还不太熟练,应该再多多练习,仔细总结,让我的业务掌握的更熟练。

©️2020 CSDN 皮肤主题: 深蓝海洋 设计师:CSDN官方博客 返回首页