/community

甲壳虫社区(Beetle Community) 一个开源的问答社区,基于SpringBoot+MyBatis开发,目前功能有第三方登陆、邮件注册、查看、发布、评论、消息通知、顶置、一键已读、搜索等,后续会不断更新完善,欢迎大家提供更好的建议。https://github.com/songjilong/community

Primary LanguageJava

线上地址:http://www.dbeetle.cn,欢迎大家访问

网站说明

问答社区更像是一个社交网络,以社区形式来帮助用户解惑。社交问答弥补了对隐性知识(根据知识能否清晰地表述和有效的转移,可以把知识分为显性知识和隐性知识)的即时搜索。通过用户的不断讨论,实现了问题向知识的转化。我们在学习或者生活中,肯定会遇到各种问题、困惑,搜索引擎也许不会很好的解决你的问题,问答社区的诞生可以很好的解决这一问题,就像是一群人坐在一起聊天,你可以向他人提问,也可以回答别人的问题,又或者发表一些文章,相互交流、共同进步。

甲壳虫社区(Beetle Community)就是这样的问答社区、论坛或博客,开源免费,您可以提出自己的问题、发布自己的文章、和其他用户交流。

目前功能有第三方登陆、邮箱注册登录、查看、发布、评论、消息通知、顶置、搜索、热门问题、热门标签等,后续会不断的更新完善,欢迎大家提供更好的建议。

网站预览

首页

首页

登录界面

登录页

问题详情

问题详情页

问题发布

问题发布页

标签选择

标签选择

使用技术

后端:

  • Java
  • Spring Boot
  • Mybatis
  • Thymeleaf

前端:

  • HTML、CSS
  • JavaScript
  • JQuery
  • BootStrap

数据库:

  • MySQL
  • Redis

开发环境

  • JDK 1.8.0_131
  • Maven 3.52
  • MySQL 5.6.46
  • Git 2.24.0
  • IntelliJ IDEA 2019.3.3
  • Redis 5.0.8

快速部署

使用基本功能

  1. clone 本项目到本地:git clone git@github.com:songjilong/community.git,并导入到自己的IDE
  2. 确保你的 IDE 中 Lombok 插件能正常使用
  3. 上面的开发环境你需要安装配置好,版本不一定得一致,但 JDK 1.8 及以上是必须的
  4. 在本地创建数据库,命名为 db_community,字符集设置为 utf8mb4
  5. 打开 pom.xml、application.yml、application.properties,修改数据库连接信息
  6. 执行命令:mvn flyway:migrate -P dev 创建数据库表
  7. 点击运行即可

使用其他功能

  1. 邮件注册:需要安装 redis,并修改配置文件里的连接信息
  2. 第三方登录:(GitHub、Gitee、QQ),请自行注册第三方应用,官网上有开发文档
  3. markdown编辑器上传图片:需要去阿里云开通 OSS,并修改 application.yml 中 aliyun 对应的配置
  4. 聊天室:需要去 此处 注册一个账号,配置 application.yml 中的 beetle.app_id 的值

其他:

  • Mybatis Generator逆向生成代码:mvn -Dmybatis.generator.overwrite=true mybatis-generator:generate -P dev

更新日志

2020.4.20

  • 新增问题删除功能
  • 新增密码找回功能
  • 增加个人主页信息

2020.4.15

  • 添加聊天室
  • 添加音乐播放器
  • 修复邮件发送不提示问题

2020.4.11

  • 将每日一图换为每日一文

2020.4.4

  • 修复标签无法选择特殊字符问题

2020.3.27

  • 修复搜索 * + ? 等特殊字符引起的异常
  • 优化 Markdown 编辑器

2020.3.24

  • 添加邮箱注册、登录功能

2020.3.6

  • 添加最热问题、消灭零回复
  • 添加 QQ 登录

2020.3.5

  • 添加热门标签

2020.2.29

  • 添加一键已读
  • 添加个人主页

2020.2.27

  • 添加 Gitee 登录
  • 支持插入 emoji 表情
  • 添加用户须知
  • 增加页面图标,优化前端样式

2020.2.26

  • 抽取公共 js、css 文件的引入

第三方工具

参考文档

常见问题解决