# liam_forum **Repository Path**: LiamLMK/liam_forum ## Basic Information - **Project Name**: liam_forum - **Description**: 基于 Spring 框架实现的论坛系统-前后端分离模式 - **Primary Language**: Java - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-09-06 - **Last Updated**: 2025-03-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: Java, SpringBoot, MyBatis, MySQL ## README # Liam论坛系统 (Liam Forum System) ## 项目介绍 Liam论坛系统是一个基于Spring Boot框架开发的前后端分离的论坛系统。该系统实现了一个完整的在线论坛平台,用户可以在各个版块中发布帖子、回复帖子、点赞内容,并支持站内消息通信等功能。 ### 主要功能 - **用户管理**:用户注册、登录、个人信息管理 - **版块管理**:多个专题版块,支持版块的显示和管理 - **帖子管理**:发布、浏览、编辑、删除帖子 - **回复系统**:支持楼中楼回复功能 - **点赞系统**:支持对帖子和回复的点赞功能 - **站内信**:用户间的消息通信功能 - **管理功能**:管理员可以管理用户、版块、帖子等内容 ## 系统环境与部署 ### 环境要求 - JDK 17 - MySQL 5.7+ - Maven 3.6+ - 操作系统:Windows/Linux/MacOS ### 部署步骤 1. **数据库配置** - 创建MySQL数据库 `forum_db` - 执行 `src/forum_db.sql` 脚本初始化数据库表和基础数据 2. **配置修改** - 根据实际环境修改 `src/main/resources/application-dev.yml` 或 `application-prod.yml` 文件中的数据库连接信息: ```yaml spring: datasource: url: jdbc:mysql://127.0.0.1:3306/forum_db?characterEncoding=utf8&useSSL=false username: your_username password: your_password ``` - 修改日志路径配置: ```yaml logging: file: path: your_log_path ``` 3. **项目构建与运行** - 开发环境运行: ```bash mvn spring-boot:run -Dspring-boot.run.profiles=dev ``` - 生产环境部署: ```bash mvn clean package -P prod java -jar target/liam_forum-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod ``` 4. **访问系统** - 默认端口:7313 - 访问地址:http://localhost:7313 - Swagger API文档:http://localhost:7313/swagger-ui/ ## 代码组织架构 ### 目录结构 ``` . ├── src │ ├── main │ │ ├── java │ │ │ └── com.liam.forum │ │ │ ├── common # 通用工具类和常量 │ │ │ ├── config # 系统配置 │ │ │ ├── controller # 控制器层,处理HTTP请求 │ │ │ ├── dao # 数据访问层 │ │ │ ├── exception # 异常处理 │ │ │ ├── interceptor # 拦截器 │ │ │ ├── model # 实体模型类 │ │ │ ├── service # 业务逻辑层 │ │ │ └── utils # 工具类 │ │ └── resources │ │ ├── mapper # MyBatis XML映射文件 │ │ ├── mybatis # MyBatis配置 │ │ ├── static # 静态资源 │ │ ├── templates # 模板文件 │ │ ├── application.yml # 主配置文件 │ │ ├── application-dev.yml # 开发环境配置 │ │ └── application-prod.yml # 生产环境配置 │ ├── test # 测试目录 │ └── forum_db.sql # 数据库初始化脚本 ├── pom.xml # Maven项目配置文件 └── README.md # 项目说明文件 ``` ### 技术架构 - **框架**:Spring Boot 2.6.3 - **ORM层**:MyBatis - **数据库**:MySQL - **数据源**:Druid - **文档**:Swagger/OpenAPI - **工具库**:Lombok、Commons-codec ## 主要业务模型 系统包含五个主要数据模型: - **用户(t_user)**:存储用户信息,包括用户名、密码、个人资料等 - **版块(t_board)**:存储论坛版块信息 - **帖子(t_article)**:存储帖子内容,关联用户和版块 - **回复(t_article_reply)**:存储帖子回复,支持楼中楼结构 - **站内信(t_message)**:存储用户间的通信消息 ## 版本更新内容 ### v0.0.1-SNAPSHOT - 初始版本构建 - 实现基础的论坛功能 - 支持用户注册、登录 - 支持版块管理 - 支持发帖、回复 - 支持站内信功能 ## 后续开发计划 - 增加用户权限管理 - 增强帖子内容编辑器 - 添加富文本支持 - 优化移动端适配 - 增加数据统计和分析功能 ## 贡献指南 1. Fork 本仓库 2. 创建功能分支 (`git checkout -b feature/your-feature`) 3. 提交更改 (`git commit -m "Add some feature"`) 4. 推送到分支 (`git push origin feature/your-feature`) 5. 创建Pull Request ## 许可证 本项目使用 [LICENSE](LICENSE) 许可证。