From 55e7e000a909fe6cf8ecd2e13b38c86b5e0d8072 Mon Sep 17 00:00:00 2001 From: Manuel Date: Thu, 28 Aug 2025 18:26:28 +0200 Subject: [PATCH] =?UTF-8?q?a=C3=B1ade=20primeras=20documentaciones?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- docs/acta-constitucion.md | 57 ++++++++++++++++++ docs/analisis-funcional.md | 0 docs/analisis-tecnico.md | 0 docs/cronograma.md | 0 docs/index.md | 0 docs/introduccion.md | 102 ++++++++++++++++++++++++++++++++- docs/manual-usuario.md | 0 docs/plan-proyecto.md | 0 docs/pruebas.md | 0 docs/requisitos-funcionales.md | 4 ++ docs/requisitos.md | 0 11 files changed, 162 insertions(+), 1 deletion(-) create mode 100644 docs/acta-constitucion.md delete mode 100644 docs/analisis-funcional.md delete mode 100644 docs/analisis-tecnico.md delete mode 100644 docs/cronograma.md delete mode 100644 docs/index.md delete mode 100644 docs/manual-usuario.md delete mode 100644 docs/plan-proyecto.md delete mode 100644 docs/pruebas.md create mode 100644 docs/requisitos-funcionales.md delete mode 100644 docs/requisitos.md diff --git a/docs/acta-constitucion.md b/docs/acta-constitucion.md new file mode 100644 index 0000000..70586cf --- /dev/null +++ b/docs/acta-constitucion.md @@ -0,0 +1,57 @@ +# Galerías Fotográficas - Acta de Constitución + +--- + +## Propósito + +Crear una plataforma web que permita a fotógrafos profesionales almacenar, distribuir y colaborar con sus clientes en la gestión de imágenes digitales de manera eficiente y segura. + +## Objetivos + +1. Facilitar el almacenamiento y la organización de imágenes digitales. +2. Mejorar la comunicación y colaboración entre fotógrafos y clientes. +3. Proporcionar herramientas para la retroalimentación y revisión de imágenes. +4. Ofrecer una experiencia de usuario intuitiva y accesible. +5. Ofrecer una solución integral que unifique todos los aspectos de la gestión de imágenes digitales. +6. Ofrecer un portfolio público para atraer nuevos clientes. + +## Alcance + +Funcionalidades incluidas: + +- Subida y almacenamiento de imágenes. +- Visualización y descarga de imágenes en diferentes tamaños y resoluciones. +- Etiquetado y clasificación manual de imágenes. +- Creación y gestión de colecciones de imágenes. +- Creación y gestión de eventos temporales asociados a colecciones. +- Compra de sesiones por parte de clientes. +- Compra de imágenes individuales o colecciones. +- 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. + +Funcionalidades excluidas o relegadas a futuro: + +- Generación de títulos y descripciones automáticas para imágenes. +- Etiquetado y clasificación automática de imágenes. +- Integración con redes sociales para compartir imágenes. +- Edición avanzada de imágenes dentro de la plataforma. +- Soporte para videos y otros formatos multimedia. +- Integración con servicios de impresión y productos físicos. +- Funcionalidades de inteligencia artificial para la mejora automática de imágenes. +- Soporte para múltiples idiomas y localización. +- 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. + +## Interesados + +- Fotógrafos profesionales y empresas de imagen + +## Restricciones y limitaciones + +- Todas las imágenes vistas en la web tendrán una resolución máxima de 1080p. +- No se permitirá la descarga de imágenes en alta resolución sin comprarla. +- No se generarán rutas para las imágenes. +- Solo se permitirá la subida de imágenes en formatos JPEG, JPG y PNG. +- No se permitirá comprar a usuarios no autenticados. diff --git a/docs/analisis-funcional.md b/docs/analisis-funcional.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/analisis-tecnico.md b/docs/analisis-tecnico.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/cronograma.md b/docs/cronograma.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/index.md b/docs/index.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/introduccion.md b/docs/introduccion.md index e584c2c..abc6f6c 100644 --- a/docs/introduccion.md +++ b/docs/introduccion.md @@ -53,4 +53,104 @@ El cliente no quiere recibir las imágenes en un zip o tener que descargarlas de ### Trabajo colaborativo -El profesional quiere que el cliente escoja la imagen que más el guste y le ayude a +El profesional quiere que el cliente escoja la imagen que más el guste y le de feedback sobre el retoque y la edición de la imágen. +El cliente queire revisar el trabajo del profesional para escoger las imágenes que más le gusten. + +### Feedback + +El cliente puede dar feedback mediante comentarios en cada imágen como votando la imagen. +La nota asignada a cada imágen se determinará como: (votos positivos - votos negativos) / votos totales +Los comentarios se puntuarán de la misma forma. +El profesional podrá responder a los comentarios y los leerá de forma que el comentario con mejor puntuación quede el primero, en su defecto se ordenarán por fecha. + +El feedback también podrá ser dado a imágenes y colecciones del portfolio público, solamente lo podrán hacer los clientes autenticados. Aquellos que adquieran una sesión podrán dejar feedback al profesional de forma pública. + +### Portfolio + +El profesional no quiere gastar en otro servicio más para alojar el protfolio. +El profesional quiere subir las imágenes al servicio y escoger cuales van a conformar el portfolio. +El profesional quiere que la primera ojeada que tenga el cliente sobre el servicio sea el portfolio. + +### Colecciones + +El profesional quiere organizar las imágenes por fecha, personas que salen en ellas, categorías, eventos... +El profesional quiere poder reunir imágenes que se relacionen entre sí por categoría, evento, fechas, motivos... +El profesional quiere juntar todas las imágenes que van destinadas a un cliente. + +### Sesiones + +El profesional hará varias imágenes que revisará con el cliente. +El cliente escogerá únicamente las mejoras y que más le gusten. +El profesional revisará esas imágenes, con un límite numérico de imágenes totales. +El cliente recibirá una colección de esas imágenes. +Múltiples clientes y profesionales podrán trabajar en una única sesión. +Durante el proceso, debe existir una colaboración mutua mediante feedback. + +### Multiples clientes + +El profesional quiere poder trabajar sobre un proyecto y poder enviar el resultado del proyecto a multiples clientes. + +### Venta del servicio + +El profesional quiere cobrar una imágen única, una o varias colecciones, o una sesión. +Un cliente pagará por una imágen, una o diversas colección premaquetadas, y por una sesión. +Muchos clientes podrán pagar conjuntamente el servicio. + +### Usuarios + +Existirán 4 tipos de usuarios: + +- Anonimo +- Cliente +- Profesional +- Administrador + +El usuario anónimo podrá consultar el portfolio y ver los diferentes botones y enlaces para ver el resto de imágenes públicas, redes sociales, blog o identificarse. + +El cliente, o usuario identificado, podrá hacer lo mismo que el anónimo. También podrá comprar las diferentes imágenes y colecciones disponibles. Además, podrá contratar una sesión, interactuar con la sesión que tenga activa dando feedback o escogiendo las imágenes; y consultar pedidos anteriores para descargar las imágenes, publicarlas en redes sociales o compartirlas de forma directa con otros clientes identificados. + +El profesional, podrá editar las imágenes y colecciones públicas que haya en el portfolio; organizar nuevas sesiones, editar las sesiones en marcha y actualizarlas; crear y editar nuevas colecciones; crear y editar eventos y categorías. + +El administrador, podrá hacer lo mismo que el profesional y además podrá añadir profesionales y editar aspectos clave de la web. + +Para facilitar el registro y el inicio de sesión, los usuarios podrán iniciar sesión con Google, Microsoft, Meta y Apple. Además, contarán con la opción de usar correo y contraseña. Para ello nos adaptaremos a OpenId y OAuth 2. +Todos los usuarios tendrán un método MFA como sms o passkeys. +Aquellos usuarios que inicien sesión con contraseña, recibirán un magic link para entrar. + +### Conexiones lentas + +Todas las imágenes subidas se procesarán en 3 categorías: + +- Baja resolución: 360p, comprimidas en WebP +- Media resolución: 720p, comprimidas en WebP +- Resolución Nativa: nativa, sin compresión + +### Pagos + +Se establecerá como recomendación el uso de linkpay o servicios como google wallet. + +--- + +## Tecnologías a usar + +Back: +JWT, OpenId + OAuth 2 -> Duende Identity Server +DDD con CQRS -> MediatR +Entity Framework Core + sqlite -> Base de datos +AutoMapper -> Mapeo de objetos +Serilog + OpenTelemetry -> Logging y trazabilidad +Scalar + OpenApi -> Documentación y pruebas de API +FluentValidation -> Validación de modelos +Redis -> Almacenamiento en caché +mailkit -> Envío de correos electrónicos +ImageSharp -> Procesamiento de imágenes + +Front: +TailwindCSS -> Estilos +Angular -> Framework +RxJS -> Programación reactiva +NgRx -> Manejo del estado +scss -> Preprocesador CSS +axios -> Cliente HTTP +Vite -> Bundler +Typescript -> Lenguaje diff --git a/docs/manual-usuario.md b/docs/manual-usuario.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/plan-proyecto.md b/docs/plan-proyecto.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/pruebas.md b/docs/pruebas.md deleted file mode 100644 index e69de29..0000000 diff --git a/docs/requisitos-funcionales.md b/docs/requisitos-funcionales.md new file mode 100644 index 0000000..8d1d83d --- /dev/null +++ b/docs/requisitos-funcionales.md @@ -0,0 +1,4 @@ +# Galerías Fotográficas - Requisitos funcionales + +--- + diff --git a/docs/requisitos.md b/docs/requisitos.md deleted file mode 100644 index e69de29..0000000