Skip to content

cheng-zhaofeng/three-triple

Repository files navigation

三重炉共居社区小程序 - 项目设计文档

项目概述

项目背景

三重炉小程序是为共居别墅社区打造的综合性服务平台,项目方在多个城市租赁别墅并打造成共居社区,每个别墅作为一个独立的共居社区,包含多个可租赁房间。平台通过兴趣爱好作为卖点,吸引兴趣同质化的年轻人租房,实现商业变现。

业务模式

  • 租房运营:别墅房间分租,提供住宿服务
  • 社区运营:组织各类主题活动(单身交友、创业交流、桌游娱乐等)
  • 商业变现:房租收入 + 活动费用 + 周边商城销售

目标用户

  • 主要用户:别墅住户、潜在租客
  • 管理用户:社区运营者、活动组织者
  • 次要用户:活动参与者(非住户)1

功能模块设计

1. 首页模块

功能描述:展示社区推荐、搭子匹配、故事分享、好物推荐等核心入口

主要功能

  • 社区搜索:支持按社区名称搜索
  • 推荐社区:展示热门社区列表,包含社区图片、名称、类型、价格
  • 找搭子:随机匹配功能,当前无合适搭子时显示提示
  • 四大模块入口:社区、搭子、故事、好物

接口设计

  • GET /api/community/recommend - 获取推荐社区列表
  • GET /api/community/search - 社区搜索
  • GET /api/partner/random - 随机搭子匹配

2. 社区模块

功能描述:社区展示、活动管理、社区内容展示

主要功能

  • 社区详情:社区介绍、成员数量、入住详情
  • 房间信息:房间列表、房间详情、价格展示
  • 公共区域:客厅、厨房、花园、车位等公共设施
  • 社区活动:活动列表、活动详情、报名功能2
  • 社区故事:社区内容分享
  • 社区好物:商品展示和购买

接口设计

  • GET /api/community/{id} - 获取社区详情
  • GET /api/community/{id}/rooms - 获取社区房间列表
  • GET /api/community/{id}/activities - 获取社区活动
  • GET /api/community/{id}/stories - 获取社区故事
  • GET /api/community/{id}/products - 获取社区好物

3. 房间管理模块

功能描述:房间信息展示、租房申请、室友信息

主要功能

  • 房间详情:房间图片、价格、设施、状态
  • 室友信息:当前室友展示
  • 租房申请:在线申请租房
  • 公共区域:展示包含的公共设施

接口设计

  • GET /api/room/{id} - 获取房间详情
  • POST /api/room/{id}/apply - 提交租房申请
  • GET /api/room/{id}/roommates - 获取室友信息

4. 活动管理模块

功能描述:活动发布、报名、管理

主要功能

  • 活动列表:展示社区活动
  • 活动详情:活动信息、时间、地点、参与人数
  • 活动报名:在线报名参与活动
  • 活动管理:活动创建、编辑、删除

接口设计

  • GET /api/activity/list - 获取活动列表
  • GET /api/activity/{id} - 获取活动详情
  • POST /api/activity/{id}/register - 活动报名
  • POST /api/activity - 创建活动
  • PUT /api/activity/{id} - 更新活动
  • DELETE /api/activity/{id} - 删除活动

5. 动态模块

功能描述:社区动态分享、互动

主要功能

  • 动态发布:图片、文字内容发布
  • 动态展示:瀑布流展示用户动态
  • 互动功能:点赞、评论
  • 关注社区:关注感兴趣的社区

接口设计

  • GET /api/moment/list - 获取动态列表
  • POST /api/moment - 发布动态
  • POST /api/moment/{id}/like - 点赞动态
  • POST /api/moment/{id}/comment - 评论动态

6. 搭子系统

功能描述:寻找兴趣相投的伙伴

主要功能

  • 搭子匹配:基于兴趣爱好匹配
  • 搭子列表:展示可匹配的搭子
  • 搭子详情:查看搭子信息

接口设计

  • GET /api/partner/list - 获取搭子列表
  • GET /api/partner/match - 搭子匹配
  • POST /api/partner/connect - 连接搭子

7. 好物商城

功能描述:社区周边商品销售

主要功能

  • 商品展示:商品列表、详情
  • 购物车:商品加购、管理
  • 订单管理:下单、支付、配送
  • 商品评价:购买后评价

接口设计

  • GET /api/product/list - 获取商品列表
  • GET /api/product/{id} - 获取商品详情
  • POST /api/cart/add - 添加购物车
  • POST /api/order - 创建订单
  • POST /api/order/{id}/pay - 订单支付

8. 用户中心

功能描述:个人信息管理、订单管理

主要功能

  • 个人信息:头像、昵称、标签管理
  • 我的订单:订单查看、管理
  • 我的活动:参与的活动记录
  • 消息通知:系统消息、活动通知
  • 设置中心:隐私设置、通知设置

接口设计

  • GET /api/user/profile - 获取用户信息
  • PUT /api/user/profile - 更新用户信息
  • GET /api/user/orders - 获取用户订单
  • GET /api/user/activities - 获取用户活动
  • GET /api/user/messages - 获取用户消息

