diff --git a/docs/acta-constitucion.md b/docs/acta-constitucion.md index 70586cf..8368611 100644 --- a/docs/acta-constitucion.md +++ b/docs/acta-constitucion.md @@ -29,6 +29,7 @@ Funcionalidades incluidas: - Generación de portfolio para el profesional. - Gestión de usuarios con diferentes roles (anónimo, cliente, profesional, administrador). - Sistema de feedback y comentarios en imágenes, colecciones, sesiones y portfolio general. +- Compresión de imágenes para optimizar su almacenamiento y distribución. Funcionalidades excluidas o relegadas a futuro: @@ -43,6 +44,9 @@ Funcionalidades excluidas o relegadas a futuro: - Integración con herramientas de marketing y análisis de datos. - Funcionalidades de automatización de flujos de trabajo. - Soporte para la gestión de derechos de autor y licencias de imágenes. +- Integración con servicios de terceros para la importación de las colecciones compradas por el usuario. +- Uso de CDNs para la distribución de imágenes. +- Uso de la nube para almacenar las imágenes. ## Interesados diff --git a/docs/requisitos-funcionales.md b/docs/requisitos-funcionales.md index 8d1d83d..31908b4 100644 --- a/docs/requisitos-funcionales.md +++ b/docs/requisitos-funcionales.md @@ -2,3 +2,144 @@ --- +## Gestión de usuarios (4 tipos: anónimo, cliente, profesional, administrador) + +Existirán 4 tipos de usuarios: + +- Anonimo +- Cliente +- Profesional +- Administrador + +Todos los tipos parten de la base de anónimo, es decir, que un usuario anónimo podrá convertirse en cliente, profesional o administrador a través de un proceso de registro y autenticación y conservará los permisos básicos del anónimo. + +### Anónimo + +Podrá consultar el portfolio y ver los enlaces y botones de la página principal y navegar por ella para ver las imágenes públicas, los últimos eventos realizados a modo de blog, las redes sociales del profesional e identificarse como cliente registrado. + +Para registrarse, necesitará correo electrónico, nombre y apellidos, y una contraseña. En su defecto podrá registrarse usando un proveedor de identidad (Google, Microsoft, Meta o Apple). Adaptaremos a OpenId y OAuth 2. +A todos los usuarios se les recomendará habilitar la autenticación de dos factores para mejorar la seguridad de sus cuentas. Aquellos que no la habilitén serán forzados a usar magic links (se les enviará un enlace de acceso por correo electrónico). + +### Cliente + +Podrá puntuar imágenes, colecciones, sesiones o el portfolio. +También podrá dejar comentarios que justifiquen su puntuación. + +Podrá comprar imágenes individuales o colecciones. También podrá contratar una sesión fotográfica. + +Si contrata una sesión tendrá que seleccionar las imágenes que desea incluir en la sesión y proporcionar feedback sobre el avance de la misma. + +Podrá acceder a un historico de sus compras y sesiones para descargarse las imágenes y compartirlas con otros clientes. + +### Profesional + +Podrá editar el panel principal del portfolio, añadiendo, organizando y eliminando imágenes. +Podrá editar las subsecciones del portfolio añadiendo, organizando y eliminando categorias y colecciones. +Podrá editar la información asociada a una imágen, como el título, la descripción, las etiquetas, el evento en la que se tomó, si se debe ocultar al público, a que collección pertenece o si pertenece a una sesión. +Podrá crear y editar las colecciones y eventos, modificando fechas, títulos, descripciones, visibilidad y otros metadatos. +Podrá crear y editar las sesiones, añadiendo y eliminando clientes, imágenes, fechas, descripciones y otros metadatos. + +### Administrador + +Podrá añadir, editar y eliminar profesionales. +También moderará el contenido generado por los usuarios. +Será responsable de la gestión de la plataforma y de la atención al cliente. + +## Sistema de almacenamiento + +Solo se permitirán subir imágenes en formato JPEG, JPG y PNG. + +Las imágenes se subirán sin compresión, manteniendo su calidad original. + +Al momento de subirlas, se crearán 3 copias. +La copia 1, se almacenará en 360p en formato Webp. Se usará a modo de vista previa o thumbnail de la imágen original, actuará de proxy. Se llamará `low-res-proxy-`. +La copia 2, se almacenará en 720p en formato Webp. Se usará a modo de detalle o ampliación en las visualizaciones desde pantallas superiores a 720p. Se llamará `mid-res-proxy-`. +La copia 3, se almacenará en 1080p en formato Webp. Se usará a modo de detalle o ampliación en las visualizaciones desde pantallas superiores a 1080p. Se llamará `high-res-proxy-`. +La imagen original se almacenará en su formato original, sin pérdidas. Solo será visible desde las galerías o colecciones a las que pertenezca y solo cuando se descargue por un cliente que haya pagado por ella. Se llamará `original-`. + +## Distribución a clientes + +Las imágenes se servirán de forma diferida o lazy-loading. +El profesional creará una colección, añadirá las imágenes que la compongan, y añadirá a los usuarios que tengan acceso a ella. +Los usuarios podrán ver y comentar las imágenes de la colección que les haya sido compartida. +Los usuarios podrán ver colecciones que estén marcadas como públicas o a las que hayan sido invitados. +Los usuarios podrán compartir las colecciones que les hayan sido asignadas pero no podrán compartir las imágenes de esas colecciones fuera de la plataforma. + +## Funcionalidades de trabajo colaborativo + +El profesional creará una sesión fotográfica, añadirá las imágenes que la compongan, y añadirá a los usuarios que tengan acceso a ella. +Los clientes podrá votar y comentar las imágenes de la sesión. +El profesional podrá leer y responder a los comentarios de los clientes, que se leerán ordenados según su fecha de creación y votación. +El profesional podrá entonces escoger un número limite de imágenes para actualizar, todas las demás se deshabilitarán y ya no se podrán descargar por parte del cliente. +Las imágenes marcadas se podrán actualizar, subiendo la nueva versión de la imagen. +Se mantendrá un historial de versiones de cada imagen, permitiendo al cliente acceder a versiones anteriores y votar cual quiere conservar y cual quiere descartar. + +## Sistema de feedback y valoraciones + +Los clientes podrán dejar comentarios y valoraciones sobre las imágenes y colecciones que hayan adquirido. +El profesional podrá leer y responder a los comentarios de los clientes. + +Hay 2 tipos de votos: + +- Positivo +- Negativo + +El cómputo total de valoración se hará como: (positivo - negativo) / ( totales ) + +El cliente identificado podrá dejar un comentario, anónimo o no, sobre la imagen, colección o profesional. +Los comentarios se ordenarán descendentemente según su fecha de creación y votación. +Las imágenes en una colección se ordenarán descendentemente según su puntuación. +Los comentarios de una colección se ordenarán descendentemente según su fecha de creación y votación. +Las colecciones se ordenarán manualmente y las votaciones no afectarán su orden. + +## Gestión de portfolio y colecciones + +El portfolio contendrá 2 secciones destacadas: + +1. **Colección principal**: Contendrá la lista de imágenes ordenadas escogidas por el profesional. +2. **Timeline de colecciones**: Contendrá un registro de las colecciones destacadas por el profesional y un enlace al resto de ellas. + +Estas secciones se verán como 2 paneles en la página del portfolio cuando se visauliza en pantallas grandes. +En pantallas pequeñas, se visualizará únicamente la colección principal. + +Un profesional podrá crear y gestionar el portfolio de su página principal. +Podrá añadir, organizar y eliminar imágenes en el portfolio. +Podrá añadir, organizar y eliminar colecciones en el portfolio. + +La sección de colección principal: + +- El profesional podrá añadir hasta un número límite de imágenes. +- Podrá cambiar el orden y tamaño de las tarjetas de cada imagen, haciendo uso de un sistema de arrastrar y soltar (drag-and-drop) para reorganizarlas. +- Podrá eliminar imágenes de la colección principal. + +* Cada imagen se visualizará en una tarjeta de dimensiones variables, sin datos asociados. Y al hacerle click, se expandirá para verla a mayor tamaño, solo en dispositivos de resolución mayor a 720p. Todas las colecciones compartirán el mismo diseño de tarjeta. + +La sección de timeline de colecciones: + +- El profesional podrá añadir hasta un número límite de colecciones. +- Podrá cambiar el orden las colecciones que aparecen. +- Podrá eliminar colecciones del timeline. + +* Cada colección se visualizará con su imagen destacada, título, descripción y fecha. + +Al final del portfolio se incluirá una sección de comentarios y votaciones al portfolio. +Los clientes podrán dejar comentarios y valoraciones sobre el portfolio. +El profesional podrá leer y responder a los comentarios de los clientes. + +## Sistema de sesiones fotográficas + +Una sesión es una colección de imágenes que no se pueden descargar por parte del cliente hasta finalizar la sesión. +Todas las imágenes de la sesión tendrán una valoración inicial de 0, y una lista de comentarios vacia. +El profesional puede versionar las imágenes de la sesión. +El cliente puede votar las imágenes de la sesión. +Para cerrar una sesión y finalizarla, el cliente tiene que haber escogido al menos una imagen hasta un número máximo definido por el profesional. +Una vez finalizada la sesión, el cliente podrá descargar todas las imágenes de la sesión que haya seleccionado, todas las demás se eliminarán. + +## Funcionalidades de venta y pagos + +Todas las imágenes se pueden comprar y descargar. +Todas las colecciones se pueden comprar y descargar. +Todos los clientes puede reservar una sesión. + +Para los pagos se usará google pay o linkpay o stripe. +Se intentará ofrecer una experiencia de pago fluida y segura para los clientes. \ No newline at end of file