diff --git a/README.md b/README.md index dfecea4..6146eed 100644 --- a/README.md +++ b/README.md @@ -1,2 +1,60 @@ # mmorales.photo + +## 1. Descripción General +mmorales.photo es una plataforma web para la gestión, exhibición y venta de fotografías profesionales. Permite a fotógrafos administrar su portafolio, interactuar con clientes y facilitar la compra de imágenes digitales o impresas. + +## 2. Análisis de Requisitos + +### Requisitos Funcionales + +- Registro y autenticación de usuarios (fotógrafos y clientes). +- Gestión de portafolio fotográfico (subida, edición, categorización). +- Visualización pública de galerías. +- Compra de fotografías (descarga digital y pedido de impresión). +- Panel de administración para fotógrafos. +- Sistema de comentarios y valoraciones. +- Notificaciones por correo electrónico. + +### Requisitos No Funcionales + +- Seguridad en el manejo de datos y pagos. +- Escalabilidad para soportar múltiples usuarios y galerías. +- Interfaz responsiva y accesible. +- Integración con pasarelas de pago. + +## 3. Arquitectura del Sistema + +- **Frontend:** Aplicación web en React (front/) para la interfaz de usuario. +- **Backend:** API REST en Node.js/Express (back/) para la lógica de negocio y acceso a datos. +- **Base de Datos:** PostgreSQL o MySQL (bd/) para almacenamiento de usuarios, fotos y transacciones. +- **Almacenamiento de Imágenes:** Servicio externo (ej. AWS S3) o almacenamiento local. +- **Autenticación:** JWT y OAuth para login seguro. +- **Infraestructura:** Despliegue en servidores cloud (ej. AWS, Azure) con CI/CD. + +## 4. Casos de Uso + +- **Fotógrafo:** Registra su cuenta, sube fotos, organiza galerías, revisa ventas y comentarios. +- **Cliente:** Navega galerías, compra fotos, deja comentarios y valoraciones. +- **Administrador:** Modera contenido, gestiona usuarios y reportes. + +## 5. User Stories + +- Como fotógrafo, quiero subir y organizar mis fotos para mostrar mi portafolio. +- Como cliente, quiero buscar y comprar fotos fácilmente. +- Como administrador, quiero moderar contenido inapropiado. + +## 6. Modelos de Datos (Ejemplo) + +- **Usuario:** id, nombre, email, rol, contraseña, fecha_registro +- **Fotografía:** id, título, descripción, url, precio, fotógrafo_id, fecha_subida, categoría +- **Compra:** id, cliente_id, foto_id, fecha, tipo_entrega, estado +- **Comentario:** id, usuario_id, foto_id, texto, fecha + +## 7. División de Tareas + +- **Frontend:** Diseño de UI, integración con API, gestión de estado, vistas responsivas. +- **Backend:** Desarrollo de endpoints, lógica de negocio, autenticación, integración con base de datos. +- **Base de Datos:** Diseño de esquemas, migraciones, optimización de consultas. +- **DevOps:** Configuración de CI/CD, despliegue, monitoreo. +- **QA:** Pruebas unitarias, de integración y de usuario. \ No newline at end of file