数据库设计

核心实体表

1. 用户表 (user)

CREATE TABLE `user` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '用户ID',
  `openid` varchar(64) NOT NULL COMMENT '微信openid',
  `nickname` varchar(50) DEFAULT NULL COMMENT '用户昵称',
  `avatar_url` varchar(255) DEFAULT NULL COMMENT '头像URL',
  `phone` varchar(20) DEFAULT NULL COMMENT '手机号',
  `id_card` varchar(20) DEFAULT NULL COMMENT '身份证号',
  `tags` varchar(255) DEFAULT NULL COMMENT '用户标签',
  `self_intro` text COMMENT '自我介绍',
  `notification_enabled` tinyint(1) DEFAULT 1 COMMENT '是否开启通知',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_openid` (`openid`)
);

2. 社区表 (community)

CREATE TABLE `community` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '社区ID',
  `name` varchar(100) NOT NULL COMMENT '社区名称',
  `type` varchar(50) DEFAULT NULL COMMENT '社区类型',
  `description` text COMMENT '社区描述',
  `cover_image` varchar(255) DEFAULT NULL COMMENT '社区封面',
  `location` varchar(255) DEFAULT NULL COMMENT '社区位置',
  `member_count` int(11) DEFAULT 0 COMMENT '成员数量',
  `status` tinyint(1) DEFAULT 1 COMMENT '状态:1-正常,0-禁用',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`)
);

3. 房间表 (room)

CREATE TABLE `room` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '房间ID',1
  `community_id` bigint(20) NOT NULL COMMENT '社区ID',
  `room_no` varchar(20) NOT NULL COMMENT '房间号',
  `room_type` varchar(50) DEFAULT NULL COMMENT '房间类型',
  `price` decimal(10,2) NOT NULL COMMENT '房间价格',
  `area` decimal(8,2) DEFAULT NULL COMMENT '房间面积',
  `description` text COMMENT '房间描述',
  `images` text COMMENT '房间图片JSON',
  `facilities` text COMMENT '房间设施JSON',
  `status` tinyint(1) DEFAULT 1 COMMENT '状态:1-可租,2-已租,0-维护',
  `rent_end_time` datetime DEFAULT NULL COMMENT '租期结束时间',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_community_id` (`community_id`)
);

4. 活动表 (activity)

CREATE TABLE `activity` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '活动ID',
  `community_id` bigint(20) DEFAULT NULL COMMENT '社区ID',
  `title` varchar(100) NOT NULL COMMENT '活动标题',
  `description` text COMMENT '活动描述',
  `activity_time` datetime NOT NULL COMMENT '活动时间',
  `location` varchar(255) DEFAULT NULL COMMENT '活动地点',
  `max_participants` int(11) DEFAULT NULL COMMENT '最大参与人数',
  `current_participants` int(11) DEFAULT 0 COMMENT '当前参与人数',
  `fee` decimal(10,2) DEFAULT 0.00 COMMENT '活动费用',
  `poster_url` varchar(255) DEFAULT NULL COMMENT '活动海报',
  `organizer_id` bigint(20) NOT NULL COMMENT '组织者ID',
  `status` tinyint(1) DEFAULT 1 COMMENT '状态:1-报名中,2-进行中,3-已结束,0-已取消',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_community_id` (`community_id`),
  KEY `idx_organizer_id` (`organizer_id`)
);

5. 动态表 (moment)

