重构实时对战小程序(一)

236 阅读2分钟

本文已参与「新人创作礼」活动,一起开启掘金创作之路

前言,之前有一个实时对战的答题小程序,之前用的技术还是比较落后的,很多东西都是用原生来写的,在性能和安全方面还是比较差的,所以从今天开始,打算对这个项目进行重构,希望能得到提升。后期如果重构后能达到预期的效果,有需要源码的小伙伴可以私信我,可以发一份给你们

 

以前项目的一些介绍,需求方面,该小程序是以知识答题为基础,为客户提供一些服务,主要功能块为排位赛,闭关修炼,排行榜,每日挑战,好友对战等功能。

项目环境:php5.4 +mysql5.6+nginx1.20

实时对战用到主要技术是workerman

接下来,我们看下数据库的设计,主要表有

admin(后台登录用户表)

  image.png

 

anser_score_gold(答对题目数对应的金币等)

image.png

 

 

 config(好友邀请配置表)

image.png

 

 

 everyconfig(每个人的配置表)

image.png

 

 

 everyrecord(每个人的记录表)

image.png

 

 

 friends(邀请好友记录)

image.png

 

 

 

 orders(订单表)

image.png

 

 

 paiweirecord(排位赛记录表)

image.png

 

 

question(题库表)

image.png

 

 

 

 scoretolv(等级表)

image.png

 

 

  select(闭关修炼题分类)

image.png

 

 

 shop_list(商品列表)

image.png

 

 

 shoptop(新人商品表)

image.png

 

 

 user_info(用户表)

image.png

 

 

 

 userquestion(用户问题表)

image.png

 

 

 

 

 zhangjie(题目类型表)

 

image.png

以上就是旧项目的数据表设计,有很多不合理的设计,在后面的重构中会进一步优化。这是旧项目的一些情况,接下来说下新项目的一些计划情况。

新项目计划用laravel 框架,php版本也升级到 php7.4 并实现前后分离,即通过接口为后台管理提供数据,后台管理计划用 vue-element-admin前端框架。小程序计划用uni-app,用colorui组件库。用swoole的socket实现实时答题。这样的话,无论是性能和安全性都得到大大的提升