# treehole-forum **Repository Path**: huangbeining/treehole-forum ## Basic Information - **Project Name**: treehole-forum - **Description**: 基于SpringBoot 3 的校园论坛,包括前台与后台管理系统两部分。服务端使用springboot, mybatis框架, 数据库为mysql 8和redis 7, 前端主要使用jQuery, 原生js, BootStrap5和layui - **Primary Language**: Java - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 2 - **Forks**: 1 - **Created**: 2023-02-27 - **Last Updated**: 2024-06-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: SpringBoot, MyBatis, MySQL, Redis, 论坛 ## README # treehole-forum #### 介绍 全匿名,不暴露账号的校园论坛,包括前台与后台管理系统两部分, 实现了发帖,投票,点赞,评论,回复,收藏,举报,热度查询,主题查询,用户管理,权限管理等功能。服务端使用springboot 3, mybatis框架, 数据库为mysql 8和redis 7, 前端主要使用jQuery, 原生js, BootStrap5和layui #### 软件架构 1. 项目采用maven构建, application.yml为配置文件, 若需安装运行本项目, 需要修改其中部分配置 2. 后端框架为springboot 3, 持久层采用mybatis; 前端使用jQuery, bootstrap, layui等技术, 相关依赖均在resources目录下的static子目录中 3. 数据库使用mysql 8, redis 7, 若需运行本项目, 需修改路径及密码等信息 4. 使用springboot提供的mail-starter依赖, 邮件信息需配置 5. 使用腾讯云cos存储, 需要购买对象存储服务, 并修改工具类TemporaryCOSAccess (在java/com/hbn/treehole/cos目录下) #### 关键技术 1. 使用redis实现了热度排行和验证码登录功能 2. 评论模块数据库设计借助local_commenter表实现完全匿名评论, 不向前端暴露用户信息 3. 使用synchronized关键字处理评论和点赞模块存在并发的代码 4. 使用帖子id作为分页边界优化分页sql查询 5. 使用SpringMVC的Interceptor实现了权限管理和验证