añade primeras documentaciones

This commit is contained in:
2025-08-28 18:26:28 +02:00
parent 8681056139
commit 55e7e000a9
11 changed files with 162 additions and 1 deletions

57
docs/acta-constitucion.md Normal file
View File

@@ -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.

View File

View File

View File

@@ -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

View File

View File

View File

View File

@@ -0,0 +1,4 @@
# Galerías Fotográficas - Requisitos funcionales
---

View File