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

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