Skip to main content

Introducción

Este documento describe el análisis de requisitos y los flujos de usuario para el desarrollo de una aplicación de reservas para eventos.

Objetivo: Validar y definir el alcance para construir un MVP en el que el Administrador gestione los recursos y reservas, con la posibilidad de evolucionar hacia una solución multi-tenant en el futuro.

Objetivos del Proyecto

  • Desarrollar una aplicación web para reservar recursos destinados a eventos (mesas, sillas, iluminación, salones, etc.).
  • Permitir que un único administrador gestione los recursos y las reservas.
  • Sentar las bases para una futura extensión en la que proveedores externos puedan gestionar sus propios recursos.

Alcance del Proyecto

Funcionalidades Incluidas:

  • Registro e inicio de sesión para usuarios (cliente y administrador).
  • Consulta y visualización de disponibilidad de recursos.
  • Creación, modificación y cancelación de reservas.
  • Gestión del inventario de recursos por parte del administrador.
  • Procesamiento de pagos y confirmación de reservas (fase posterior o prototipo básico).

Exclusiones (Por el momento):

  • Gestión de múltiples proveedores externos.
  • Integración avanzada con pasarelas de pago (puede simplificarse en el MVP).

Stakeholders y Roles

  • Administrador:
    • Rol principal encargado de gestionar los recursos, aprobar reservas y actualizar la disponibilidad.
  • Cliente:
    • Usuario final que consulta la disponibilidad y solicita reservas.
  • Futuro Proveedor (Opcional para fase evolutiva):
    • Rol que en versiones futuras permitirá a terceros gestionar su propio catálogo de recursos.

Requisitos Funcionales

  • Autenticación y Autorización:
    • Registro de usuarios.
    • Inicio de sesión seguro.
  • Gestión de Recursos:
    • CRUD para recursos (mesas, sillas, salones, etc.).
    • Visualización del estado (disponible, reservado).
  • Gestión de Reservas:
    • Creación de reservas: Selección de fecha, hora y recursos.
    • Modificación y cancelación de reservas.
    • Notificaciones de confirmación o cancelación.
  • Procesamiento de Pagos: -Integración con una pasarela de pago y la generación de confirmaciones.
  • Dashboard Administrativo:
    • Visualización de reservas y recursos.
    • Gestión de incidencias y actualización de disponibilidad.

Requisitos No Funcionales

  • Usabilidad:
    • Interfaz intuitiva con tiempos de respuesta rápidos.
  • Seguridad:
    • Implementación de protocolos para proteger datos personales (por ejemplo, JWT para la autenticación).
  • Escalabilidad:
    • Arquitectura modular que permita la adición de nuevos roles (proveedores) en el futuro.
  • Compatibilidad:
    • Accesible desde diferentes dispositivos (responsive design).

Roadmap y Fases del Proyecto

Fase 1:

  • Análisis y documentación de requisitos y flujos de usuario (esta fase).
  • Definición del modelo de dominio y estructura inicial.

Fase 2:

  • Desarrollo del MVP (Aplicación con rol único del Administrador).
  • Implementación del backend (ASP.NET Core y PostgreSQL) y del frontend (React).

Fase 3:

  • Refactorización y modularización para escalabilidad.
  • Preparación para la futura integración del rol de Proveedor.