sistema de notificacion - ManuelJDonoso/Proyecto_daw GitHub Wiki

Sistema de Notificaciones

Propósito y Alcance

El sistema de notificaciones proporciona un canal estructurado de comunicación entre los usuarios y los administradores/moderadores en la aplicación Crónicas de Mérida. Sus funciones principales incluyen:

  1. Permitir a los usuarios enviar solicitudes de ayuda.
  2. Habilitar a los administradores y moderadores para responder a estas solicitudes.
  3. Mantener un registro de las comunicaciones con seguimiento de estado.
  4. Soportar conversaciones de múltiples pasos entre usuarios y el personal.

Este documento cubre la implementación técnica de este sistema, incluyendo el flujo de solicitudes de ayuda, la estructura de la base de datos y la interfaz administrativa.

Arquitectura del Sistema

El sistema de notificaciones consta de varios componentes interconectados que gestionan el flujo de solicitudes de ayuda y respuestas.

Diagrama de Arquitectura

imagen

Nota: Aquí se incluiría un diagrama visual representando los componentes y su interacción.

Roles de los Componentes

Componente Archivo Función Principal
Interfaz de Chat de Ayuda views/button_help.php Proporciona la interfaz de burbuja de chat para que los usuarios envíen solicitudes de ayuda.
Manejador de Solicitudes controllers/guardar_mensaje_help.php Guarda las solicitudes de ayuda de los usuarios en la base de datos.
Página de Notificaciones views/notificacion.php Muestra los mensajes categorizados y la interfaz de respuesta.
Controlador de Notificaciones controllers/notificacion.php Procesa acciones y recupera datos de mensajes.
Cargador de Mensajes controllers/cargar_mensaje.php Carga detalles de mensajes para solicitudes AJAX.

Estructura de la Base de Datos

El sistema de notificaciones utiliza dos tablas principales y varias vistas de base de datos para organizar y presentar los datos de los mensajes.

Esquema de la Base de Datos

Nota: Aquí se incluiría una descripción detallada de las tablas help y notification, incluyendo sus campos y relaciones.

Vistas de la Base de Datos

imagen

Se utilizan tres vistas de base de datos para proporcionar acceso estructurado a los datos de notificaciones:

  1. vista_mensaje_help: Une la tabla help con la información del usuario.
  2. vista_notificacion_procesando: Muestra las notificaciones que están siendo procesadas.
  3. vista_notificacion_procesando_finalizado: Muestra las notificaciones que han sido finalizadas.

Flujo de Solicitudes de Ayuda

El sistema de notificaciones comienza con un usuario enviando una solicitud de ayuda a través de la interfaz de burbuja de chat.

Diagrama del Proceso de Solicitud de Ayuda

Nota: Aquí se incluiría un diagrama visual representando el flujo desde la solicitud del usuario hasta la respuesta del administrador.

Implementación de la Interfaz de Chat de Ayuda

La interfaz de chat de ayuda se implementa como una burbuja flotante en la aplicación que se expande en una ventana de chat al hacer clic. Esto proporciona una forma accesible para que los usuarios soliciten asistencia desde cualquier página.

Sistema de Respuesta Administrativa

Los administradores y moderadores acceden a una página de notificaciones dedicada para ver y responder a las solicitudes de ayuda.

Flujo de Estado de los Mensajes

Nota: Aquí se incluiría una descripción de los diferentes estados por los que puede pasar una solicitud de ayuda (por ejemplo, nueva, en proceso, finalizada).

Acciones de Respuesta

El sistema de notificaciones admite cuatro acciones principales que los administradores y moderadores pueden realizar sobre los mensajes:

  1. Enviar: Respuesta inicial a una solicitud de ayuda, que la mueve del estado "nueva" a "procesando".
  2. Ampliar: Añadir información adicional a una solicitud en curso.
  3. Finalizar: Marcar una solicitud como completada.
  4. Eliminar: Eliminar una solicitud de la vista activa.