jspBB-1.0.0正式版发布了,此版本增加了使用websocket实现通知功能,可以实时的知道关于自己的回答或评论。管理员可以得到整个网站提问、回答或评论的通知,及时为用户解答问题。作为客服系统也是不错的选择。
另外还修复了其它一些bug,及新增部分小功能。
jspBB论坛(问答)系统介绍jspBB是一款基于Java/Kotlin的免费、开源论坛(问答)系统,仿stackoverflow、quora、知乎的模式,以GPL-2协议开源。使用SpringBoot2、Mybatis、TypeScript、React、AntDesign4、AntDesignPro5、Thymeleaf、Bootstrap4等技术开发。
jspBB这个名字为了致敬phpBB,系统中并没有使用jsp。当初php、asp、jsp三大互联网技术,唯有jsp一直没有重量级的开源论坛,希望jspBB可以弥补这一缺憾。
系统使用SpringBoot2,可以用jar方式启动。后台前端使用React、AntDesign4、AntDesignPro5,基于ReactHooks模式。考虑到搜索引擎友好,前台前端使用Thymeleaf、Bootstrap4,比Freemarker更好用。后续会提供前台前端的API接口,使前台前端也可以使用React、Vue等技术。
系统中应用类代码用Kotlin开发,工具类的代码用Java开发(考虑到要在其它项目复用)。Kotlin是高效、安全的开发语言,100%兼容Java,编译后依旧是class文件,依旧运行在JDK中,无需依赖任何其它环境。Kotlin和Java可以相互调用,开发时可以Java、Kotlin混搭,并不需要全部都用Kotlin。在Android中Kotlin已经作为首选开发语言,Spring也早早的加入了Kotlin的支持。
实际开发中,Kotlin的空值安全处理,可以大大的增强代码安全性,不用随时随地考虑null值的问题;类似动态语言的语法糖,可以做到想怎样就怎样,代码量少。没有java开发时那种为什么不能这样、为什么不能那样的苦恼,一个简单的想法,需要多行代码才能实现。
jspBB论坛(问答)系统前台功能注册(阿里短信,邮箱)、登录、找回密码、第三方登录(QQ,微信,微博)、第三方存储(腾讯云,七牛云,阿里云)、提问(修改,删除)、回答(修改,删除)、评论(修改,删除)、搜索、支持Markdown(贴图)、支持敏感词过滤。
jspBB论坛(问答)系统后台功能设置:基础设置、注册设置、邮箱设置、上传设置、水印设置、约束设置、敏感词
用户:角色管理、用户组管理、用户管理
内容:问题管理、回答管理、评论管理
系统:短信日志、访问日志
后台列表页面,支持任意字段搜索、排序,隐藏或显示。
后台修改页面,支持上一条、下一条显示和编辑,不用列表页、编辑页来回切换。
jspBB论坛(问答)系统环境要求JDK8。
Servlet3.1或更高版本(如Tomcat8.5或更高版本)。
MySQL5.5或更高版本(如需使用MySQL5.0,可将mysql驱动版本替换为5.1.24)。如何连接MySQL8数据库
浏览器:IE11、Edge、Firefox、Chrome。
Kotlin1.3或更高版本。(开发环境需要)
Maven3.3或更高版本。(开发环境需要)
jspBB论坛(问答)系统技术栈Kotlin/Java
Mybatis
SpringBoot2
Shiro
Thymeleaf
Bootstrap4
React
TypeScript
AntDesign4
AntDesignPro5
jspBB论坛(问答)系统搭建步骤Maven3.3或更高版本。并配置阿里云Maven仓库镜像。
IntelliJIDEA2018.3或更高版本。需Kotlin1.3支持。
通过pom.xml导入项目。等待jar包下载完成。
在MySQL中创建数据库,字符集选择utf8mb4。
在数据库中执行建库脚本/database/mysql_schema.sql和初始化数据/database/mysql_init.sql。
打开src/main/resources/application.properties,修改数据库连接、用户名、密码:spring.datasource.urlspring.datasource.usernamespring.datasource.password。
点击IDEA右上角Run按钮,启动程序。
前台地址:http://localhost:8080
默认用户名:admin,默认密码:password。
后台前端基于react开发,要在前端开发工具中启动才能访问。请另外下载jspbb-cp项目。
GPL-2简介权利
可以免费使用,包括个人和商用。
可以修改源代码。
限制
修改源代码后,如需分发,则必须以GPL-2协议开源。
分发是指提供程序给别人。包括修改源代码后,另外成立一个新的项目;或者作为公司的一个软件产品。