Saltar a contenido

Descripción del Sistema

JokeAppWeb es una aplicación web que permite a los usuarios interactuar con una colección de chistes. A través de una interfaz intuitiva y dinámica, el usuario puede generar nuevos chistes de forma aleatoria, reaccionar ante ellos con "like" o "dislike", y visualizar un ranking de los chistes más valorados. El sistema está orientado a ofrecer una experiencia entretenida y sencilla para usuarios autenticados.

Funcionalidades principales

Las funcionalidades principales que ofrece la aplicación son:

  • Registro de nuevos usuarios.
  • Inicio de sesión (login) y cierre de sesión (logout).
  • Generación de chistes aleatorios.
  • Calificación de chistes con "like" o "dislike".
  • Visualización de un ranking basado en la puntuación de los chistes.

Usuarios y roles del sistema

El sistema está diseñado para un único tipo de usuario:

  • Usuario autenticado: puede acceder a todas las funcionalidades disponibles tras iniciar sesión, como ver chistes, calificarlos y consultar el ranking.

No se contemplan roles administrativos ni múltiples niveles de acceso en esta versión.

Arquitectura general del sistema

La arquitectura del sistema está basada en una estructura cliente-servidor, compuesta por tres capas principales:

  • Frontend: Desarrollado con React y empaquetado con Vite, este componente se encarga de la interfaz de usuario y la interacción con el usuario final.
  • Backend: Implementado con FastAPI (Python), expone una API RESTful que gestiona la lógica de negocio, autenticación de usuarios y acceso a la base de datos.
  • Base de datos: Utiliza PostgreSQL para el almacenamiento persistente de usuarios, chistes y sus respectivas calificaciones.

Los tres componentes se orquestan mediante Docker Compose para facilitar el despliegue en entornos controlados, y se integran bajo un mismo servidor a través de un proxy inverso configurado con Nginx.