CREATE TABLE `moment` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '动态ID',
  `user_id` bigint(20) NOT NULL COMMENT '用户ID',
  `community_id` bigint(20) DEFAULT NULL COMMENT '社区ID',
  `title` varchar(100) DEFAULT NULL COMMENT '动态标题',
  `content` text COMMENT '动态内容',
  `images` text COMMENT '图片JSON',
  `like_count` int(11) DEFAULT 0 COMMENT '点赞数',
  `comment_count` int(11) DEFAULT 0 COMMENT '评论数',
  `type` tinyint(1) DEFAULT 1 COMMENT '类型:1-普通动态,2-社区故事',
  `status` tinyint(1) DEFAULT 1 COMMENT '状态:1-正常,0-删除',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_user_id` (`user_id`),
  KEY `idx_community_id` (`community_id`)
);

6. 商品表 (product)

CREATE TABLE `product` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT COMMENT '商品ID',
  `community_id` bigint(20) DEFAULT NULL COMMENT '社区ID',
  `name` varchar(100) NOT NULL COMMENT '商品名称',
  `description` text COMMENT '商品描述',
  `price` decimal(10,2) NOT NULL COMMENT '商品价格',
  `images` text COMMENT '商品图片JSON',
  `category` varchar(50) DEFAULT NULL COMMENT '商品分类',
  `stock` int(11) DEFAULT 0 COMMENT '库存数量',
  `sales` int(11) DEFAULT 0 COMMENT '销量',
  `rating` decimal(3,2) DEFAULT 0.00 COMMENT '评分',
  `status` tinyint(1) DEFAULT 1 COMMENT '状态:1-上架,0-下架',
  `create_time` datetime DEFAULT CURRENT_TIMESTAMP,
  `update_time` datetime DEFAULT CURRENT_TIMESTAMP ON UPDATE CURRENT_TIMESTAMP,
  PRIMARY KEY (`id`),
  KEY `idx_community_id` (`community_id`)
);

关联关系表

1. 社区成员表 (community_member)

CREATE TABLE `community_member` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `community_id` bigint(20) NOT NULL COMMENT '社区ID',
  `user_id` bigint(20) NOT NULL COMMENT '用户ID',
  `role` tinyint(1) DEFAULT 1 COMMENT '角色:1-普通成员,2-管理员',
  `join_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '加入时间',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_community_user` (`community_id`, `user_id`)
);

2. 活动参与表 (activity_participant)

CREATE TABLE `activity_participant` (
  `id` bigint(20) NOT NULL AUTO_INCREMENT,
  `activity_id` bigint(20) NOT NULL COMMENT '活动ID',
  `user_id` bigint(20) NOT NULL COMMENT '用户ID',
  `register_time` datetime DEFAULT CURRENT_TIMESTAMP COMMENT '报名时间',
  `status` tinyint(1) DEFAULT 1 COMMENT '状态:1-已报名,2-已签到,0-已取消',
  PRIMARY KEY (`id`),
  UNIQUE KEY `uk_activity_user` (`activity_id`, `user_id`)
);

技术架构

后端技术栈

  • 开发语言:Java 8
  • 框架:Spring Boot 2.7.x
  • ORM框架:MyBatis Plus 3.5.x
  • 数据库:MySQL 8.0 + Redis 6.x
  • 安全框架:Spring Security + JWT
  • 文档工具:Swagger 3.x
  • 构建工具:Maven 3.6+

前端技术栈

  • 框架:微信小程序原生开发
  • UI组件:Vant Weapp
  • 状态管理:全局状态管理
  • 网络请求:wx.request封装

第三方服务

  • 支付:微信支付
  • 地图:腾讯地图API
  • 消息推送:微信模板消息
  • 文件存储:腾讯云COS
  • 实名认证:第三方身份验证服务

项目结构

triple-forge/
├── src/main/java/com/tripleforge/
│   ├── TripleForgeApplication.java          # 启动类
│   ├── config/                              # 配置类
│   │   ├── MybatisPlusConfig.java
│   │   ├── RedisConfig.java
│   │   └── SwaggerConfig.java
│   ├── controller/                          # 控制器
│   │   ├── CommunityController.java
│   │   ├── RoomController.java
│   │   ├── ActivityController.java
│   │   ├── MomentController.java
│   │   ├── ProductController.java
│   │   └── UserController.java
│   ├── service/                             # 服务层
│   │   ├── CommunityService.java
│   │   ├── RoomService.java
│   │   ├── ActivityService.java
│   │   ├── MomentService.java
│   │   ├── ProductService.java
│   │   └── UserService.java
│   ├── mapper/                              # 数据访问层
│   │   ├── CommunityMapper.java
│   │   ├── RoomMapper.java
│   │   ├── ActivityMapper.java
│   │   ├── MomentMapper.java
│   │   ├── ProductMapper.java
│   │   └── UserMapper.java
│   ├── entity/                              # 实体类
│   │   ├── User.java
│   │   ├── Community.java
│   │   ├── Room.java
│   │   ├── Activity.java
│   │   ├── Moment.java
│   │   └── Product.java
│   ├── dto/                                 # 数据传输对象
│   ├── vo/                                  # 视图对象
│   ├── common/                              # 公共类
│   │   ├── Result.java
│   │   ├── PageResult.java
│   │   └── Constants.java
│   └── util/                                # 工具类
├── src/main/resources/
│   ├── application.yml                      # 配置文件
│   ├── mapper/                              # MyBatis映射文件
│   └── db/                                  # 数据库脚本
└── pom.xml                                  # Maven配置

开发计划

第一阶段:MVP版本(8周)

  • 用户登录注册
  • 社区信息展示
  • 房间信息展示
  • 基础活动功能
  • 个人中心基础功能

第二阶段:完整版本(7周)

  • 支付功能集成
  • 社区动态功能
  • 商城模块
  • 搭子系统
  • 高级功能优化

部署说明

环境要求

  • JDK 8+
  • MySQL 8.0+
  • Redis 6.0+
  • Maven 3.6+

配置说明

  • 数据库连接配置
  • Redis连接配置
  • 微信小程序配置
  • 第三方服务配置

本文档将随着项目开发进度持续更新,确保与实际功能保持同步。

About

三重炉小程序是为共居别墅社区打造的综合性服务平台,项目方在多个城市租赁别墅并打造成共居社区,每个别墅作为一个独立的共居社区,包含多个可租赁房间。平台通过兴趣爱好作为卖点,吸引兴趣同质化的年轻人租房,实现商业变现。

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors