唯爱婚恋网站|项目复盘

简介: 首先这个项目是我大四上做的一个项目。当初立项开始选的咖啡线上购买的网站,由于受到老师批评说功能太简单!!!不得已带领着小部队重新选型,从确定开始到最后项目答辩过程,全程都是我们自己在不断学习,不断完善的。由于我们没有一定的设计能力,我们便基于彼爱网站进行婚恋网站的改造。

一、项目简介:


项目功能:针对目前高龄单身、离异等人群,开辟第二世界空间,进行撮合、匹配,通过会员机 制可以更高效地匹配成功。

负责内容:负责总领;使用 Vue-cli3 搭建前端框架、Express 搭建后端框架;完成主要前端页面 动效;利用聚合 API 实现短信验证功能、百度 API 实现身份认证;完成后台主要功能接口;用户 登录使用 JWT 加密、配置路由守卫。


二、项目背景:


首先这个项目是我大四上做的一个项目。当初立项开始选的咖啡线上购买的网站,由于受到老师批评说功能太简单!!!不得已带领着小部队重新选型,从确定开始到最后项目答辩过程,全程都是我们自己在不断学习,不断完善的。由于我们没有一定的设计能力,我们便基于彼爱网站进行婚恋网站的改造。


可能大家觉得很简单,但是对于大学生的我而言,虽然之前也写过项目,但是都只是一小模块而已,但这次确是自己真正接触,带领小部队实现一个网站的开始。


三、实践过程:


运用技术


Vue、Vue-cli3 搭建项目、Bootstrap、MySQL、Node.js(Express)、 图片上传、身份认证等技术、采用 token 实现鉴权机制。


网站展示


网络异常,图片无法展示
|


上图是我们项目的首页,我们研究过国内外的婚恋网站,发现他们的网站内容多而且页面都比较丑。起初做这个项目的意图就是,把婚恋网站做好看。前端就是负责漂亮!!!

在页面美化的基础上,再增加复杂功能。


功能模块:

网络异常,图片无法展示
|

网站权限:

网络异常,图片无法展示
|


三类用户中,普通用户基于游客权限之上在增加查看指定ID空间动态(有限制地根据亲密度展示信息)、筛选对象(有条件限制)、搜索ID(有次数限制)、商城购买、会员积分充值等七大权限;


会员用户则是在普通用户的基础上又增加根据会员等级对相应商品打折、无限制条件筛选对象、筛选匹配对象根据会员等级展示对方信息等五大权限功能。

下图是会员搜索展示:

网络异常,图片无法展示
|


困难:


  1. 动画效果

在实现头部导航栏菜单下落时,使用的animate计算掉落时间时,需要一个个计算。

@keyframes fushang {
    0% {
        transform: translateY(-300px);
        -webkit-transform: translateY(-300px);
        opacity: 0;
    }
    10% {
        opacity: 0;
    }
    100% {
        transform: translateY(0px);
        -webkit-transform: translateY(0px);
        opacity: 1;
    }
}


使用css动画keyframes属性,实现掉落功能,然后再li上依次延迟动画时间即可。


#nav_1 {
    width: 90px;
    animation-name: fushang;
    animation-duration: 0.5s;
}
#nav_2 {
    width: 90px;
    animation-name: fushang;
    animation-duration: 0.75s;
}
...


  1. 添加好友功能


在追求者和被追求者亲密度达到一定等级,即可解锁添加好友功能。点击添加好友后,后台逻辑中我是这样做的:



fri_classified表示好友分类:0代表好友,1代表关注,2代表黑名单; fri_status表示是否是好友:0代表不是,1代表是(双向好友)。 用户发送请求后,会在数据库中新建一条信息,被添加方就会收到如下图好友请求。

网络异常,图片无法展示
|
删除消息则会删除记录,同意则会修改好友状态,并添加到好友列表中。


  1. 登录权限


使用bcrypt包作为加密工具,登录时,调用登录接口,记录成功后的token。

jwt.sign({ telephone: user.telephone,userId:infos[0].base_info_Id}, 'privateKey', { expiresIn: 60 * 60 }, function(err, token) {
   console.log(token);
//注意token的固定格式“Bearer ”前缀
 res.status(200).json({ msg: '登录成功!!', token: 'Bearer ' + token })
});


查看商品,必须是用户或会员才能查看,所以在非游客模式下,调用查看商品接口,并需要携带授权的jwt,否则无法浏览商品。


// 商品
router.get('/product', passport.authenticate('jwt', { session: false }), function(req, res, next) {
    shopController.product(req, res)
});


技术难点

  • 实现布局头部、侧边栏、内容大块div连带内含div实现进出动画效果;
  • 通过用户完成登录使用反馈的 token 进行存储后,判断用户模式配置路由守卫;
  • 使用百度 API 完成身份证,图片格式需要转换成 base64 格式,再进行调用第三方接口;
  • 通过用户之间亲密度进行判断,亲密度不同显示的用户信息不同。


四、总结思考:


成长: 这个项目不仅锻炼了我的沟通能力,还锻炼我管理代码、监督项目进度作为领导者的能力。自己可以带领小组开发一个项目,锻炼统筹能力。

有待提高: 在这个项目,需要优化一下聊天功能,当时由于时间关系,并未正在实现1对1聊天。没有实现服务器部署。

自豪: 能够实现美观的页面,高效完成所需后端接口,及页面接口的调用。

源码地址:github.com/ClyingDeng/…


作者:ClyingDeng

链接:https://juejin.cn/post/6939714615966171144

来源:稀土掘金

著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

目录
相关文章
|
7月前
|
存储 运维 监控
语雀故障与反思,随便再领半年会员!
语雀故障与反思,随便再领半年会员!
334 0
|
运维 搜索推荐 UED
SEO外包从何做起?详解网站SEO外包服务的10大流程步骤
SEO外包服务从确立SEO目标、需求沟通、网站SEO诊断、SEO诊断建议书、网站内部优化、网站内容优化、网站内链优化、站外链接优化等方面开展工作,并在每个合作月结束提交SEO外包月报,整个服务流程详细如下。
188 0
|
搜索推荐 Java 程序员
只有一个程序员开发和运营,BuiltWith网站年入1400万美元是怎么做到的?
国外有一位程序员叫 Gary Brewer,他一人撑起了一个公司,这个公司还年入 1400 万美元,约人民币 1 亿元。对此,你是啥想法?
119 0
|
前端开发 程序员
几个前端人员不能错过的网站
今天给大家分享几个前端人员不能错过的技术网站,可以帮助大家在学习和工作的过程中更好的解决问题。这些网站也都是我平时经常用的,在上面可以学习交流甚至写代码,很是方便。
几个前端人员不能错过的网站
|
UED 开发者
婚恋交友软件源码,以用户体验为中心的开发细节
婚恋交友软件源码,以用户体验为中心的开发细节
|
缓存 数据库
婚恋交友源码,围绕数据一致性问题的思考
婚恋交友源码,围绕数据一致性问题的思考
|
UED CDN
同城交友源码,如何避免在习以为常中走向平庸?
同城交友源码,如何避免在习以为常中走向平庸?
|
监控 网络协议 前端开发
|
算法 搜索推荐 安全
婚恋交友源码开发中,哪些功能最容易被忽略
实现实名认证的目的主要有三个,提高用户账号安全性;协助平台监管用户,杜绝虚假用户信息,防止违规现象发生。除此之外,进行实名认证有利于婚恋交友源码收集用户画像,便于优化算法和用户体验。
|
缓存 数据库
婚恋系统源码撞上高并发场景,应该如何做?
婚恋系统源码撞上高并发场景,应该如何做?