UJCMS: un sistema de gestión de contenidos de código abierto basado en SpringBoot
UJCMS es un sistema de gestión de contenidos de código abierto (Java CMS) desarrollado en base a SpringBoot, con el objetivo de proporcionar a los desarrolladores una plataforma potente, flexible y fácil de usar. Hace uso de tecnologías convencionales como SpringBoot, MyBatis, Shiro, Lucene, FreeMarker, TypeScript, Vue3, ElementPlus y hace referencia a los años de experiencia en desarrollo de Jspxcms para optimizar y mejorar algunos puntos débiles del sistema original.
Aspectos técnicos destacados de la UJCMS
UJCMS siempre se adhiere a los principios de "simple" y "flexible" en la selección de tecnología y el diseño de arquitectura, esforzándose por reducir los costos de mantenimiento del sistema y las dificultades del desarrollo secundario, y brindar a los desarrolladores una experiencia más conveniente.
1. Arquitectura técnica
Capa de persistencia: utilice MyBatis para reemplazar Hibernate para simplificar las operaciones de persistencia de datos y mejorar la eficiencia del desarrollo.
Capa de vista: utilice Vue3 con front-end y back-end separados para reemplazar JSP y lograr un diseño de interfaz de usuario más moderno y mejorar la experiencia del usuario.
Base de datos: rediseñar la arquitectura de la base de datos y optimizar los métodos de acceso y almacenamiento de datos.
2. Funciones destacadas
UJCMS proporciona una gran cantidad de funciones que cubren los requisitos básicos de un sistema de gestión de contenidos y mejora la flexibilidad y facilidad de uso del sistema a través de algunos diseños innovadores:
1. Campos personalizados
Consultable: se pueden consultar todos los campos personalizados, lo que mejora la flexibilidad del sistema y satisface diversas necesidades de gestión de contenidos.
Diseño visual: proporciona una interfaz de diseño visual de arrastrar y soltar para realizar una configuración de campo personalizada WYSIWYG y simplificar el proceso de operación.
2. Optimización SEO de direcciones URL
Modificación dinámica de direcciones: el sistema proporciona una función de configuración global para facilitar a los usuarios personalizar los prefijos de direcciones URL de columnas y artículos para mejorar los efectos de optimización SEO.
Optimización de múltiples sitios: las direcciones URL de los subsitios ya no tienen el formato www.example.com/site-abc, sino la forma más amigable de www.example.com/abc, lo que simplifica las rutas de acceso de los usuarios.
3. Limpiar archivos adjuntos basura
Gestión de archivos adjuntos: proporciona una función de gestión de archivos adjuntos para facilitar a los usuarios ver todas las imágenes y archivos adjuntos no utilizados, eliminarlos y limpiar el espacio del sistema.
Limpieza automática: después de eliminar un artículo, el sistema limpiará automáticamente las imágenes y los archivos adjuntos no utilizados en el artículo para evitar generar una gran cantidad de datos basura.
4. Los archivos adjuntos, las plantillas y los archivos de índice se implementan de forma independiente
Directorio independiente: implemente los archivos generados cuando el sistema se está ejecutando (como imágenes y archivos adjuntos cargados, plantillas de front-end, archivos de índice) en un directorio independiente para facilitar la copia de seguridad, la actualización y la administración del sistema.
5. El archivo de plantilla está en el mismo directorio que CSS y JS.
Gestión conveniente: coloque archivos de plantilla, CSS y JS en el mismo directorio para simplificar el proceso de producción e implementación de plantillas y mejorar la eficiencia del desarrollo.
6. Consulta parametrizada MyBatis
Consulta flexible: al pasar parámetros de consulta en el front-end, se puede realizar la función de consulta de cualquier campo y tabla relacionada. No es necesario escribir código en segundo plano, lo que reduce en gran medida la carga de trabajo del desarrollo back-end.
Mejore la eficiencia: simplifique las operaciones de consulta y mejore la eficiencia del desarrollo.
7. Dividir tablas primarias y secundarias.
Mejore el rendimiento: divida tablas complejas con un gran volumen de consultas en tablas primarias y secundarias, coloque los campos de consulta más utilizados en la tabla principal y coloque los campos menos utilizados en las tablas secundarias para mejorar el rendimiento del sistema con grandes volúmenes de datos.
Requisitos ambientales para la UJCMS
JDK 8
MySQL 5.7 (compatible con 5.6, 8.0)
Tomcat 8.5, 9.0 (Servlet 3.1+)
Maven 3.5 o superior
Navegadores compatibles con el backend del sistema: Chrome, Firefox, Edge
Los navegadores compatibles de la página principal dependen de la plantilla. El usuario tiene control total sobre la plantilla y, en teoría, puede admitir cualquier navegador. La plantilla de demostración es compatible con IE10+ (excepto la función de biblioteca), Chrome, Firefox y Edge.
Instalación y puesta en marcha de UJCMS
1. Importar datos a la base de datos
Crear base de datos: cuando utilice MySQL, seleccione el conjunto de caracteres utf8mb4 (admite más caracteres especiales, como emoticones emoji, recomendado).
Ejecutar script de base de datos: el script de base de datos se encuentra en el directorio de la base de datos.
2. Inicie el programa
Importe el proyecto Maven: importe el proyecto Maven en Eclipse y espere a que se descargue el paquete jar de terceros (como Spring) del servidor Maven.
Modifique la conexión de la base de datos: abra el archivo /src/main/resources/application.propertis y modifique los valores de spring.datasource.url, spring.datasource.username y spring.datasource.password según la situación real.
Inicie el programa: en Eclipse, haga clic derecho en el nombre del proyecto, seleccione Ejecutar como - Aplicación Java, seleccione Aplicación - com.ujcms y haga clic en Aceptar.
IntelliJ IDEA: los pasos de operación son similares a los de Eclipse. Busque la clase com.ujcms.Application en el proyecto, haga clic derecho y seleccione Ejecutar 'Aplicación'.
3. Dirección de acceso
Recepción: http://localhost:8080/
Backend: http://localhost:8080/cp/ (nombre de usuario: admin, contraseña: contraseña)
Nota: El front-end del backend está desarrollado en base a Vue 3. Si desea modificar la interfaz del backend, descargue el proyecto ujcms-cp por separado.
Resumir
UJCMS es un sistema de gestión de contenidos de código abierto potente, flexible y fácil de usar con un rendimiento excelente. Adopta pilas de tecnología convencionales y optimiza algunos problemas comunes, con el objetivo de brindar a los desarrolladores una experiencia de desarrollo y mantenimiento más conveniente y eficiente. Si necesita una plataforma CMS confiable y fácilmente escalable, UJCMS merece su atención.