本文已参与「新人创作礼」活动,一起开启掘金创作之路
前言,之前有一个实时对战的答题小程序,之前用的技术还是比较落后的,很多东西都是用原生来写的,在性能和安全方面还是比较差的,所以从今天开始,打算对这个项目进行重构,希望能得到提升。后期如果重构后能达到预期的效果,有需要源码的小伙伴可以私信我,可以发一份给你们
以前项目的一些介绍,需求方面,该小程序是以知识答题为基础,为客户提供一些服务,主要功能块为排位赛,闭关修炼,排行榜,每日挑战,好友对战等功能。
项目环境:php5.4 +mysql5.6+nginx1.20
实时对战用到主要技术是workerman
接下来,我们看下数据库的设计,主要表有
admin(后台登录用户表)
anser_score_gold(答对题目数对应的金币等)
config(好友邀请配置表)
everyconfig(每个人的配置表)
everyrecord(每个人的记录表)
friends(邀请好友记录)
orders(订单表)
paiweirecord(排位赛记录表)
question(题库表)
scoretolv(等级表)
select(闭关修炼题分类)
shop_list(商品列表)
shoptop(新人商品表)
user_info(用户表)
userquestion(用户问题表)
zhangjie(题目类型表)
以上就是旧项目的数据表设计,有很多不合理的设计,在后面的重构中会进一步优化。这是旧项目的一些情况,接下来说下新项目的一些计划情况。
新项目计划用laravel 框架,php版本也升级到 php7.4 并实现前后分离,即通过接口为后台管理提供数据,后台管理计划用 vue-element-admin前端框架。小程序计划用uni-app,用colorui组件库。用swoole的socket实现实时答题。这样的话,无论是性能和安全性都得到大大的提升