🥧 PrivateCMS

PrivateCMS es un sistema de gestión de contenidos (CMS) moderno, ligero y basado en Docker, desarrollado específicamente para blogueros y desarrolladores. Ofrece una interfaz de usuario elegante, potentes funciones de administración y está listo para usar en pocos minutos gracias a Docker.


✨ Características

PrivateCMS viene repleto de funciones para creadores de contenido y administradores:

🗣️ Sistema de Foros (Nuevo)

  • Tableros extensos: Crea áreas de discusión (categorías) con descripciones.
  • Temas y Publicaciones: Los usuarios pueden crear nuevos temas y responder a los existentes.
  • Editor Potente: El editor también está disponible para los usuarios en el foro, incluyendo subida de imágenes, selector de color, emojis e iconos.
  • Herramientas de Moderación: Los administradores pueden bloquear temas (solo lectura) o fijar publicaciones importantes (Sticky).
  • Navegación: Migas de pan (Breadcrumbs) integradas para una fácil orientación en el foro.

📄 CMS y Páginas

  • Páginas estáticas: Crea contenido atemporal como "Sobre nosotros", "Aviso legal" o "Portafolio", separado del feed del blog.
  • Navegación Dinámica: Controla directamente en el editor si las páginas deben aparecer en el menú del Encabezado o del Pie de página.
  • URLs SEO: Slugs de URL automáticos y limpios para artículos y páginas (por ejemplo, /p/sobre-nosotros).

📝 Gestión de Contenidos

  • Editor Híbrido Pro: Editor avanzado de vista dividida con soporte para Markdown Y HTML. Incluye un selector de color nativo, resaltado de texto y amplias herramientas de formato.
  • Estado de la publicación: Gestiona entradas como Borrador, Publicado o Archivado.
  • Sticky Posts: Fija publicaciones importantes en la parte superior de la página de inicio (📌 Función).
  • Categorías y Etiquetas: Organiza tu contenido en categorías flexibles y utiliza etiquetas para facilitar la búsqueda.
  • Resaltado de sintaxis: Resaltado automático de bloques de código para blogs técnicos.
  • Extras: Selector de iconos integrado (FontAwesome), soporte para Emojis y subida de medios directa en el flujo de escritura.

🖼️ Medios y Archivos

  • Gestor de archivos: Gestor de archivos independiente (files.php) para subir, ver y gestionar centralmente todos los archivos multimedia.
  • Integración de medios: Inserta imágenes directamente desde el editor a través de una biblioteca multimedia.
  • Galería Lightbox: La función Lightbox integrada muestra las imágenes en artículos y páginas automáticamente en una elegante vista de pantalla completa al hacer clic.
  • Imágenes Hero: Establece impresionantes imágenes de portada para tus artículos.
  • Archivos adjuntos: Ofrece archivos para descargar directamente en el artículo.

💬 Interacción y Comunidad

  • Sistema de comentarios: Los visitantes pueden comentar los artículos.
  • Bandeja de entrada: Formulario de contacto integrado con su propia bandeja de entrada (messages.php) en el panel de administración para leer y gestionar mensajes (no se necesita servidor de correo).
  • Protección contra spam: Protección antispam matemática integrada (Captcha).
  • Moderación: Herramientas de administración para aprobar, marcar como spam o eliminar comentarios.

⚙️ Administración y Sistema

  • Panel de control completo: Un panel de control (dashboard.php) repleto de estadísticas de visitantes (vistas diarias), métricas de contenido y estado del sistema de un vistazo.
  • Sistema Multi-usuario: Sistema de derechos basado en roles (Admin, Editor, Viewer y Miembro) para la gestión segura de accesos del equipo y usuarios del foro.
  • Configuración: Configura el título del blog, la descripción, el servidor de correo SMTP y más directamente en el panel de administración.
  • Sistema de copias de seguridad: Crea y descarga copias de seguridad de tus datos (JSON, CSV o ZIP completo).
  • Registro (Log): Registra las acciones de los usuarios para mayor seguridad y transparencia.
  • Modo de mantenimiento: Pon el sitio temporalmente fuera de línea para actualizaciones.

🎨 Diseño y UX

  • Función de búsqueda: Barra de búsqueda integrada para encontrar contenido al instante.
  • Paginación: Numeración inteligente de páginas para navegar fácilmente por el archivo.
  • Modo Oscuro: Los visitantes pueden cambiar entre modo claro y oscuro 🌓.
  • Diseño Responsivo: Optimizado para escritorio, tableta y móvil.
  • Barra lateral: Barra lateral dinámica con categorías, nube de etiquetas y comentarios recientes.
  • Volver arriba: Navegación cómoda para artículos largos.

🌍 Internacionalización (i18n)

  • Multilingüe: Soporte completo para Alemán 🇩🇪, Inglés 🇬🇧, Francés 🇫🇷 y Español 🇪🇸 tanto en el frontend como en el backend.

🚀 Instalación

PrivateCMS está optimizado para funcionar con Docker, lo que hace que la instalación sea extremadamente sencilla.

Requisitos

  • Docker y Docker Compose instalados.
  • Git (opcional, para clonar el repositorio).

Instrucciones paso a paso

  1. Clonar repositorio

    git clone [https://github.com/el-choco/piperblog.git](https://github.com/el-choco/piperblog.git)
    cd piperblog
  2. Ejecutar instalador Utiliza el script de instalación incluido para configurar el entorno e iniciar los contenedores:

    chmod +x docker-install.sh
    ./docker-install.sh

    El script crea automáticamente el archivo .env, construye los contenedores Docker y los inicia.

  3. Acceder al blog Una vez que los contenedores estén funcionando, tu blog estará accesible en:

    • Frontend: http://localhost:3333 (o el puerto según configuración)
    • Login Admin: http://localhost:3333/admin
  4. Primer inicio de sesión Utiliza las credenciales estándar para el área de administración:

    • Usuario: admin
    • Contraseña: admin123
    • (¡Por favor, cambia la contraseña inmediatamente después del primer inicio de sesión!)

🛠️ Stack Tecnológico

  • Backend: PHP 8.2+
  • Base de datos: MySQL 8.0
  • Servidor web: Apache
  • Frontend: HTML5, CSS3, Vanilla JS
  • Contenedorización: Docker

📂 Estructura

  • admin/ - Interfaz de administración (Backend).
  • public/ - El frontend visible para los visitantes (Temas, Assets).
  • src/ - Clases PHP y lógica central.
  • config/ - Archivos de configuración y archivos de idioma (.ini).
  • docker/ - Configuraciones específicas de Docker.

📄 Licencia

Este proyecto se publica bajo la licencia MIT. Ver LICENSE para más detalles.