The official version of jspBB-1.0.0 has been released. This version adds the notification function using websocket, so you can know your answers or comments in real time. Administrators can be notified of questions, answers or comments throughout the website and can answer users' questions in a timely manner. It is also a good choice as a customer service system.
In addition, some other bugs have been fixed and some new small functions have been added.
jspBB forum (question and answer) system introductionjspBB is a free and open source forum (question and answer) system based on Java/Kotlin, imitating the models of stackoverflow, quora, and Zhihu, and is open source under the GPL-2 agreement. Developed using SpringBoot2, Mybatis, TypeScript, React, AntDesign4, AntDesignPro5, Thymeleaf, Bootstrap4 and other technologies.
The name jspBB is a tribute to phpBB, and jsp is not used in the system. At the beginning, among the three major Internet technologies of PHP, ASP, and JSP, only JSP did not have a heavyweight open source forum. I hope jspBB can make up for this shortcoming.
The system uses SpringBoot2 and can be started in jar mode. The backend and front-end use React, AntDesign4, and AntDesignPro5, based on the ReactHooks mode. Considering search engine friendliness, Thymeleaf and Bootstrap4 are used in the front-end, which is more useful than Freemarker. In the future, the API interface of the front-end will be provided, so that the front-end can also use technologies such as React and Vue.
The application code in the system is developed with Kotlin, and the tool code is developed with Java (taking into account reuse in other projects). Kotlin is an efficient and safe development language, 100% compatible with Java. After compilation, it is still a class file and still runs in the JDK without relying on any other environment. Kotlin and Java can call each other. You can mix and match Java and Kotlin during development. It is not necessary to use Kotlin for everything. Kotlin has become the preferred development language in Android, and Spring has also added support for Kotlin early.
In actual development, Kotlin's safe handling of null values can greatly enhance code security. There is no need to consider the issue of null values anytime and anywhere. Similar to the syntax sugar of dynamic languages, you can do whatever you want with a small amount of code. There is no worry about why it can't be like this or why it can't be like that when developing in Java. A simple idea requires many lines of code to realize.
jspBB forum (question and answer) system front desk functionRegistration (Alibaba SMS, email), login, password retrieval, third-party login (QQ, WeChat, Weibo), third-party storage (Tencent Cloud, Qiniu Cloud, Alibaba Cloud), question (modify, delete), answer ( Modify, delete), comment (modify, delete), search, support Markdown (images), support sensitive word filtering.
jspBB forum (Q&A) system background functionsSettings: basic settings, registration settings, email settings, upload settings, watermark settings, constraint settings, sensitive words
User: role management, user group management, user management
Content: question management, answer management, comment management
System: SMS log, access log
The background list page supports searching, sorting, hiding or displaying any field.
The background modification page supports the display and editing of the previous and next items, without switching back and forth between the list page and the edit page.
jspBB Forum (Q&A) System Environment RequirementsJDK8.
Servlet3.1 or higher (such as Tomcat8.5 or higher).
MySQL5.5 or higher (if you need to use MySQL5.0, you can replace the mysql driver version with 5.1.24). How to connect to MySQL8 database
Browsers: IE11, Edge, Firefox, Chrome.
Kotlin1.3 or higher. (Required for development environment)
Maven3.3 or higher. (Required for development environment)
jspBB Forum (Q&A) System Technology StackKotlin/Java
Mybatis
SpringBoot2
Shiro
Thymeleaf
Bootstrap4
React
TypeScript
AntDesign4
AntDesignPro5
jspBB forum (question and answer) system building stepsMaven3.3 or higher. And configure the Alibaba Cloud Maven warehouse image.
IntelliJIDEA2018.3 or higher. Requires Kotlin1.3 support.
Import the project via pom.xml. Wait for the jar package to be downloaded.
Create a database in MySQL and select utf8mb4 as the character set.
Execute the database creation script/database/mysql_schema.sql and initialization data/database/mysql_init.sql in the database.
Open src/main/resources/application.properties and modify the database connection, username, and password: spring.datasource.urlspring.datasource.usernamespring.datasource.password.
Click the Run button in the upper right corner of IDEA to start the program.
Front desk address: http://localhost:8080
Default username: admin, default password: password.
The backend front-end is developed based on react and must be started in the front-end development tool to access it. Please download the jspbb-cp project separately.
Introduction to GPL-2right
Free for personal and commercial use.
Source code can be modified.
limit
After modifying the source code, if it needs to be distributed, it must be open source under the GPL-2 license.
Distribution means making a program available to others. Including modifying the source code and setting up a new project; or as a software product of the company.