基于springboot+vue+微信小程序的宠物领养系统
一、介绍
本项目利用SpringBoot、Vue和微信小程序技术,构建了一个宠物领养系统。
本系统的设计分为两个层面,分别为管理层面与用户层面,也就是管理者与用户,管理权限与用户权限是不同的,具体角色分类与所具权限如下:
- 管理者:能够通过账户密码登录管理者界面,管理员有个人信息、修改密码、用户管理、公告管理、宠物管理、领养管理和社区管理功能。
- 用户:能够通过注册登录查看宠物信息、对于自己喜欢的宠物,可以申请领养。用户可以在社区发帖以及跟帖、且拥有公告查看、个人信息编辑、修改密码、参与用户调研、查看我的领养申请以及查看以及添加个人宠物的功能,且可以维护个人宠物的成长记录。
二、软件架构
功能架构:
技术栈:
- 后端:Java、SpringBoot、Mybaits Plus ;
- 前端:vue3、element-plus(https://element-plus.org/zh-CN/component/overview.html)、echarts;
- 微信小程序:vant(https://vant-ui.github.io/vant-weapp/#/button)
- 数据库: MySql
三、系统功能
用户功能需求
(1)注册功能
用户在小程序上进行账号注册。首先检查用户名和邮箱是否存在,如不存在即可进行注册;验证用户实名身分是否成年,只有满足身份证年龄18周岁以上的用户才可注册;注册成功后,将用户输入的密码进行MD5加密,注册成功后提示注册成功,并将用户信息保存到数据库中。
(2)登录功能
使用宠物领养系统前是需要用户登录个人账号。用户使用注册的账号登录小程序。
(3)首页
用户登录小程序后,首先可以看待宠物列表,可以浏览系统发布的宠物信息。(包括图片、视频、详细介绍),点击详情可以查看宠物详情,包含宠物基本信息、详情、审核信息和成长记录等信息。对于自己感兴趣的宠物,可以点击申请领养进行申请(申请领养前必须先完成用户信息调研)。
点击首页的“推荐”按钮,可以进入推荐列表:系统会根据用户调研信息的喜好结果,个性化推荐心仪的宠物。
(4)社区
用户通过申请领养到宠物后还可以在平台上实时记录宠物成长信息和在宠物社区进行发帖,与其他用户交流心得。还可以对他人发布的信息进行点赞、评论等操作。该部分功能分为晒宠物、求宠物、找领养等模块,用户发布的时候可以选择模块标签后进行发布。
(5)公告
用户可以查看管理员发布的系统公告
(6)个人信息编辑
用户在这里维护个人信息。
(7)修改密码
用户可以定期在这里修改密码,确保账号的安全性。
(8)用户调研
用户在这里参与用户调研,填写调查问卷后,系统会给用户推荐喜欢的宠物,用户也可以对自己感兴趣的宠物申请领养。
(9)我的领养申请
用户在这里查看自己的领养申请记录,分为全部、已申请、审核通过、审核未通过、已收货和已取消几类数据。
(10)我的宠物
首先,用户可以在该模块添加自己的宠物,添加后可以维护宠物的成长记录,该模块的数据管理员不可见,仅宠物主自己可看。如果用户想转让自己的宠物,点击转让按钮即可转让,转让后宠物会进入管理员界面,由管理员进行审核与发布。对于用户领养且已收货的宠物、点击领养tag按钮,即可查看宠物信息。
管理者功能需求
(1)登录
管理员使用系统,首先要登入系统。
(2)个人信息
管理员在这里维护个人信息。
(3)首页
首页是对平台数据的统计页面,这里使用echarts图对数据进行分析展示,管理员可以清晰的看到平台相关数据分析。
(4)修改密码
管理员可以定期在这里修改密码,确保账号的安全性。
(5)用户管理
管理者可以进入用户管理页面,可以看到目前所注册的用户相关信息,通过姓名,手机账号进行搜索,还可以对用户进行如下操作:
a)新增:点击新增按钮,输入用户信息,可添加新用户
b)搜索:输入用户名字和手机号码,点击搜索即可查询用户信息
c)编辑:编辑用户信息
d)重置密码:点击重置密码,可重置该用户密码
e)启用/停用:对用户账号状态进行修改,被停用的用户无法登录系统
f)删除:删除该账号
(6)公告管理
管理者进入公告管理页面,进行新增、修改、删除、停/启用以及查看详情等操作。
(7)宠物管理
管理者进入宠物管理页面,即可看到平台所有宠物列表,包含管理员添加的以及用户转让的宠物,且可以进行新增、查看详情、修改、删除、审核、启/停用、以及维护成长记录等操作。
(8)领养管理
管理员进入领养管理页面,可以看到用户所有的申请领养记录,可以对记录进行审核操作,且可以在这里查看宠物详情和领养详情。
(9)社区管理
管理宠物社区的帖子和评论,可以对违规信息进行删除操作。
四、安装教程
- 使用Navicat或者其它工具,在mysql中创建对应名称的数据库,并执行项目的sql文件
- 使用IDEA/Eclipse导入项目,若为maven项目请选择maven,等待依赖下载完成
- 修改application.yml里面的数据库配置以及文件下载地址等配置,然后运行项目
- (管理端前端)在编译器中打开terminal,进入pet-web目录下,执行npm install 依赖下载完成后执行 npm run dev,执行成功后会显示访问地址
- (微信小程序)在微信开发者工具中打开pet-mini代码
五、工程目录结构
|house-second|-- pet-server 后端目录接口|-- pet-web 管理端前端|-- pet-web 用户端(微信小程序)
六、表结构
表名 | 说明 | 功能 |
---|---|---|
tbl_file | 文件信息表 | 存储文件信息 |
tbl_user | 用户信息表 | 存储系统用户信息 |
tbl_user_survey | 用户调研信息表 | 保存用户调研信息 |
tbl_notice | 公告信息表 | 存储公告信息 |
tb_pet_user | 个人宠物信息表 | 存储用户个人宠物基础信息 |
tb_pet | 宠物信息表 | 存储宠物库宠物基本信息 |
tb_pet_adopt | 宠物领养信息表 | 存储领养信息 |
tb_pet_record | 宠物成长记录表 | 存储宠物成长记录信息 |
tb_community | 社区信息表 | 存储社区帖子信息 |
tb_community_collect | 社区点赞表 | 存储社区帖子点赞和收藏信息 |
tb_community_comment | 社区评论表 | 存储社区帖子评论信息 |
七、其它
微信小程序官方文档:https://developers.weixin.qq.com/miniprogram/dev/component/picker-view-column.html
vat文档:https://vant-ui.github.io/vant-weapp/#/button