Se ha lanzado la versión oficial de jspBB-1.0.0 . Esta versión agrega la función de notificación mediante websocket, para que puedas conocer tus respuestas o comentarios en tiempo real. Los administradores pueden recibir notificaciones sobre preguntas, respuestas o comentarios en todo el sitio web y pueden responder las preguntas de los usuarios de manera oportuna. También es una buena opción como sistema de atención al cliente.
Además, se han solucionado algunos otros errores y se han añadido algunas pequeñas funciones nuevas.
Introducción al sistema del foro jspBB (preguntas y respuestas)jspBB es un sistema de foro (preguntas y respuestas) gratuito y de código abierto basado en Java/Kotlin, que imita los modelos de stackoverflow, quora y Zhihu, y es de código abierto según el acuerdo GPL-2. Desarrollado utilizando SpringBoot2, Mybatis, TypeScript, React, AntDesign4, AntDesignPro5, Thymeleaf, Bootstrap4 y otras tecnologías.
El nombre jspBB es un homenaje a phpBB y jsp no se utiliza en el sistema. Al principio, entre las tres principales tecnologías de Internet, PHP, ASP y JSP, solo JSP no tenía un foro de código abierto pesado. Espero que jspBB pueda compensar esta deficiencia.
El sistema utiliza SpringBoot2 y se puede iniciar en modo jar. El backend y el front-end utilizan React, AntDesign4 y AntDesignPro5, basados en el modo ReactHooks. Teniendo en cuenta la compatibilidad con los motores de búsqueda, Thymeleaf y Bootstrap4 se utilizan en el front-end, que es más útil que Freemarker. En el futuro, se proporcionará la interfaz API del front-end, de modo que el front-end también pueda utilizar tecnologías como React y Vue.
El código de la aplicación en el sistema se desarrolla con Kotlin y el código de la herramienta se desarrolla con Java (teniendo en cuenta la reutilización en otros proyectos). Kotlin es un lenguaje de desarrollo eficiente y seguro, 100% compatible con Java. Después de la compilación, sigue siendo un archivo de clase y aún se ejecuta en el JDK sin depender de ningún otro entorno. Kotlin y Java pueden llamarse entre sí. Puede mezclar y combinar Java y Kotlin durante el desarrollo. No es necesario utilizar Kotlin para todo. Kotlin se ha convertido en el lenguaje de desarrollo preferido en Android, y Spring también agregó soporte para Kotlin desde el principio.
En el desarrollo real, el manejo seguro de valores nulos por parte de Kotlin puede mejorar en gran medida la seguridad del código. No es necesario considerar el problema de los valores nulos en cualquier momento y en cualquier lugar. Al igual que el azúcar de sintaxis de los lenguajes dinámicos, puede hacer lo que quiera. con una pequeña cantidad de código. No hay que preocuparse por por qué no puede ser así o por qué no puede ser así cuando se desarrolla en Java. Una idea simple requiere muchas líneas de código para realizarse.
Función de recepción del sistema del foro jspBB (preguntas y respuestas)Registro (Alibaba SMS, correo electrónico), inicio de sesión, recuperación de contraseña, inicio de sesión de terceros (QQ, WeChat, Weibo), almacenamiento de terceros (Tencent Cloud, Qiniu Cloud, Alibaba Cloud), pregunta (modificar, eliminar), respuesta (Modificar , eliminar), comentar (modificar, eliminar), buscar, admitir Markdown (imágenes), admitir filtrado de palabras confidenciales.
Funciones en segundo plano del sistema jspBB forum (Preguntas y respuestas)Configuraciones: configuraciones básicas, configuraciones de registro, configuraciones de correo electrónico, configuraciones de carga, configuraciones de marcas de agua, configuraciones de restricciones, palabras confidenciales Usuario: administración de roles, administración de grupos de usuarios, administración de usuarios Contenido: administración de preguntas, administración de respuestas, administración de comentarios Sistema: registro de SMS, registro de acceso La página de lista de fondo admite buscar, ordenar, ocultar o mostrar cualquier campo.
La página de modificación de fondo admite la visualización y edición de los elementos anteriores y siguientes, sin alternar entre la página de lista y la página de edición.
Requisitos del entorno del sistema del foro jspBB (Preguntas y respuestas) JDK8.
Servlet3.1 o superior (como Tomcat8.5 o superior).
MySQL5.5 o superior (si necesita utilizar MySQL5.0, puede reemplazar la versión del controlador MySQL con 5.1.24). Cómo conectarse al navegador de base de datos MySQL8: IE11, Edge, Firefox, Chrome.
Kotlin1.3 o superior. (Requerido para el entorno de desarrollo)
Maven3.3 o superior. (Requerido para el entorno de desarrollo)
Kotlin/Java
mibatis
SpringBoot2
shiro
hoja de tomillo
arranque4
Reaccionar
Mecanografiado
AntDesign4
AntDesignPro5
Maven3.3 o superior. Y configure la imagen del almacén de Alibaba Cloud Maven.
IntelliJIDEA2018.3 o superior. Requiere soporte Kotlin1.3.
Importe el proyecto a través de pom.xml. Espere a que se descargue el paquete jar.
Cree una base de datos en MySQL y seleccione utf8mb4 como juego de caracteres.
Ejecute el script de creación de la base de datos/database/mysql_schema.sql y los datos de inicialización/database/mysql_init.sql en la base de datos.
Abra src/main/resources/application.properties y modifique la conexión de la base de datos, el nombre de usuario y la contraseña: spring.datasource.urlspring.datasource.usernamespring.datasource.password.
Haga clic en el botón Ejecutar en la esquina superior derecha de IDEA para iniciar el programa.
Dirección de recepción: http://localhost:8080
Nombre de usuario predeterminado: admin, contraseña predeterminada: contraseña.
El front-end backend se desarrolla en base a reaccionar y debe iniciarse en la herramienta de desarrollo front-end para acceder a él. Descargue el proyecto jspbb-cp por separado.
Los derechos son gratuitos para uso personal y comercial.
El código fuente se puede modificar.
Después de restringir la modificación del código fuente, si es necesario distribuirlo, debe ser de código abierto bajo la licencia GPL-2.
Distribución significa poner un programa a disposición de otros. Incluyendo modificar el código fuente y configurar un nuevo proyecto o como producto de software de la empresa;