前言
嗨,大家好啊,我是雪荷。正如标题所示我耗时几个月打造了一个厚米匹配系统,并且打算把它开源出来供大家体验和学习。大家觉得还不错的话,欢迎给我点赞收藏,给反馈哈。
项目介绍
homie 匹配系统是一个移动端网页的在线云交友平台。实现了按标签匹配、查找用户,基于 Redis GEO 实现搜索附近用户,同时个人还可以建队、组队以打造个人学习队伍。除了添加好友、搜索好友外,还基于 Websocket 实现好友间私聊,方便用户寻找志同道合的学习搭子。
线上地址:厚米匹配系统
技术选型
我先给大家介绍一下这个项目所用到的技术,这样方便大家根据自己的能力去学习,在巩固自己不足的时候也学习新的技能。
前端
技术 | 用途 | 版本 |
---|---|---|
Vue | 前端经典框架,方便开发页面 | 3.3.11 |
Vue-Router | 细致的导航控制 | 4 |
Axios | 发送请求至后端 | 1.6.2 |
Vant | 移动端样式组件库 | 4.8.0 |
Vite | 前端构建工具 | 5.0.8 |
后端
技术 | 用途 | 版本 |
---|---|---|
Spring Boot | 快构建 Spring 应用 | 2.7.6 |
JDK | Java 应用开发工具 | 1.8 |
MyBatis | 操作数据库的框架 | 3.5.2 |
MyBatis-Plus | MyBatis的增强框架,无需编写 SQL 语句 | 3.5.2 |
MySQL | 一个关系型数据库产品,用于存储数据 | 8.0..33 |
Redis | 一个非关系型数据库产品,用于存储数据 | 5. |
WebSocket | 使得客户端和服务器之间的数据交换变得更加简单 | 2.4.1 |
Lombok | 实体类方法的快速生成工具 | |
knife4j | 在线接口文档生成的库 | 2.0.9 |
EasyExcel | 快速、低占用地操作 Excel | 3.3.2 |
hutool | 强而全的工具库 | 5.7.17 |
Guava-Retrying | 提供重试机制的库 | 1.0.6 |
Apache-commons-lang3 | 工具库 | 3.12.0 |
项目亮点
学习这个项目时,你将会了解但不止以下的技术,如果你能在此技术上运用更多的技术那就太酷了。
-
基于 Spring AOP + Axios 实现前端登录拦截
-
基于 Redis 实现分布式 Session 存储
-
使用 Redis List 结构配合 Vue-infinite-loading 组件实现滑动加载
-
Spring Scheduling + Redis 分布式锁实现缓存预热
-
了解编辑距离算法,可用于匹配相似字符串,单词校验
-
基于 Redis GEO 存储用户地理微信信息,实现搜索附近用户
-
基于 Redis 分布式锁防止用户重复入队
-
通过 Guava 库实现重试机制,保证缓存数据一致性
-
基于 Websocket 实现用户间私聊
-
集成第三方库生成接口测试文档,方便测试项目接口
-
熟悉 EasyExcel 的使用
-
基于 Axios 封装请求实例,方便请求后端接口
-
熟悉 Vant 组件库的使用
-
熟悉 Vue3 setup 语法
-
掌握 Vue-Router 基本使用
项目功能展示
我会简单给大家介绍一下这个项目的大致功能,有兴趣的小伙伴们直接点击链接(厚米匹配系统)在线体验哈。
首页
按标签匹配相似用户
按标签搜索用户
按距离搜索用户
好友页面
搜索好友
好友私聊
建队
个人页面
项目地址
更多关于项目的介绍在项目地址的 README 中,欢迎小伙伴们在那里深入学习哈。
目前我将项目开源在 GitHub 上了并附上了部署教程,以下是开源地址,欢迎小伙伴们给我点点 Star,我会非常感谢你的,听说点了 Star 学习更高效啊,哈哈哈哈!
前端地址:homie 匹配前端地址
后端地址:homie 匹配后端地址
部署教程:homie 匹配部署教程
总结
这是一个大而全的前后端分离项目,设计多个方面、维度的技术和框架。如果中间有任何问题欢迎在这个网站,或者 CSDN 上向我提问,有什么好提议的话也欢迎向我提出哈。希望大家在学习的过程中能够成长和突破。最后觉得项目还不错的话,能不能给我的项目点个 Star 呢,谢谢!!!