Skip to content

NomadCoderCL/Chatbot-Java-zkoss

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

3 Commits
 
 
 
 

Repository files navigation

Chatbot Java + ZKoss

Descripción General

Este proyecto implementa un chatbot avanzado, reutilizable y seguro para aplicaciones web desarrolladas en Java con el framework ZKoss. El chatbot es capaz de responder preguntas frecuentes, guiar a usuarios, registrar conversaciones, aplicar reglas avanzadas, detectar lenguaje ofensivo y soportar comandos especiales. Incluye panel de administración y es fácilmente integrable en cualquier aplicación ZKoss.


Estructura del Proyecto

Chatbot/
├── AdminPanel.zul                # Panel de administración (ZK)
├── AdminPanelViewModel.java      # ViewModel del panel admin
├── chatbot.css                   # Estilos del widget
├── chatbot.zul                   # Widget visual del chatbot (ZK)
├── ChatbotService.java           # Lógica principal y backend del chatbot
├── ChatbotViewModel.java         # ViewModel del widget chatbot
├── dao/
│   ├── LogConversacionDAO.java   # Acceso a logs de conversación
│   ├── PreguntaDAO.java          # Acceso a preguntas
│   ├── ReglaDAO.java             # Acceso a reglas
│   └── RespuestaDAO.java         # Acceso a respuestas
└── model/
    ├── LogConversacion.java      # Modelo de log de conversación
    ├── Pregunta.java             # Modelo de pregunta
    ├── Regla.java                # Modelo de regla
    └── Respuesta.java            # Modelo de respuesta

Principales Funcionalidades

  • Respuestas automáticas: Coincidencia exacta, similitud y reglas avanzadas.
  • Panel de administración: CRUD de preguntas, respuestas y reglas.
  • Registro de conversaciones: Logging completo para auditoría y QA.
  • Detección de lenguaje ofensivo: Filtro de palabras prohibidas.
  • Comandos especiales: /ayuda, /historial, /faq, /exportar.
  • Exportación de logs: Descarga de logs en formato CSV.
  • Sugerencias automáticas: Auto-complete para preguntas frecuentes.
  • Historial de usuario: Consulta de interacciones previas.
  • Analítica básica: Pregunta más frecuente.
  • Seguridad: Validación de entrada, control de longitud, autenticación básica.
  • Fácil integración: Solo incluye el widget y configura el ViewModel.

Integración en una Aplicación ZKoss

  1. Incluye el widget en tu página ZKoss:
    <include src="chatbot.zul"/>
  2. Asegúrate de que el package base sea Chatbot y la estructura de carpetas coincida.
  3. Configura el datasource y DAOs según tu base de datos real si lo deseas.

Uso del Chatbot

  • Escribe tu mensaje en la caja de texto y presiona Enter o el botón "Enviar".
  • El bot responderá automáticamente según las reglas y base de conocimiento.
  • Usa comandos especiales para funciones avanzadas:
    • /ayuda — Muestra los comandos disponibles.
    • /historial — Muestra el número de mensajes previos del usuario.
    • /faq — Lista preguntas frecuentes.
    • /exportar — Descarga logs (solo admin).

Panel de Administración

  • Accede a AdminPanel.zul para gestionar preguntas, respuestas y reglas.
  • Permite agregar, editar y eliminar entradas del conocimiento del bot.
  • (Opcional) Integra autenticación para restringir acceso a administradores.

Seguridad y Buenas Prácticas

  • Todas las entradas de usuario son validadas y sanitizadas.
  • Se filtran palabras ofensivas y comandos peligrosos.
  • El sistema es extensible para integración con SSO, JWT, o bases de datos reales.
  • Los logs pueden ser exportados y auditados.

Extensiones y Mejoras Futuras

  • Integración con IA (OpenAI, Dialogflow, etc.)
  • Soporte multilenguaje.
  • Integración con sistemas de tickets o CRM.
  • Notificaciones push o email.
  • Panel de analítica avanzada.

Créditos y Licencia

Desarrollado por el equipo de desarrollo. Uso libre para proyectos internos y comerciales. Se recomienda mantener esta documentación y los créditos en futuras versiones.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published