帮朋友开发的小项目,从需求分析到上线

需求分析

朋友想要实现一个 名表功能:每个业务员生成一个二维码,客户扫码后可以填写表单信息,后台能查看并管理相关数据。公司的各个业务员是独立的,每个业务员都会有自己的二维码,另外不同角色看到的数据范围也不一样,即主管能看到所有数据,业务员只能看到自己的数据。且管理员能配置业务员的功能权限(菜单显示,业务的新增、修改和删除功能等)

方案实现

麻雀虽小,五脏俱全。 虽然功能很单一,但是移动端、PC端、后端、服务器、域名、打包发布等一样也不少。经过一番考虑,给出如下的技术方案:

  • 移动端:使用Vant UI(基于Vue),
  • PC端:使用RuoYi前后端分离前端(即Element UI,基于Vue)
  • 后端:使用RuoYi 前后端分离后端(SpringBoot)
  • 服务器:华为云服务器(2核4G,40G硬盘,5M带宽)
  • 移动端

    写移动端之前,也想过移动端页面可以和PC版放到同一个项目中,这样的话省时省事。因为移动端即使只有一个页面,也得有路由、状态管理、 络请求等等一系列的设置。当然写成一个独立的移动端优点有很多,比如页面响应速度明显提升、后期拓展更方便,毫不犹豫选择了后者。移动端项目写过很多个,项目框架比较成熟,拿来即用。具体页面如下:

    移动端

    PC端

    PC端采用的RuoYi开源项目,这个开源项目实际就是用的ElementUI,不同点是有很多基础业务功能的实现。比如系统管理模块的用户管理、部门管理、菜单管理等

    系统管理

    业务列表

    生成二维码

    这里生成的二维码携带了当前业务员的信息,所以客户扫码填表的数据就会和当前业务员关联在一起。

    后端

    后端和前端模块是一一对应的,无外乎增删改查,这里就不详述了。其中地址选项中的数据来自”行政区划数据” 站,由于需要做成接口供前端使用,在原数据基础上加了层级区分和父级区域编码,手工整理后存到数据库中。

    区域表

    服务器

    服务器采用华为云耀云服务器,配置属于入门级(2核4G,40G硬盘,5M带宽),基本满足小型项目需要,使用起来也很流畅。新用户费用在623 一年,相对来讲很划算。

    服务器参数

    接下来就是服务器的一些配置,比如设置服务器的安全组,放开端口的使用限制。我这里的PC端是80,移动端是81,接口是8080。另外就是域名的申请和备案。因为涉及到企业相关的资质材料上传,这块我没有参与。可以直接在华为云官 中申请备案,最后再将申请好的域名和服务器外 IP绑定在一起。

    接下来就是服务器端相关的环境配置。主要有jdk、mysql、nginx、redis四个部分,具体安装配置过程这里不多讲了, 上有很多详细的教程。

    服务器运行环境

    项目的打包和部署

    前面的服务器环境配置好以后,打包发布其实非常容易。前端项目的PC和移动端打包直接用dev run build生成dist文件夹。然后将dist文件夹放到服务器端,nginx配置好后直接运行即可。后端项目用maven打包成jar,直接将jar包放到服务器指定文件夹下,使用java -jar xxx运行。

    总结

    整个过程从需求讨论到上线约3周左右时间(均为业余时间开发)。包括需求分析、方案选型、前后端开发、打包部署等等一系列内容。基本上算是一个项目的生命周期。

    声明:本站部分文章及图片源自用户投稿,如本站任何资料有侵权请您尽早请联系jinwei@zod.com.cn进行处理,非常感谢!

    上一篇 2021年6月27日
    下一篇 2021年6月27日

    相关推荐