{"id":19591204,"url":"https://github.com/cosen1024/community","last_synced_at":"2025-04-05T18:08:33.683Z","repository":{"id":41011653,"uuid":"259542088","full_name":"cosen1024/community","owner":"cosen1024","description":"一个仿照牛客网实现的讨论社区，不仅实现了基本的注册，登录，发帖，评论，点赞，回复功能，同时使用前缀树实现敏感词过滤，使用wkhtmltopdf生成长图和pdf，实现网站UV和DAU统计，并将用户头像等信息存于七牛云服务器。","archived":false,"fork":false,"pushed_at":"2023-04-27T11:56:50.000Z","size":896,"stargazers_count":459,"open_issues_count":3,"forks_count":76,"subscribers_count":4,"default_branch":"master","last_synced_at":"2025-03-29T17:09:26.905Z","etag":null,"topics":["community","elasticsearch","java","kafka","project","redis","springboot"],"latest_commit_sha":null,"homepage":"","language":"Java","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/cosen1024.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-04-28T05:39:18.000Z","updated_at":"2025-03-27T22:30:07.000Z","dependencies_parsed_at":"2024-11-11T08:29:56.675Z","dependency_job_id":"1c97d49e-f6cf-4935-ab5b-ee759a772cbd","html_url":"https://github.com/cosen1024/community","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosen1024%2Fcommunity","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosen1024%2Fcommunity/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosen1024%2Fcommunity/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/cosen1024%2Fcommunity/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/cosen1024","download_url":"https://codeload.github.com/cosen1024/community/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247378144,"owners_count":20929296,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["community","elasticsearch","java","kafka","project","redis","springboot"],"created_at":"2024-11-11T08:27:59.682Z","updated_at":"2025-04-05T18:08:33.662Z","avatar_url":"https://github.com/cosen1024.png","language":"Java","funding_links":[],"categories":[],"sub_categories":[],"readme":"## 项目介绍\r\n一个仿照牛客网实现的讨论社区，不仅实现了基本的注册，登录，发帖，评论，点赞，回复功能，同时使用前缀树实现敏感词过滤，使用wkhtmltopdf生成长图和pdf，实现网站UV和DAU统计，并将用户头像等信息存于七牛云服务器。\r\n## 其他项目\r\n* 计算机类电子书仓库：https://github.com/cosen1024/awesome-cs-books\r\n* Java面试题仓库：https://github.com/cosen1024/Java-Interview\r\n## 项目演示\r\n演示地址: http://coolsen.cn/ \u003cbr\u003e\r\n账号密码: aaa/aaa\r\n## 技术选型\r\n![](.images/arc.png)\r\n\r\n## 功能简介\r\n* 使用Spring Security 做权限控制，替代拦截器的拦截控制，并使用自己的认证方案替代Security 认证流程，使权限认证和控制更加方便灵活。\r\n* 使用Redis的set实现点赞，zset实现关注，并使用Redis存储登录ticket和验证码，解决分布式session问题。 \r\n* 使用Redis高级数据类型HyperLogLog统计UV(Unique Visitor),使用Bitmap统计DAU(Daily Active User)。\r\n* 使用Kafka处理发送评论、点赞和关注等系统通知，并使用事件进行封装，构建了强大的异步消息系统。 \r\n* 使用Elasticsearch做全局搜索，并通过事件封装，增加关键词高亮显示等功能。 \r\n* 对热帖排行模块，使用分布式缓存Redis和本地缓存Caffeine作为多级缓存，避免了缓存雪崩，将QPS提升了20倍(10-200)，大大提升了网站访问速度。并使用Quartz定时更新热帖排行。 \r\n\r\n\r\n## 开发环境\r\n\r\n| 工具          | 版本号 | 下载                              |\r\n| ------------- | ------ | --------------------------------- |\r\n| JDK           | 11     | https://openjdk.java.net/install/ |\r\n| Mysql         | 5.7    | https://www.mysql.com/            |\r\n| Redis         | 3.2    | https://redis.io/download         |\r\n| Elasticsearch | 6.4.3  | https://www.elastic.co/downloads  |\r\n| Kafka         | 2.3.0  |   https://kafka.apache.org/downloads                                |\r\n| nginx         | 1.10   | http://nginx.org/en/download.html | \r\n## 运行效果展示\r\n* 首页\r\n![](.images/index.png)\r\n* 消息\r\n![](.images/message.png)\r\n## 后续更新点\r\n* 增加收藏功能\r\n* 增强对话框功能\r\n## 相关资源\r\n[相关的教程](https://pan.baidu.com/s/1LjYYwJVsqNBxq69udsXMvA):网盘提取码：wxdd \r\n\r\n有项目相关、求职等问题，可以加我微信交流，个人微信：kusengo，\u003cimg src=\"http://blog-img.coolsen.cn/img/image-20230427195311976.png\" alt=\"image-20230427195311976\" style=\"zoom:25%;\" /\u003e\r\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosen1024%2Fcommunity","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fcosen1024%2Fcommunity","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fcosen1024%2Fcommunity/lists"}