项目简介
本项目是一个仿牛客网的讨论社区,实现了注册、登录、发帖、评论、点赞、回复等基础功能。采用前缀树进行敏感词过滤,利用wkhtmltopdf生成长图和PDF,完成网站UV和DAU统计,还将用户头像等信息存于七牛云服务器。
项目的主要特性和功能
- 用户管理:涵盖注册、登录、账号激活、密码更新、头像上传等功能。
- 帖子管理:支持发帖、评论、点赞、回复、置顶、加精、删除等操作。
- 消息系统:包含私信、系统通知、关注、粉丝列表等功能。
- 搜索功能:借助Elasticsearch实现全局搜索,支持关键词高亮显示。
- 统计功能:使用Redis统计网站UV(Unique Visitor)和DAU(Daily Active User)。
- 权限控制:运用Spring Security进行权限管理,支持用户、管理员、版主等不同角色的权限控制。
- 异步消息系统:通过Kafka处理发送评论、点赞和关注等系统通知。
- 缓存优化:采用Redis和Caffeine作为多级缓存,提升网站访问速度。
安装使用步骤
1. 环境准备
确保已安装以下软件: - Java 8 或更高版本 - MySQL 5.7 或更高版本 - Redis - Kafka - Elasticsearch - Maven
2. 下载源码
假设已下载项目源码文件。
3. 配置数据库
在MySQL中创建新数据库,并导入项目中的SQL文件初始化数据库结构。
4. 配置Redis和Kafka
确保Redis和Kafka服务已启动,在项目配置文件中正确配置相关连接信息。
5. 配置Elasticsearch
启动Elasticsearch服务,在项目配置文件中配置其连接信息。
6. 编译和运行项目
进入项目根目录,使用Maven编译和运行项目:
bash
cd community-forum
mvn clean package
java -jar target/community-forum.jar
7. 访问项目
项目启动后,打开浏览器访问:
http://localhost:8080
8. 配置文件
在application.properties
文件中配置数据库连接、Redis连接、Kafka连接、Elasticsearch连接等信息。
9. 运行测试
项目包含单元测试和集成测试,使用以下命令运行:
bash
mvn test
下载地址
点击下载 【提取码: 4003】【解压密码: www.makuang.net】