解决羽毛球爱好者之间的社交问题,本项目是基于o2o的社交类项目,并且联合羽毛球馆,更高效的利用球场,创造收益
点击空白处退出提示
解决羽毛球爱好者之间的社交问题,本项目是基于o2o的社交类项目,并且联合羽毛球馆,更高效的利用球场,创造收益
按业务领域拆分的 6 个独立微服务,各自负责独立业务域,数据分库隔离,通过 Feign 实现跨服务调用。
(1)用户服务(User Service)
服务端口8086,对应数据库badminton_user,是平台的用户基石服务:
用户账号体系:手机号验证码注册 / 登录、账号密码登录、密码找回
个人信息管理:用户资料编辑、羽毛球等级维护、头像上传更新
文件管理:对接 MinIO 实现用户头像、图片文件的上传存储
实时在线管理:内置 WebSocket 服务,支持用户长连接、心跳检测、上下线状态自动同步,同时提供实时消息推送能力
(2)场馆服务(Court Service)
服务端口8082,对应数据库badminton_court,负责平台场地资源管理:
场馆信息管理:羽毛球馆基础信息的增删改查、场馆详情维护
场地资源管理:馆内场地的信息维护、时段管理
可用性查询:提供场地可预订状态的实时查询能力,同时向订单服务提供内部调用接口
(3)订单服务(Order Service)
服务端口8083,对应数据库badminton_order,负责场地预订交易全流程:
订单全生命周期管理:场地预订订单创建、状态流转、取消、查询
支付能力:集成支付宝支付,支持支付发起、支付结果回调、支付记录留存
内部联动:通过 Feign 调用场馆服务,校验场地信息与可预订状态
(4)约球服务(Game Service)
服务端口8084,对应数据库badminton_game,是平台社交核心模块:
约球活动管理:发布约球活动、编辑活动信息、活动列表 / 详情查询
组队报名:用户报名加入约球、取消报名、报名人员管理
互动能力:约球活动评论发布、评论列表查询
个人维度:支持「我的约球」列表查询(我发布的、我报名的)
异步通知:通过 RabbitMQ 发送约球事件,触发通知服务推送消息
(5)通知服务(Notification Service)
服务端口8085,对应数据库badminton_notification,负责全平台消息触达:
站内通知管理:通知列表查询、未读消息计数、消息标记已读、通知删除
消息消费:消费 RabbitMQ 中的业务事件消息,生成对应用户的站内通知
实时推送:通过 Feign 调用用户服务的 WebSocket 接口,向在线用户实时推送通知消息
(6)AI 服务(PlatformAI Service)
服务端口8087,对应数据库badminton-platformai,是平台智能增值模块:
AI 智能陪聊:对接阿里云百炼(通义千问),提供羽毛球相关的智能对话陪聊
文本润色:对用户输入的约球文案等内容进行智能润色优化
AI 搜索帖子:支持自然语言检索约球活动帖子
聊天记录:留存用户 AI 对话历史,支持历史会话查询
4. 公共支撑模块(badminton-common)
所有业务服务依赖的公共能力底座,以依赖包形式被各服务引用,避免重复开发:
common-core:核心工具类、统一返回结果、全局异常处理、所有 Feign 客户端定义、用户上下文工具
common-database:MyBatis-Plus 统一配置、字段自动填充、分页插件集成
common-minio:MinIO 对象存储客户端封装,提供通用文件上传下载能力
common-redis:Redis 缓存操作工具封装,提供通用缓存读写能力
common-rabbitmq:RabbitMQ 消息收发能力封装,简化消息生产消费开发
common-security:JWT 生成解析工具、用户上下文拦截器、统一安全认证能力
5. 基础设施层
支撑整个平台运行的底层中间件:
MySQL:关系型数据库,按业务服务分库部署,共 6 个业务库 + 1 个 Nacos 配置库
Redis:分布式缓存,存储热点数据、提升查询性能
RabbitMQ:消息队列,实现业务解耦、异步通知、延迟任务等场景
MinIO:对象存储服务,存放用户头像、平台图片等静态文件资源
Nacos:服务注册中心 + 统一配置中心,管理所有服务的注册发现,集中维护 Redis、JWT、MinIO 等共享配置
1.这个项目属于个人作品,我是负责的全栈开发,从最开始的原型图,表结构,到接口文档,再到成品,都是独自全栈开发
2.这个项目的技术栈架构如下,该项目采用分层微服务架构,自上而下分为 5 层,所有服务围绕 Nacos 实现注册发现与配置统一管理,业务域按服务拆分、数据分库隔离,是典型的 Spring Cloud 微服务落地形态。
架构分层说明
plaintext
客户端(微信小程序)
↓ HTTP/WebSocket
API 网关层(Gateway)
↓ 路由转发 + 统一认证
业务微服务层(6个独立服务)
↓ 依赖公共模块 + Feign 互相调用
公共支撑模块(Common 组件库)
↓ 对接底层中间件
基础设施层(数据库/缓存/消息队列等)





评论