# 伙伴匹配 **Repository Path**: wst-wst/partner-matching ## Basic Information - **Project Name**: 伙伴匹配 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-28 - **Last Updated**: 2026-03-03 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ## 鱼泡-伙伴匹配系统 介绍:帮助大家找到志同道合的伙伴 ## 需求分析 1. 用户去添加标签,标签的分类(要用哪些标签、怎么把标签进行分类) 2. 主动搜索:允许用户根据标签去搜索其他用户 1. redis缓存 3. 组队 1. 创建队伍 2. 加入队伍 3. 根据标签查询队伍 4. 邀请其他人 4. 允许用户修改标签 5. 推荐 1. 相似度计算算法 + 本地分布式计算 ## 技术栈 ### 前端 1. Vue开发框架 2. Vant UI(基于Vue的移动端组件)(React版Zent) 3. Vite(打包工具,快!) 4. Nginx来单机部署 ### 后端 1. springboot框架 2. SpringMVC+Mybatis框架+plus 3. MySQL数据库 4. Redis缓存 5. Swagger+Knife4j接口文档 第一期任务 1. 前端项目初始化 2. 前端主页+组件概览 3. 数据库设计 * 标签表 * 用户表 4. 开发后端,根据标签搜索用户 5. 开发前端,根据标签搜索用户 ### 前端项目初始化 脚手架初始化项目 * Vue CLI * Vite脚手架 整合组件库 * 安装Vant * 按需引入npm i vite-plugin-style-import@1.4.1-D 开发页面经验 * 多参考 * 从整体到布局 * 先想清楚页面需要做成什么样子,再写代码 ## 组件概览 ### 设计 导航条:展示当前页面名称 主页搜索框=>搜索页 内容 tab栏: * 主页(推荐页+广告) * 搜索框 * bannner * 推荐信息流 * 队伍页 * 用户页 ## 开发 很多页面要重复复用组件/样式,重复写会很麻烦,不利于维护,所以抽象一个通用的布局(Layout) 组件化 ## 数据库表设计 标签的分类(要有哪些标签、怎么把标签进行分类) ### 标签表(分类表) 建议用标签,不要用分类,更灵活
性别:男、女
方向:java、c++、Go、前端
目标:考研、春招、秋招、社招、考公、竞赛(蓝桥杯)
身份:大一、大二、大三、大四、学生、待业、已就业、研一、研二、研三
状态:乐观、有点丧、一般、单身、已婚、有对象 【用户自定义标签】 字段: ID int 主键
标签名 varcahr 非空
上传标签的用户 userId int
父标签id,parentId ,int 分类
是否为父标签(0、1)
创建时间createTime
更新时间updateTime
是否删除 isDelete,tinyint(0、1)
怎么查询所有标签,并且把所有标签分好组?按父标签id分组,能实现✅
根据父标签查询子标签?根据id查询,能实现✅ ### 修改用户表 用户有那些标签?
**根据自己的需求来**
1. 直接在用户表补充tags字段
优点:查询方便,不用新建关联表,标签是用户的固有属性(除了该系统,其他系统可能)节省开发成本
缺点:用户表多一列,
2. 加一个关联表,记录用户和标签的关系
关联表的应用场景:查询灵活,可以正查反查
缺点:要多建一个表,多维护一个表
## 开发后端接口 1. 允许用户传入标签,多个标签存在才搜索出来and 2. 允许用户传入多个标签,有任何一个标签存在就能搜出来or 两种方式: 1. SQL查询 2. 内存查询