Universidad Peruana de Ciencias Aplicadas
Ingeniería de Software
Ciclo: 05
Aplicaciones Open Source
Sección: 4350
Docente: Ivan Robles Fernández
Integrantes:
-
Brayan Roberto Ccarita Cruz
-
Bryan Félix Martínez Ramos
-
Juan David Saldaña De Souza
-
Joseph Manuel Chavez Viera
-
Dueñas Canales Leonardo Manuel
TB1
Startup: Reignite - Dogimax
Septiembre 2025
| Versión | Fecha | Autor | Descripción de modificación |
|---|---|---|---|
| 0.0.1 | 09/09/2025 | Bryan Martinez | Iniciando el proyecto luego de las divisiones de trabajo, dividimos la primera parte del proyecto que incluyen los primeros 2 puntos del proyecto final, tanto la idea principal del proyecto, nuestras misiones, visiones, nuestros objetivos, plantear los diferentes problemas y como nuestor proyecto lo soluciona, tambien la creacion del segmento objetivo, entender cuales son sus sentimientos y como nuestro proyecto cambia e influye en su vida, realizamos las entrevistas y completamos esta etapa satisfactoriamente para comenzar a realizar la elaboracion de los puntos 3 y 4. |
| 1.0.0 | 21/09/2025 | Bryan Martinez | Completamos los puntos faltantes en el proyecto, punto 4 y 5, se dividio equitativamente, logramos desplegar la landing page, hicimos una analisis del diseño de la pagina y finalmente recopilamos el aporte de cada miembro y el spint1. |
| 1.1.0 | 08/11/2025 | Bryan Martinez | Actualización del documento con mejoras en formato de tablas, corrección de imágenes y estandarización del formato markdown. |
| 1.2.0 | 30/11/2025 | Bryan Martinez | Finalización del documento con todas las tablas en formato unificado, imágenes corregidas y PDF generado con formato mejorado. |
Url de la organización:https://github.com/reignite-dogimax
TB1: Desarrollo de la landing page de dogimax
Nuestra TB1 se enfoco en establecer las base documentales y los diseños, nos hemos enfocado en el sentimiento principal que generara en el usuario.
Se documento los temas de la problematica, los segmentos objetivos, LeanUX, investigacion mas profunda sobre el mercado posible que podemos abarcar y sus competidores
Tambien la estructura del proyecto, los diagramas de flujos,contenedores y componentes para asi tener una buena base para posteriormente implementarlo.
Contribuciones por Integrante
La contribuccion de cada integrante es la siguiente:
Bryan Felix Martinez Ramos:
-
Descripcion de la Startup Se definio la base del proyecto, cual es nuestro enfoque, mision y vision
-
Perfiles de integrantes del equipo Se Organizo la informacion de los miembros del grupo
-
Antecedentes y problemática Se investigo nuestro publico objetivo como a avanzado estos ultimos años y usamos los What,When,Where,Who,How y How much para comprenderlos mejor
-
Lean UX Problem Statements Se identifico el problema central de los dueños y se definio como nuestro negocio apoyara a los usuarios
-
Lean UX Assumptions Se establecio los puntos claves del negocio y los beneficios para el usuario en torno a nuestra plataforma,tambien analizamos demanda del mercado, sostenibilidad y la integracion de aliados estrategicos.
-
Lean UX Hypothesis Statements Se formularon hipótesis clave sobre el impacto de la plataforma en la organización del cuidado, la adopción de recomendaciones personalizadas y la interacción con productos y servicios confiables, estableciendo métricas de éxito basadas en uso, satisfacción y resultados en el bienestar de las mascotas.
-
Lean UX Canvas Definimos el problema de negocio, usuarios clave, hipótesis, ideas de solución y aprendizajes prioritarios. Además, se establecieron los outcomes esperados, beneficios para los usuarios y próximos pasos de validación mediante encuestas y entrevistas.
Brayan Roberto Ccarita Cruz
-
Diseño de Entrevistas: Se encargó de la elaboración y estructuración de las preguntas para las entrevistas, definiendo los puntos clave a explorar tanto para el segmento de dueños de perros como para el de veterinarios, asegurando la recolección de información valiosa para el proyecto.
-
Diseño de la Landing Page (UI/UX): Lideró el proceso de diseño de la interfaz de usuario y la experiencia de usuario para la landing page.
-
Codificación de la Landing Page: Fue responsable de la implementación y codificación completa de la landing page, traduciendo los diseños a código HTML y CSS funcional, y asegurando que la página fuera responsiva y cumpliera con los estándares de calidad del proyecto.
-
Gestión de Repositorios y Ramas: Administró la configuración del repositorio en GitHub, incluyendo la estrategia de ramas (main, develop, feature), para facilitar un flujo de trabajo colaborativo y ordenado durante el desarrollo.
-
Desarrollo de las caracteristicas iniciales del proyecto base: Se realizó la creacion del repositorio, instalacion de dependencias, generacio nde componentes compartidos.
-
Desarrollo del bounded context gestion de citas: Se planeó, codificó y testeó todo lo correspondiente al bounded context mencionado.
-
Despliegue del la aplicacion frontend en producción: Se realizó todos los preparativos necesarios para poder desplegar la aplicacion hecho en angular exitosamente en netlify.
-
Despliegue del fake api en producción: Se realizó todos los preparativos necesarios para poder desplegar el fake api hecho con json server en un vps privado.
Juan David Saldaña De Souza
-
Entrevistas Se realizaron entrevistas a los usuarios y partes interesadas para levantar información relevante del proyecto.
-
Análisis Se registró la información obtenida en las entrevistas y se elaboró el análisis para identificar necesidades y requerimientos.
-
Diagrama de contexto Se representó la interacción general del sistema con los actores externos.
-
Diagrama de contenedores Se diseñó la arquitectura principal mostrando los bloques del sistema y sus relaciones.
-
Diagrama de componentes Se detalló la organización interna y la comunicación entre las partes del sistema.
-
Diagrama de clases Se modelaron las entidades del dominio con sus atributos, métodos y relaciones.
-
Diagrama de base de datos Se definieron las tablas, campos, llaves y relaciones para la gestión de la información.
-
Exposición del Capítulo 4 Se presentó el capítulo correspondiente al diseño del sistema, explicando los entregables y resultados obtenidos.
Joseph Manuel Chavez Viera
-Needfinding Mi enfoque fue entender las necesidades de los usuarios utilizando diversas herramientas de investigación.
-User Personas Creé perfiles detallados de usuarios para identificar sus necesidades clave.
-User Task Matrix Organicé y clasifiqué las actividades de los usuarios para priorizar las tareas más importantes.
-User Journey Mapping Rastreé los pasos del usuario para identificar áreas de mejora en su experiencia.
-Empathy Mapping Me puse en los zapatos de los usuarios para comprender sus emociones y pensamientos al usar el producto.
-As-is Scenario Mapping Analicé cómo los usuarios interactúan actualmente con el sistema para identificar oportunidades de mejora.
-Ubiquitous Language Definí un lenguaje común para evitar malentendidos y facilitar la colaboración en el proyecto.
-Requirements Specification Definí los requisitos técnicos y funcionales alineados con las necesidades del usuario.
-To-Be Scenario Mapping Planteé cómo debería ser el escenario ideal después de las mejoras.
-User Stories Describí los requisitos funcionales desde la perspectiva de los usuarios.
-Impact Mapping Conecté los objetivos del proyecto con los resultados esperados.
-Product Backlog Prioricé las tareas necesarias para el desarrollo del producto.
-Product Design Me aseguré de que el producto cumpliera con los objetivos de los usuarios y los estándares establecidos.
-Style GuidelinesDefiní las pautas visuales para garantizar una experiencia coherente y atractiva.
-General Style Guidelines Establecí las directrices visuales generales para la experiencia de usuario.
-Web Style Guidelines Definí las pautas específicas para los productos en línea, asegurando una navegación fluida.
Dueñas Canales Leonardo Manuel
-
Análisis Competitivo: Estudio de competidores directos e indirectos, identificando sus fortalezas, debilidades, y oportunidades diferenciadoras para Dogimax.
-
Estrategia: Planteamiento de la estrategia competitiva y de posicionamiento de la plataforma en el mercado, alineada con las necesidades detectadas y la propuesta de valor.
-
Wireframes y Mockups: Desarrollo completo en Figma de los wireframes iniciales y mockups detallados de cada pantalla, alineados a las user stories y al modelo UML.
Project Report Collaboration Insights
1.1.1. Descripción de la Startup
1.1.2. Perfiles de integrantes del equipo
1.2.1. Antecedentes y problemática
1.2.2.1. Lean UX Problem Statement
1.2.2.3. Lean UX Hypothesis Statements
2. Capítulo II: Requirements Elicitation & Analysis
2.1.2. Estrategias y tácticas frente a competidores
2.2.2. Registro de entrevistas
2.2.3. Análisis de entrevistas
3. Capítulo III: Requirements Specification
4. Capítulo IV: Product Design
4.1.1. General Style Guidelines
4.4. Web Applications UX/UI Design
4.4.1. Web Applications Wireframes
4.4.2. Web Applications Wireflow Diagrams
4.4.3. Web Applications Mock-ups
4.4.4. Web Applications User Flow Diagrams
4.5. Web Applications Prototyping
4.6. Domain-Driven Software Architecture
4.6.1. Software Architecture Context Diagram
4.6.2. Software Architecture Container Diagram
4.6.3. Software Architecture Componentes Diagrams
4.7. Software Object-Oriented Design
5. Capítulo V: Product Implementation, Validation & Deployment
5.1. Software Configuration Management
5.1.1. Software Development Environment Configuration
5.1.3. Source Code Style Guide & Conventions
5.1.4. Software Deployment Configuration
5.2. Landing Page, Services & Applications Implementation
5.2.1.2. Aspect Leaders and Collaborators
5.2.1.4. Development Evidence for Sprint Review
5.2.1.5. Execution Evidence for Sprint Review
5.2.1.6. Services Documentation Evidence for Sprint Review
5.2.1.7. Software Deployment Evidence for Sprint Review
5.2.1.8. Team Collaboration Insights during Sprint
5.2.2.2. Aspect Leaders and Collaborators
5.2.2.4. Development Evidence for Sprint Review
5.2.2.5. Execution Evidence for Sprint Review
5.2.2.6. Services Documentation Evidence for Sprint Review
5.2.2.7. Software Deployment Evidence for Sprint Review
5.2.2.8. Team Collaboration Insights during Sprint
5.2.3.2. Aspect Leaders and Collaborators
5.2.3.4. Development Evidence for Sprint Review
5.2.3.5. Execution Evidence for Sprint Review
5.2.3.6. Services Documentation Evidence for Sprint Review
5.2.3.7. Software Deployment Evidence for Sprint Review
5.2.3.8. Team Collaboration Insights during Sprint
5.2.4.2. Aspect Leaders and Collaborators
5.2.4.4. Development Evidence for Sprint Review
5.2.4.5. Execution Evidence for Sprint Review
5.2.4.6. Services Documentation Evidence for Sprint Review
5.2.4.7. Software Deployment Evidence for Sprint Review
5.2.4.8. Team Collaboration Insights during Sprint
5.3.2. Registro de Entrevistas
5.3.3. Evaluación según heurísticas
6. Conclusiones y Recomendaciones
| Criterio Especifico | Acciones Realizadas | Conclusiones |
|---|---|---|
| Trabaja en equipo para proporcionar liderazgo de manera conjunta. | TB1: · Brayan Ccarita: Participé activamente en las reuniones del equipo, desarrollé las tareas que me correspondían de manera satisfactoria y las entregué en los plazos establecidos. · Joseph Chavez: Asistí a todas las reuniones del grupo, completé de forma oportuna las responsabilidades asignadas y, además, brindé retroalimentación en algunos apartados del trabajo. · Juan Saldaña: Tomé parte en las reuniones programadas del equipo y cumplí con las actividades que se me asignaron, entregándolas dentro de la fecha prevista. · Bryan Martinez: Estuve presente en las reuniones del equipo, realicé de manera exitosa las secciones que se me encargaron y las entregué dentro de los tiempos establecidos. · Leonardo Dueñas: Asistí a las reuniones correspondientes, cumplí con las tareas que se me asignaron de manera adecuada y en los plazos determinados. · EB1: Brayan Ccarita — Trabaja en equipo: Participó activamente en reuniones, gestionó repositorios y ramas, implementó las características iniciales (creación del repo, instalación de dependencias, componentes compartidos) y codificó/testeó el bounded context de gestión de citas. Conclusión: aportó liderazgo técnico y cumplió entregables dentro de los plazos. |
TB1: Todos los miembros se comprometieron con el desarrollo del trabajo y estuvieron presentes y aportando en todas las reuniones, de forma presencial y remotas, además se tomo liderazgo por parte de algunos, lo q apoyo a organizarnos mejor |
| Fomenta un ambiente inclusivo y de colaboración, define metas claras, organiza las tareas y alcanza los objetivos propuestos. | TB1: · Brayan Ccarita: Participé en las reuniones del equipo, desarrollé de manera exitosa las tareas que me correspondían y las entregué dentro de los plazos establecidos. · Joseph Chavez: Estuve presente en todas las sesiones del grupo, apoyé a mis compañeros cuando fue necesario y asumí la responsabilidad de la elaboración del capítulo 1 del proyecto junto con el student outcome. · Juan Saldaña: Asistí y colaboré activamente en cada reunión programada, además de encargarme de la correcion de algunos puntos del proyecto, tambien el sprint 2 con la creacion del router con la database y para finalizar el student outcome. · Bryan Martinez: Asistí a las reuniones del equipo, completé con éxito las secciones que me fueron asignadas y realicé las entregas dentro de los tiempos establecidos. · Leonardo Dueñas: Participé de manera activa en las reuniones y trabajé en la elaboración del capítulo 3 del proyecto junto con su respectivo student outcome. EB1: Brayan Ccarita — Fomenta colaboración y organización: Coordinó tareas y metas técnicas, documentó procesos, facilitó integraciones y despliegues (frontend en Netlify y fake API en VPS) y apoyó a compañeros en las entregas. Conclusión: promovió un ambiente colaborativo y garantizó el cumplimiento de los objetivos del sprint. |
TB1 : Cada integrante de nuestro equipo demostró compromiso y fomentó un ambiente de colaboración mediante una comunicación efectiva. Junto con revisiones constantes de cada capítulo del proyecto. Nos reunimos de forma periódica para aportar ideas y trabajar en conjunto en cada etapa del desarrollo del producto y su documentación. Asimismo, definimos metas tempranas con una adecuada planificación de tareas, que fuimos mejorando colectivamente. |
DogiMax es una plataforma digital que busca transformar la manera en que los dueños de mascotas gestionan el cuidado de sus perros. En un mundo donde la vida diaria puede ser agitada, mantener un registro de citas médicas, actividades y notas importantes sobre la salud y bienestar de nuestras mascotas puede ser un desafío. Nuestra plataforma funciona como una agenda digital para perros, permitiendo a los usuarios organizar y monitorear cada aspecto del cuidado de su mascota de manera fácil y centralizada.
Con la implementación de inteligencia artificial, DogiMax ofrece recomendaciones personalizadas según la raza y necesidades específicas de cada perro, ayudando a sus dueños a tomar decisiones informadas sobre alimentación, ejercicio y cuidado general. Además, buscamos generar valor a través de alianzas estratégicas con marcas y veterinarias, ofreciendo recomendaciones de productos y servicios confiables que beneficien tanto a los perros como a sus dueños.
En DogiMax, creemos que una gestión organizada y personalizada del cuidado de mascotas no solo mejora la calidad de vida de los perros, sino que también fortalece el vínculo con sus dueños. Nuestra misión es convertirnos en la herramienta esencial para todos los amantes de los perros, promoviendo un cuidado responsable, informado y conectado con la innovación tecnológica.
Misión : En DogiMax buscamos facilitar el cuidado de los perros mediante una agenda digital que centraliza citas médicas, actividades y notas importantes. Integramos inteligencia artificial para ofrecer recomendaciones personalizadas según la raza y necesidades de cada perro, ayudando a los dueños a tomar decisiones informadas y promover hábitos responsables de cuidado. Además, colaboramos con veterinarias y marcas de productos para ofrecer soluciones confiables y de valor a nuestras mascotas y sus familias.
Visión : Nuestra visión es ser la plataforma líder en gestión del cuidado de perros, conocida por su innovación y enfoque personalizado. Aspiramos a crear una comunidad de dueños, veterinarias y marcas comprometidas con el bienestar animal, promoviendo prácticas responsables y mejorando la calidad de vida de los perros a nivel global.
En los últimos años, la adopción de mascotas, especialmente perros, ha crecido significativamente en Perú y en muchos países, generando una mayor demanda de servicios, productos y herramientas que faciliten su cuidado. Sin embargo, los dueños de perros enfrentan dificultades para organizar y dar seguimiento a aspectos importantes como citas veterinarias, vacunaciones, actividades de ejercicio, alimentación y recordatorios de salud.
Aunque existen aplicaciones genéricas de agenda o recordatorios, pocas están enfocadas específicamente en mascotas y muchas carecen de recomendaciones personalizadas según la raza, edad o necesidades específicas del perro. Esto provoca que los dueños a menudo tomen decisiones basadas en información incompleta o poco confiable, afectando la salud y bienestar de sus mascotas.
Además, la industria de productos y servicios para mascotas está fragmentada, con marcas, veterinarias y servicios independientes que no cuentan con un canal digital unificado para interactuar con los dueños y ofrecer recomendaciones confiables. Esto representa una oportunidad para desarrollar una plataforma integral que conecte a dueños, expertos y marcas, optimizando el cuidado de los perros y generando valor para todos los involucrado
- Who (Quién)
Está involucrado el dueño del perro, veterinarios, cuidadores y marcas de productos para mascotas que buscan interactuar y ofrecer soluciones adecuadas.
- What (Qué)
Los dueños de perros tienen dificultades para organizar y dar seguimiento a la salud y actividades de sus mascotas, lo que puede generar descuidos o decisiones poco informadas sobre su cuidado
- Where (Dónde)
Se presenta principalmente en hogares con perros, clínicas veterinarias, tiendas de mascotas y en general en cualquier contexto donde se requiera gestionar el cuidado de un perro de manera organizada.
- When (Cuándo)
Este problema ocurre de manera continua en la vida diaria de los dueños, desde el momento de la adopción y durante toda la vida del perro, especialmente al tener múltiples responsabilidades o agenda ocupada.
- Why (Por qué)
El problema surge por la poca existencia de herramientas digitales integrales que centralizan la información del perro, ofrecen recordatorios personalizados y recomendaciones confiables basadas en raza o necesidades específicas.
- How (Cómo)
Los dueños pueden olvidar citas médicas, vacunaciones o actividades importantes, y tomar decisiones basadas en información poco confiable o general, afectando la salud y bienestar de sus perros.
- How Much (Cuánto)
La creciente adopción de mascotas y la falta de herramientas integrales generan un impacto significativo en el bienestar animal y en la tranquilidad de los dueños, afectando la calidad de vida de ambos.
Contexto: En los últimos años, la adopción de perros como mascotas ha crecido significativamente, lo que ha generado una mayor demanda de herramientas y servicios que faciliten su cuidado.
Observación del problema: Sin embargo, los dueños de perros enfrentan dificultades para organizar y dar seguimiento a citas médicas, actividades, vacunaciones y notas importantes. La falta de una plataforma digital integral que centralice esta información y brinde recomendaciones confiables contribuye a olvidos y decisiones poco informadas en el cuidado de sus mascotas.
Impacto: Esta situación afecta negativamente el bienestar de los perros y genera estrés en sus dueños, además de limitar las posibilidades de acceso a cuidados más personalizados y confiables.
Necesidad insatisfecha: Actualmente, los dueños de perros necesitan una herramienta digital integral que les permita centralizar la información, gestionar de manera efectiva el cuidado de sus mascotas y recibir recomendaciones personalizadas para garantizar su salud y bienestar.
Pregunta de mejora: ¿Cómo podríamos ayudar a los dueños de perros a organizar y gestionar el cuidado de sus mascotas de manera efectiva y confiable?
Business Assumptions:
-
Demanda del mercado: Suponemos que existe una demanda significativa de herramientas digitales que ayuden a los dueños de perros a organizar y gestionar el cuidado de sus mascotas.
-
Atracción de usuarios y aliados:Suponemos que los dueños de perros, veterinarias y marcas de productos para mascotas estarán interesados en utilizar nuestra plataforma si ofrece recordatorios, recomendaciones personalizadas y oportunidades de interacción confiables.
-
Sostenibilidad económica:Suponemos que el modelo de negocio basado en suscripciones premium, recomendaciones de productos y alianzas con veterinarias permitirá generar ingresos suficientes para mantener y mejorar la plataforma.
Business Outcomes:
-
Generación de ingresos:Esperamos generar ingresos mediante suscripciones premium, comisiones por recomendaciones de productos y colaboraciones con marcas y veterinarias.
-
Crecimiento de la base de usuarios:Esperamos atraer y retener a un número creciente de dueños de perros y aliados estratégicos a medida que la plataforma se consolide como la principal herramienta de gestión de mascotas.
-
Construcción de marca:Esperamos posicionar a DogiMax como una plataforma confiable y reconocida por su utilidad, innovación y enfoque personalizado en el cuidado de perros.
User Benefits
-
Organización y tranquilidad:Los dueños podrán gestionar citas, actividades y notas importantes de manera centralizada, reduciendo olvidos y estrés.
-
Decisiones informadas:Los usuarios recibirán recomendaciones personalizadas según la raza, edad y necesidades de su perro, mejorando la calidad del cuidado.
-
Acceso a productos y servicios confiables: Los dueños podrán descubrir productos y servicios de veterinarias y marcas recomendadas dentro de la plataforma, facilitando la compra segura y adecuada para sus mascotas.
-
Creemos que al proporcionar a los dueños de perros una plataforma que centralice citas médicas, actividades, notas y recordatorios importantes.Sabremos que hemos tenido éxito cuando observamos un aumento en el uso diario de la aplicación y recibimos comentarios positivos sobre la organización y facilidad para gestionar el cuidado de sus mascotas.
-
Creemos que al implementar recomendaciones personalizadas basadas en la raza, edad y necesidades específicas de cada perro. Sabremos que hemos tenido éxito cuando los usuarios sigan consistentemente estas recomendaciones y reporten mejoras en la salud y bienestar de sus mascotas.
-
Creemos que al integrar productos y servicios de veterinarias y marcas confiables dentro de la plataforma. Sabremos que hemos tenido éxito cuando aumente la interacción con estas recomendaciones, se registren compras a través de la app y los usuarios manifiesten confianza y satisfacción con las sugerencias ofrecidas.
- Business Problem:
La falta de herramientas digitales integrales para organizar y gestionar el cuidado de los perros genera olvidos en citas médicas, vacunaciones y actividades importantes, afectando la salud y bienestar de las mascotas y aumentando el estrés de los dueños. Además, la información disponible sobre cuidados específicos según raza y necesidades del perro es limitada y poco accesible.
- Users & Customers:
Los dueños de perros necesitan organizar el cuidado de sus mascotas,Veterinarias y cuidadores que buscan comunicarse y ofrecer recomendaciones confiables,Marcas de productos para mascotas que quieren llegar a un público objetivo de manera efectiva.
- Hypotheses:
Creemos que al proporcionar una plataforma donde los dueños puedan registrar citas, actividades y recibir recomendaciones personalizadas, podremos mejorar la organización del cuidado de los perros, aumentar la confianza de los usuarios y diferenciar a DogiMax en el mercado de aplicaciones para mascotas
- Solution Ideas:
-
Desarrollar una aplicación móvil y una plataforma web que centralice la información de las mascotas.
-
Implementar recordatorios automáticos de citas, vacunaciones y actividades.
-
Incluir recomendaciones personalizadas basadas en raza, edad y necesidades del perro.
-
Integrar productos y servicios de veterinarias y marcas confiables dentro de la plataforma.
- What's the most important thing we need to learn first?:
Necesitamos entender cómo los dueños de perros organizan actualmente el cuidado de sus mascotas, qué información consideran más importante y qué dificultades enfrentan al hacerlo, así como sus expectativas sobre recomendaciones y productos dentro de la plataforma.
- Business Outcomes:
-
Mejora en la satisfacción y fidelización de los usuarios.
-
Creación de oportunidades de monetización mediante suscripciones y alianzas estratégicas con marcas y veterinarias.
-
Mayor bienestar de los perros y reducción del estrés de los dueños gracias a una gestión organizada y confiable.
- User Benefits:
-
Organización y control sobre el cuidado diario de sus mascotas.
-
Acceso a recomendaciones confiables y personalizadas.
-
Facilidad para descubrir productos y servicios relevantes y confiables.
- What's the least amount of work we need to do to learn the next most important thing?:
Realizar encuestas y entrevistas con dueños de perros para entender sus hábitos, necesidades y dificultades en la gestión del cuidado de sus mascotas, así como entrevistas con veterinarias y marcas para conocer cómo podrían colaborar y aportar valor dentro de la plataforma.
-
Nombre y Apellido:
-
Edad:
-
Distrito de Residencia:
-
Estado Civil:
-
Ocupación:
-
Familia:
- Biografía o Background: "Cuéntanos un poco sobre tu historia, tu educación y tu experiencia laboral."
-
Dispositivos de preferencia: "¿Qué tipo de dispositivos tecnológicos usas con más frecuencia?"
-
Canales digitales de interacción: "¿Cuáles redes sociales o plataformas digitales sueles usar para comunicarte o informarte?"
-
Marcas e Influencias: "¿Qué marcas o figuras públicas te inspiran o sigues regularmente?"
-
Personalidad: "Describe tu personalidad en 3 palabras."
-
Habilidades: "¿Qué habilidades consideras que te distinguen?"
-
Pregunta sobre el Vínculo: "¿Qué significa tu perro para ti?"
-
Pregunta sobre Rutina: "Cuéntame cómo es un día normal con tu perro. ¿Qué actividades hacen juntos?"
-
Pregunta sobre Frustraciones: "¿Qué es lo más frustrante del día a día con tu perro? ¿Qué situación te hace pensar, 'Ojalá hubiera una forma más fácil de hacer esto'?"
-
Pregunta sobre Cuidado: "¿Cómo te organizas para el cuidado de tu perro? Por ejemplo, ¿quién lo saca a pasear o lo lleva al veterinario?"
-
Pregunta sobre el Flujo de Trabajo: "¿Cuál es la parte más tediosa o que más tiempo te quita al gestionar tu trabajo?"
-
Pregunta sobre la Comunicación con los Clientes: "Cuando un cliente te contacta con una pregunta o un problema, ¿cuál es el tipo de consulta que más se repite?"
-
Pregunta sobre la Relación Cliente-Proveedor: "En tu experiencia, ¿qué crees que es lo más difícil para un dueño de perro al buscar ayuda o información sobre el cuidado de su mascota?"
-
Pregunta sobre la Tecnología: "Para ti, ¿qué rol juega la tecnología en tu trabajo? ¿Hay alguna herramienta que te haya facilitado la vida o que te parezca indispensable?"
Segmento objetivo #1: Amantes de Perros (Usuarios)
Entrevista 1:
Nombre: Eduardo Alonso Rojas Torres
Edad: 20 años
Ocupación: Estudiante
Vive solo en Magdalena del Mar
Estado civil: Soltero
Se considera una persona divertida, introvertida y tranquila, con habilidades como la disciplina, la responsabilidad y la capacidad para redactar (aunque menciona "reactar", se infiere que quiso decir "redactar").
Resumen: Eduardo es un estudiante de 20 años que vive solo en Magdalena del Mar y se describe como una persona tranquila, introvertida y divertida, destacando su disciplina y responsabilidad. Utiliza frecuentemente dispositivos como el celular y la laptop, e interactúa activamente en redes sociales, sintiéndose motivado por marcas como Nike debido a su vínculo con el deporte. Convive con tres perros a los que considera parte de su familia, y aunque disfruta pasar tiempo con ellos, menciona como desafío que no siempre hagan sus necesidades fuera de casa. Él se encarga principalmente de los paseos, mientras que su madre y abuelo colaboran con el resto del cuidado. La entrevista refleja su compromiso con el bienestar de sus mascotas y la importancia que da a una rutina organizada para su correcto cuidado.
Entrevista 2:
Nombre: Frank Gen Saldaña Kannan
Edad: 20 años
Residencia: Actualmente en Monterrico (antes Surquillo)
Estado civil: Soltero
Resumen: Frank Gen Saldaña es un estudiante de 20 años de Ingeniería y Sistemas en la Universidad de Lima, originario de Tarapoto y con ascendencia japonesa, que actualmente vive solo en Monterrico. Utiliza principalmente su laptop y celular para comunicarse, prefiriendo redes sociales como Instagram, WhatsApp y Facebook. Se describe como una persona amigable, paciente y tranquila, con una actitud abierta a probar cosas nuevas. Para él, su perro es mucho más que una mascota; es un miembro de la familia que le ha enseñado a amar y cuidar, y con quien comparte momentos de juego y paseos diarios. Aunque disfruta de esta relación cercana, reconoce que le resulta difícil organizar el cuidado médico del animal, como las vacunas, debido a su tendencia a olvidarse, por lo que valora la idea de un sistema automatizado que le ayude a recordar estas responsabilidades, las cuales también son compartidas con su madre y hermano.
Entrevista 3:
Nombre: Janet Linda Ramos Gomez
Edad: 50 años
Ocupación: Docente
Vive con su familia en Villa el Salvador
Estado civil: Conviviente
Se considera una persona seria, responsable y solidaria, con habilidades como la resilencia, la responsabilidad ademas de querer apoyar siempre en los proyectos que se realizan.
Resumen: Janet es una docente de 50 años, actualmente vive con sus hijos y su conviviente, usa principalmente su celular para mantenerse conectados y principalmente conectada a facebook, se considera una persona seria, pero a su vez muy amable y solidaria, Tiene un perro el cual considera como un miembro de su familia, lo que mas le preocupa es que no siempre puede darle el tiempo que ella quisiera, debido a su trabajo o a diversos temas pasearlo se le complica muchas veces, lo cual ella siente que le puede generar estres a su mascota ya que para mucho tiempo en su casa y aunque aveces su mascota le da algunas problemas como que muerda o rompa su zapatilla o ropa, ella trata de darle toda la atencion que puede y le gustaria que esta tarea fuera un poco mas sencilla.
Segmento objetivo #2: Amantes de Perros (Veterinarios y Cuidadores)
Entrevista 1:
Nombre: Fabrizio Chong.
Edad: 25 años.
Ocupación: Médico Veterinario.
Residencia: La Molina, Lima.
Datos Personales: Soltero, vive de forma independiente.
Personalidad (Autodescrita): Se define como alegre, solidario y coqueto. Esto sugiere una persona sociable, empática y con confianza en sí misma.
Resumen: Fabrizio Chong, un joven y apasionado médico veterinario en Lima, se enfrenta diariamente al desafío de diagnosticar a sus pacientes basándose en la observación y en la información, a menudo imprecisa, que proporcionan los dueños. Actualmente, utiliza principalmente Instagram para la comunicación y conexión con su clientela. Destacó que el mayor obstáculo para los dueños de mascotas es la desinformación en línea, lo que sugiere que una herramienta digital que centralice el historial clínico del paciente y ofrezca una fuente de información fiable marcaría una diferencia sustancial en su práctica. Subrayó la importancia de poder obtener datos precisos del estado del animal para acertar en el diagnóstico y evitar complicaciones, como la deshidratación. Concluyó que una solución de este tipo no solo optimizaría la gestión de las consultas, sino que elevaría la calidad de la atención al fortalecer el vínculo informativo entre el veterinario y el cliente. Su testimonio confirma la necesidad de herramientas especializadas que profesionalicen la recopilación de información clínica en el sector veterinario y combatan la desinformación.
Entrevistas consideradas: 2 (Eduardo y Frank).
-
Edad: Ambos tienen 20 años (100%). Esto sugiere que el perfil principal en este segmento son jóvenes adultos.
-
Estado civil: Ambos son solteros (100%).
-
Distrito de residencia: Diferentes (Magdalena del Mar y Monterrico), lo que indica variedad geográfica dentro de Lima.
-
Ocupación: Ambos son estudiantes universitarios (100%).
-
Dispositivos usados con más frecuencia: Celular y laptop (100%).
-
Canales digitales de interacción:
-
Instagram: 100% (2/2).
-
WhatsApp: 50% (1/2).
-
Facebook: 50% (1/2).
-
-
Personalidad:
-
Introvertido: 50% (1/2).
-
Tranquilo: 100% (2/2).
-
Divertido/amigable: 100% (2/2).
-
Paciente: 50% (1/2).
-
-
Habilidades destacadas:
-
Disciplina y responsabilidad: 50% (1/2).
-
Redacción: 50% (1/2).
-
Apertura a probar cosas nuevas: 50% (1/2).
-
-
Vínculo emocional: Ambos consideran al perro como miembro de la familia (100%).
-
Rutina: Paseos y juegos diarios (100%).
-
Frustraciones comunes:
-
Problemas de higiene/entrenamiento: 50% (1/2).
-
Dificultad en recordar cuidados médicos (vacunas, consultas): 50% (1/2).
-
-
Cuidado compartido: En ambos casos participan familiares (100%), aunque ellos mismos asumen parte del rol principal (paseos).
Este segmento refleja jóvenes universitarios solteros de 20 años, tranquilos, responsables y con alta vinculación emocional hacia sus perros, a quienes consideran familia. Usan principalmente celular y laptop para su vida diaria, con preferencia marcada por Instagram como canal digital. Sus frustraciones se centran en la higiene y el seguimiento de la salud del perro, donde manifiestan interés por soluciones automatizadas que les ayuden a organizar recordatorios y rutinas.
Entrevistas consideradas: 1 (Fabrizio Chong).
-
Edad: 25 años (100%).
-
Estado civil: Soltero (100%).
-
Distrito de residencia: La Molina.
-
Ocupación: Médico Veterinario (100%).
-
Dispositivos de preferencia: Smartphone (para redes sociales).
-
Canales digitales: Principalmente Instagram (100%).
-
Personalidad: Alegre, solidario y coqueto (100%). Se percibe como sociable, empático y seguro.
-
Habilidades implícitas: Comunicación con clientes, empatía, resolución de problemas.
-
Flujo de trabajo: El mayor reto es el diagnóstico con información incompleta o inexacta que dan los dueños.
-
Comunicación con clientes: El problema más recurrente es la desinformación por consultas basadas en internet.
-
Relación cliente-proveedor: Lo más difícil para los dueños es la falta de información confiable sobre el cuidado de su mascota.
-
Rol de la tecnología: Considera que una herramienta digital centralizada de historial clínico sería muy útil para mejorar diagnósticos y evitar complicaciones.
Este segmento refleja a jóvenes veterinarios solteros que trabajan de manera independiente, con un perfil empático y comunicativo, y que usan Instagram como medio de conexión con clientes. Su mayor preocupación está en la desinformación y la falta de datos precisos, lo que evidencia la necesidad de plataformas tecnológicas confiables que organicen información clínica y mejoren la comunicación con los dueños.
-
Ambos segmentos coinciden en el uso de Instagram como canal principal.
-
Los usuarios tienen dificultades para organizar cuidados de sus mascotas, mientras que los veterinarios señalan la falta de información confiable como su principal obstáculo.
-
Esto crea un punto de encuentro: una solución tecnológica que apoye tanto a dueños como a veterinarios mediante recordatorios, historial clínico y educación confiable.
¿Cómo puede DogiMax diferenciarse y posicionarse frente a las apps y servicios peruanos que ya ofrecen soluciones digitales para el cuidado de mascotas (cartilla digital, comunidad, marketplace, identificación), aprovechando sus debilidades y blindándose frente a sus fortalezas?
| DogiMax (startup) | Dimu (Perú) | GoPetsApp (Perú) | PetCard / MyPetCard (Perú) | QPet / iPets (Perú) | |
|---|---|---|---|---|---|
| Overview | Plataforma digital (agenda para perros + IA de recomendaciones personalizadas según raza y necesidades). Enfoque integral: agenda + historial + IA + alianzas. | App peruana: cartilla digital, reservas de veterinarios, servicios a domicilio, tienda online. Ecosistema de servicios integrados. | Red social peruana para dueños de mascotas: cartilla virtual, recordatorios, comunidad, tienda, eventos. | Cartilla digital con QR; registro de vacunas e historial. Se usa como "carnet digital" para compartir con veterinarios. | Servicios de identificación (placas QR, microchip) + apps de ficha; algunos con recordatorio de vacunas y emergencias. |
| Ventaja competitiva | IA personalizada validada + posibilidad de alianzas clínicas. Diferenciación en recomendaciones inteligentes. | Ecosistema ya consolidado en Perú; acceso inmediato a servicios y compras. | Fuerte en comunidad y engagement social; ecosistema de dueños conectados. | Simplicidad y confiabilidad en la gestión del historial clínico. | Seguridad e identificación en casos de extravío; valor muy alto para dueños preocupados. |
| Perfil de marketing | Segmento: dueños jóvenes–adultos en Lima y principales ciudades, con perro como miembro familiar. Estrategia: diferenciación por IA + educación en cuidado responsable. | Segmento: dueños digitales en Lima que buscan conveniencia. Marketing: Instagram, alianzas con marcas de delivery/vet. | Segmento: dueños jóvenes, comunidad pet lovers. Marketing: redes sociales, eventos locales, comunidad activa. | Segmento: dueños que buscan solución práctica de historial/vacunas. Marketing: clínicas, ferias de mascotas. | Segmento: dueños preocupados por seguridad. Marketing: venta directa en web/ferias; veterinarias y tiendas físicas. |
| DogiMax | Dimu | GoPetsApp | PetCard / MyPetCard | QPet / iPets | |
|---|---|---|---|---|---|
| Productos & Servicios | Agenda digital, historial clínico, recordatorios, IA de recomendaciones (alimentación, ejercicio, cuidados), alianzas con clínicas y marcas. | Cartilla digital, reservas online, veterinarios a domicilio, servicios complementarios (paseo, grooming), tienda online. | Cartilla virtual, recordatorios, red social/comunidad, eventos, tienda. | Cartilla digital, QR de identificación, historial clínico para compartir con veterinarias. | Placas inteligentes QR, microchips, registro online, alertas de extravío, recordatorios básicos de vacunas. |
| Precios & Costos | Freemium: gratis (agenda + recordatorios básicos), Premium (IA avanzada, historial clínico compartible, teleconsulta). | Gratis el registro básico; monetiza con comisión en reservas y compras. | Gratis; monetiza con publicidad y venta de productos/servicios. | Pago único por tarjeta/QR o plan básico económico. | Pago único por placas/microchip; ingresos por ventas físicas. |
| Canales de distribución | Web + App móvil (iOS, Android). | App móvil, web, campañas digitales, presencia en ferias. | App móvil, redes sociales (Instagram, TikTok), ferias. | Venta directa web, clínicas veterinarias, ferias de mascotas. | Venta directa (web, clínicas, ferias, veterinarias). |
-
Fortalezas: IA personalizada (único en Perú), diseño integral (agenda + recomendaciones + alianzas).
-
Debilidades: Falta de base de usuarios inicial, credibilidad clínica depende de alianzas.
-
Oportunidades: Mercado peruano en crecimiento, hueco en personalización clínica; posibilidad de alianzas con clínicas y marcas.
-
Amenazas: Dimu y GoPets ya posicionados; riesgo de que adopten IA rápido.
-
Fortalezas: Ecosistema completo (cartilla, reservas, tienda, domicilios), base activa en Perú.
-
Debilidades: Poca diferenciación en personalización; foco comercial más que clínico.
-
Oportunidades: Ampliar servicios IA; alianzas con DogiMax en datos/IA.
-
Amenazas: Si DogiMax logra aliarse con clínicas y ofrecer IA validada, puede restarles usuarios más exigentes.
-
Fortalezas: Comunidad y engagement social, eventos, alta presencia en redes.
-
Debilidades: Menor profundidad clínica, poca validación médica.
-
Oportunidades: Crecimiento en social commerce (tienda + comunidad).
-
Amenazas: DogiMax puede atraer a usuarios que buscan un cuidado más serio y profesional.
-
Fortalezas: Solución simple y confiable de cartilla digital e identificación QR.
-
Debilidades: Limitado a historial; sin IA ni servicios integrados.
-
Oportunidades: Integrarse con apps más completas como DogiMax.
-
Amenazas: Si amplían funciones (agenda, IA), podrían competir directamente.
-
Fortalezas: Valor alto en seguridad y prevención de extravío; placas/microchip demandados.
-
Debilidades: Poca relevancia en historial clínico y agenda.
-
Oportunidades: Alianzas con apps como DogiMax para integrar ID y salud.
-
Amenazas: Si lanzan app propia con historial y recordatorios, entran al mismo nicho.
-
Integrar datos de razas comunes en Perú y enfermedades locales.
-
Publicar aval clínico con veterinarios peruanos → credibilidad.
-
Con QPet/iPets → integración de placas QR en el perfil DogiMax.
-
Con clínicas peruanas → ofrecer panel de gestión gratuito y validación de historiales.
-
Gratis: agenda, recordatorios, cartilla básica.
-
Premium: IA avanzada, teleconsulta, historial clínico compartible, descuentos en marcas peruanas.
-
Contenido educativo en Instagram/TikTok: vacunación en Perú, tips de clima y alimentación local.
-
Embajadores: microinfluencers con mascotas peruanas.
- Táctica: onboarding gratuito en 5 clínicas de Lima → cada clínica recomienda DogiMax a sus clientes.
-
Vs Dimu:
-
Dimu: conveniencia y marketplace.
-
DogiMax: personalización e innovación clínica → “Tu perro no es genérico, su cuidado tampoco”.
-
-
Vs GoPetsApp:
-
GoPets: comunidad social.
-
DogiMax: cuidado serio y validado.
-
Táctica: permitir compartir logros de cuidado en redes, pero con base médica.
-
-
Vs PetCard:
-
PetCard: historial básico.
-
DogiMax: historial inteligente con recomendaciones dinámicas.
-
Táctica: ofrecer importación de datos de PetCard.
-
Las User Personas representaron a los usuarios clave del sistema: Eduardo, un dueño de perro joven y estudiante universitario que enfrenta dificultades para organizar el cuidado de sus tres perros debido a su apretada rutina, y Fabricio, un veterinario de 25 años que necesita una herramienta digital que centralice toda la información médica de los perros para mejorar la calidad de la atención. Cada persona tiene sus responsabilidades, frustraciones, motivaciones y metas, lo que proporciona una guía para la creación de la solución.
Veterinario:
Cuidador de Perros:
La User Task Matrix mapea las tareas clave que los usuarios realizan al interactuar con la plataforma. Se identifican tareas como la gestión de citas médicas, el seguimiento de la salud de los perros y la consulta de recomendaciones personalizadas. Estas tareas se analizan para determinar cómo los usuarios interactúan con la plataforma, la frecuencia con que realizan cada tarea y los beneficios que obtienen de ella.
| TASK | Persona 1: Eduardo (Dog Lover) | Persona 2: Fabricio (Veterinario) |
|---|---|---|
| Calibrar herramientas para el cuidado del perro | Sometimes | Always |
| Registrar información médica del perro | Sometimes | Always |
| Gestionar citas médicas y actividades | Sometimes | Often |
| Consultar recomendaciones sobre salud | Often | Often |
| Compartir información sobre cuidados | Sometimes | Always |
| Documentar el cuidado del perro | Rarely | Often |
| Recomendar productos para el cuidado | Often | Sometimes |
| Supervisar el estado de salud del perro | Rarely | Always |
El User Journey Mapping describe cómo los usuarios, Eduardo y Fabricio, interactúan con la plataforma en cada fase de su recorrido. Desde el descubrimiento de la plataforma hasta la integración de sus actividades diarias, se detallan los pasos que los usuarios dan, los problemas que enfrentan y las oportunidades que la solución podría ofrecerles para mejorar su experiencia. Se identifican los momentos clave y cómo la plataforma puede hacer más eficientes estas interacciones.
Veterinario:
Cuidador de Perros:
En el Empathy Mapping, se busca entender profundamente las emociones, pensamientos y comportamientos de los usuarios. A través de las respuestas de Eduardo y Fabricio, se exploran lo que piensan, lo que dicen, lo que hacen, lo que ven, lo que oyen y cómo se sienten. Esto ayuda a comprender las barreras emocionales y cognitivas que los usuarios enfrentan en su día a día y cómo la solución puede aliviar esas tensiones y mejorar su experiencia.
Veterinario:
Cuidador de Perros:
El As-is Scenario Mapping describe cómo los usuarios gestionan actualmente el cuidado de sus perros sin la solución propuesta. En este escenario, Eduardo y Fabricio emplean métodos dispersos y poco organizados, como calendarios, notas y recordatorios en diferentes dispositivos, lo que resulta en desorganización y olvidos. Este escenario identifica las ineficiencias actuales, proporcionando un punto de partida para la mejora.
Veterinario:
Cuidador de Perros:
El Ubiquitous Language establece los términos clave usados a lo largo del desarrollo, asegurando una comprensión común entre todos los involucrados. En este caso, se definen términos como dueños de perros, plataforma digital, recordatorios automáticos y recomendaciones personalizadas, asegurando que todos los participantes en el proyecto tengan una visión clara y consistente del sistema.
| Term (English) | Término en Español | Definición (Español) |
|---|---|---|
| Dog Owners | Dueños de Perros | Personas que tienen uno o más perros como mascotas y que buscan una solución para organizar el cuidado de sus animales. |
| Digital Platform | Plataforma Digital | Herramienta tecnológica (aplicación móvil o web) que centraliza todas las actividades de cuidado de los perros, como citas médicas, paseos y alimentación. |
| Automatic Reminders | Recordatorios Automáticos | Notificaciones que la plataforma envía a los dueños para recordarles las actividades programadas relacionadas con el cuidado de sus perros. |
| Personalized Recommendations | Recomendaciones Personalizadas | Sugerencias automáticas dadas por la plataforma basadas en la raza, edad y necesidades específicas de cada perro, para optimizar su cuidado. |
En el To-Be Scenario Mapping, se describe la situación ideal después de la implementación de la plataforma. Para los dueños de perros y veterinarios, la plataforma centraliza todas las actividades relacionadas con el cuidado de los perros, proporcionando recordatorios automáticos y recomendaciones personalizadas. Esto mejora la organización, reduce el estrés de los dueños y optimiza la eficiencia del proceso de atención médica, ofreciendo una experiencia mucho más fluida y organizada.
Veterinario:
Cuidador de Perros:
Las User Stories definen las funcionalidades del sistema desde la perspectiva de los usuarios. Por ejemplo, se describe cómo un dueño de perro podría querer recibir notificaciones automáticas de citas médicas para no olvidarlas. Estas historias guían el desarrollo de la plataforma, enfocándose en necesidades clave y asegurando que se ofrezcan soluciones específicas que resuelvan los problemas de los usuarios.
| Epic/User Story ID | Título | Descripción | Criterios de Aceptación | Relacionado con (Epic ID) |
|---|---|---|---|---|
| EP01 | Registro y Gestión de Usuarios | Como sistema, necesito permitir el registro, inicio de sesión y configuración de perfil para que los usuarios accedan y gestionen sus datos. | N/A | N/A |
| US01 | Registro de Usuario Nuevo | Como usuario, quiero registrarme en la plataforma para comenzar a usarla. | Escenario 1: El usuario completa el registro y recibe confirmación de bienvenida. Dado que soy un nuevo usuario, Cuando completo el formulario de registro, Entonces mi cuenta es creada y recibo una confirmación de bienvenida. Escenario 2: Si el correo ya está registrado, el sistema lo notifica. Dado que intento registrarme con un correo electrónico ya existente, Cuando ingreso mi correo, Entonces la plataforma me notifica que ya existe una cuenta asociada con ese correo. | EP01 |
| US02 | Inicio de Sesión de Usuario | Como usuario, quiero iniciar sesión en mi cuenta para acceder a las funcionalidades de la plataforma. | Escenario 1: El usuario ingresa usuario y contraseña, accediendo a su perfil. Dado que tengo una cuenta registrada, Cuando ingreso mi usuario y contraseña, Entonces accedo a mi perfil personal. Escenario 2: Si olvida la contraseña, el usuario recibe un enlace para restablecerla. Dado que olvidé mi contraseña, Cuando selecciono "Olvidé mi contraseña", Entonces recibo un enlace para restablecerla. | EP01 |
| US03 | Configuración Inicial del Perfil | Como usuario, quiero configurar mi perfil personal para que la plataforma personalice las recomendaciones para mi perro. | Escenario 1: El usuario ingresa los datos de su perro y recibe recomendaciones personalizadas. Dado que estoy registrando a mi perro, Cuando ingreso sus datos, Entonces la plataforma me proporciona recomendaciones personalizadas basadas en la raza y edad de mi perro. Escenario 2: El usuario actualiza la información del perro y la plataforma la guarda. Dado que quiero actualizar los datos de mi perro, Cuando edito su perfil, Entonces la plataforma guarda la nueva información correctamente. | EP01 |
| EP02 | Gestión de Citas y Actividades | Como sistema, necesito permitir que los usuarios agenden citas y gestionen actividades para cuidar a sus perros. | N/A | N/A |
| US04 | Agendar Cita Médica | Como usuario, quiero agendar citas médicas para mi perro en la plataforma. | Escenario 1: El usuario agenda una cita y se confirma en su calendario. Dado que quiero agendar una cita para mi perro, Cuando selecciono el día y la hora, Entonces la cita se confirma y se agrega a mi calendario. Escenario 2: Si la cita es urgente, se prioriza y notifica al usuario. Dado que mi perro requiere una cita urgente, Cuando selecciono la opción de urgencia, Entonces la cita se prioriza y se me notifica inmediatamente. | EP02 |
| US05 | Gestionar Actividades de Ejercicio | Como usuario, quiero gestionar las actividades de ejercicio de mi perro para asegurarme de que haga suficiente ejercicio. | Escenario 1: El usuario registra un paseo y se añade automáticamente al calendario. Dado que quiero registrar un paseo para mi perro, Cuando ingreso la actividad en la plataforma, Entonces se añade automáticamente al calendario de actividades. Escenario 2: El usuario ingresa una caminata diaria y la plataforma lo recuerda cada semana. Dado que planeo hacer una caminata diaria, Cuando ingreso la actividad con frecuencia semanal, Entonces la plataforma me recuerda cada semana. | EP02 |
| US06 | Notificación de Citas Médicas | Como usuario, quiero recibir notificaciones recordándome las citas médicas de mi perro. | Escenario 1: El usuario recibe un recordatorio de la cita médica a medida que se acerca. Dado que mi perro tiene una cita médica agendada, Cuando la cita se acerca, Entonces recibo una notificación recordándome la cita. Escenario 2: La plataforma avisa al usuario cuando se aproxima a la ubicación de la cita. Dado que tengo una cita médica programada, Cuando me aproximo al lugar, Entonces la aplicación me avisa para que no me olvide de llegar. | EP02 |
| EP03 | Bienestar y Salud del Perro | Como sistema, necesito proporcionar recomendaciones de salud y seguimiento para mejorar el bienestar de los perros. | N/A | N/A |
| US07 | Consultar Recomendaciones de Alimentación | Como usuario, quiero recibir recomendaciones de alimentación para mi perro basadas en su raza y edad. | Escenario 1: El usuario recibe recomendaciones de alimentos según la raza y edad de su perro. Dado que estoy buscando información sobre la dieta de mi perro, Cuando accedo a la sección de recomendaciones de alimentación, Entonces obtengo una lista con alimentos recomendados para su raza y edad. Escenario 2: Si el perro tiene un problema de salud, la plataforma sugiere dietas adaptadas. Dado que mi perro tiene un problema de salud, Cuando ingreso sus condiciones, Entonces la plataforma me sugiere dietas adaptadas a su situación. | EP03 |
| US08 | Consultar Estado de Salud | Como usuario, quiero ver el historial médico de mi perro para tener un panorama claro sobre su salud. | Escenario 1: El usuario consulta las vacunas de su perro en el historial médico. Dado que quiero consultar las vacunas de mi perro, Cuando accedo a su historial médico, Entonces puedo ver las fechas y detalles de las vacunas administradas. Escenario 2: El usuario revisa los tratamientos previos que ha recibido el perro. Dado que quiero saber qué tratamientos ha recibido, Cuando reviso su historial, Entonces encuentro todos los tratamientos con sus respectivas fechas y detalles. | EP03 |
| US09 | Ver Notificaciones de Bienestar | Como usuario, quiero recibir notificaciones relacionadas con el bienestar de mi perro, como alertas para nuevas vacunas o chequeos. | Escenario 1: El usuario recibe una notificación para una vacuna próxima de su perro. Dado que mi perro tiene una próxima vacuna, Cuando se acerca la fecha de la vacuna, Entonces recibo una notificación informándome del recordatorio. Escenario 2: El usuario recibe una alerta para un chequeo programado de su perro. Dado que mi perro tiene un chequeo programado, Cuando la fecha se acerca, Entonces me llega una alerta sobre la cita programada. | EP03 |
| EP04 | Comunicación y Soporte | Como sistema, necesito ofrecer soporte y comunicación con veterinarios para resolver dudas y problemas. | N/A | N/A |
| US10 | Interacción con Veterinario | Como usuario, quiero poder comunicarme directamente con un veterinario a través de la plataforma. | Escenario 1: El usuario envía preguntas al veterinario y recibe respuestas en tiempo real. Dado que tengo preguntas sobre el cuidado de mi perro, Cuando accedo al chat con el veterinario, Entonces puedo enviarle preguntas y recibir respuestas en tiempo real. Escenario 2: El usuario contacta al veterinario para una consulta inicial en línea. Dado que mi perro está enfermo, Cuando contacto al veterinario a través de la plataforma, Entonces puedo recibir una consulta inicial en línea. | EP04 |
| US11 | Soporte al Usuario | Como usuario, quiero recibir soporte en caso de problemas técnicos con la plataforma. | Escenario 1: El usuario recibe asistencia técnica dentro de las 24 horas. Dado que tengo un problema con la plataforma, Cuando me comunico con el soporte, Entonces recibo asistencia dentro de las 24 horas. Escenario 2: El usuario consulta la sección de ayuda y sigue un tutorial paso a paso. Dado que quiero saber cómo funciona una función de la plataforma, Cuando accedo a la sección de ayuda, Entonces encuentro un tutorial paso a paso. | EP04 |
| US12 | Responder Consultas Comunes | Como usuario, quiero acceder a una sección de preguntas frecuentes para resolver dudas comunes. | Escenario 1: El usuario consulta la sección de preguntas frecuentes y encuentra respuestas claras. Dado que tengo dudas sobre el uso de la plataforma, Cuando accedo a las preguntas frecuentes, Entonces encuentro respuestas claras a mis inquietudes. Escenario 2: El usuario busca cómo configurar una notificación y encuentra la guía adecuada. Dado que quiero saber cómo configurar una notificación, Cuando reviso la sección de preguntas frecuentes, Entonces encuentro una guía sobre cómo hacerlo. | EP04 |
| US13 | Edición de Perfil | Como usuario, quiero poder editar la información de mi perfil para mantener actualizados los datos de mi perro. | Escenario 1: El usuario edita los datos de su perro y la plataforma guarda la nueva información. Dado que quiero cambiar los datos de mi perro, Cuando accedo a la sección de perfil, Entonces puedo editar la información y guardarla correctamente. Escenario 2: El usuario actualiza su correo electrónico y el perfil se actualiza correctamente. Dado que quiero cambiar mi dirección de correo electrónico, Cuando ingreso una nueva dirección, Entonces la plataforma actualiza mi perfil con el nuevo correo. | EP01 |
| US14 | Cambio de Contraseña | Como usuario, quiero poder cambiar mi contraseña para asegurar la seguridad de mi cuenta. | Escenario 1: El usuario selecciona "cambiar contraseña", ingresa una nueva y la confirma. Dado que quiero cambiar mi contraseña, Cuando selecciono la opción de cambiar contraseña, Entonces ingreso una nueva contraseña y la confirmo. Escenario 2: El usuario olvida su contraseña, solicita restablecimiento y recibe un enlace para hacerlo. Dado que olvidé mi contraseña, Cuando selecciono "Olvidé mi contraseña", Entonces recibo un enlace para restablecerla por correo electrónico. | EP01 |
| US15 | Gestión de Recordatorios | Como usuario, quiero que la plataforma me envíe recordatorios para mis citas médicas y actividades de mi perro. | Escenario 1: El usuario recibe un recordatorio cuando se acerca una cita médica programada. Dado que tengo una cita médica programada, Cuando la fecha de la cita se acerca, Entonces la plataforma me envía un recordatorio con los detalles. Escenario 2: El usuario recibe un recordatorio semanal para una actividad recurrente, como el paseo diario. Dado que tengo una actividad recurrente (por ejemplo, paseo diario), Cuando se aproxima el horario de la actividad, Entonces la plataforma me envía una notificación recordándome la actividad. | EP02 |
| US16 | Confirmación de Citas | Como usuario, quiero confirmar la asistencia a las citas médicas para asegurar que todo está organizado. | Escenario 1: El usuario recibe una notificación de cita y la confirma a través de la plataforma. Dado que tengo una cita programada, Cuando recibo la notificación de la cita, Entonces puedo confirmar la cita desde la plataforma. Escenario 2: Si el usuario no puede asistir a la cita, la plataforma le permite cancelar y reprogramar. Dado que no puedo asistir a una cita, Cuando selecciono la opción de cancelar, Entonces la plataforma me solicita la reprogramación de la cita. | EP02 |
| US17 | Control de Alimentación | Como usuario, quiero hacer un seguimiento de la alimentación de mi perro para asegurarme de que está recibiendo la nutrición adecuada. | Escenario 1: El usuario registra la alimentación diaria de su perro, que queda guardada en el historial de actividades. Dado que quiero llevar un registro de la alimentación de mi perro, Cuando ingreso los alimentos que le doy, Entonces la plataforma guarda la información en el historial de actividades. Escenario 2: El usuario cambia la dieta de su perro, y la plataforma ofrece recomendaciones personalizadas basadas en sus nuevas necesidades. Dado que quiero cambiar la dieta de mi perro, Cuando selecciono las opciones de nueva alimentación, Entonces la plataforma me recomienda alimentos según sus necesidades. | EP03 |
| US18 | Consultas sobre Salud | Como usuario, quiero realizar consultas sobre la salud de mi perro para estar informado sobre su bienestar. | Escenario 1: El usuario busca información sobre síntomas de malestar en su perro y recibe recomendaciones básicas. Dado que mi perro presenta síntomas de malestar, Cuando ingreso a la sección de salud, Entonces la plataforma me da recomendaciones básicas sobre lo que podría estar ocurriendo. Escenario 2: El usuario contacta a un veterinario a través de la plataforma para resolver dudas sobre el tratamiento de su perro. Dado que tengo dudas sobre el tratamiento de mi perro, Cuando accedo a la sección de consultas, Entonces la plataforma me ofrece una opción para contactar con un veterinario. | EP03 |
| US19 | Soporte Técnico de la Plataforma | Como usuario, quiero recibir soporte técnico en caso de problemas con la plataforma para garantizar su buen funcionamiento. | Escenario 1: El usuario contacta al soporte técnico por un problema y recibe ayuda dentro de 24 horas. Dado que tengo un problema técnico con la plataforma, Cuando contacto con el soporte, Entonces recibo ayuda dentro de las 24 horas. Escenario 2: El usuario enfrenta dificultades para acceder a su cuenta y el soporte técnico lo guía para resolver el problema. Dado que tengo dificultades para acceder a mi cuenta, Cuando solicito asistencia, Entonces el soporte técnico me guía para resolver el problema. | EP04 |
| US20 | Información General y Ayuda | Como usuario, quiero acceder a una sección de ayuda y preguntas frecuentes para resolver mis dudas sin necesidad de contactar al soporte. | Escenario 1: El usuario consulta la sección de ayuda y encuentra tutoriales y respuestas a preguntas frecuentes. Dado que tengo dudas sobre cómo usar la plataforma, Cuando accedo a la sección de ayuda, Entonces puedo encontrar tutoriales y respuestas a preguntas frecuentes. Escenario 2: El usuario aprende a agregar una actividad para su perro a través de la guía paso a paso en la sección de preguntas frecuentes. Dado que quiero saber cómo agregar una nueva actividad para mi perro, Cuando reviso las preguntas frecuentes, Entonces encuentro una guía paso a paso para realizar la acción. | EP04 |
| TS01 | Registro de Nuevo Usuario | Como desarrollador, necesito registrar nuevos usuarios mediante una API para permitir el acceso al sistema. | Escenario 1: Dado que tengo acceso a la API de registro de usuarios, Cuando solicito registrar un usuario con datos válidos, Entonces recibo confirmación de usuario creado con su identificador. Escenario 2: Dado que tengo acceso a la API de registro de usuarios, Cuando solicito registrar un usuario con un email ya existente, Entonces recibo un mensaje indicando que el email ya está registrado. | EP01 |
| TS02 | Edición de Perfil del Usuario | Como desarrollador, necesito permitir que los usuarios editen su perfil para mantener la información actualizada. | Escenario 1: Dado que el usuario está autenticado, Cuando selecciona la opción de editar perfil, Entonces la plataforma debe mostrar los campos del perfil con la opción de modificarlos. Escenario 2: Dado que el usuario cambia su dirección de correo electrónico, Cuando ingresa una nueva dirección, Entonces la plataforma debe actualizar su perfil con el nuevo correo. | EP01 |
| TS03 | Cambio de Contraseña | Como desarrollador, necesito permitir que los usuarios cambien su contraseña para mejorar la seguridad. | Escenario 1: Dado que el usuario accede a la opción de cambiar contraseña, Cuando introduce una nueva contraseña y la confirma, Entonces el sistema debe actualizar su contraseña con la nueva. Escenario 2: Dado que el usuario ha olvidado su contraseña, Cuando selecciona "Olvidé mi contraseña" y sigue los pasos, Entonces el sistema le enviará un enlace para restablecer la contraseña. | EP01 |
| TS04 | Gestión de Recordatorios Automáticos | Como desarrollador, necesito configurar recordatorios automáticos para las citas y actividades de los usuarios. | Escenario 1: Dado que un usuario tiene una cita médica programada, Cuando se acerca la fecha de la cita, Entonces la plataforma enviará una notificación recordando al usuario sobre la cita. Escenario 2: Dado que un usuario tiene una actividad programada (paseo, alimentación), Cuando se acerque el horario, Entonces el sistema enviará un recordatorio de la actividad programada. | EP02 |
| TS05 | Confirmación de Citas | Como desarrollador, necesito crear un sistema para que los usuarios confirmen o cancelen sus citas. | Escenario 1: Dado que un usuario recibe una notificación sobre una cita programada, Cuando hace clic en "Confirmar cita", Entonces la plataforma actualizará el estado de la cita a "confirmada". Escenario 2: Dado que un usuario no puede asistir a la cita, Cuando selecciona la opción "Cancelar cita", Entonces la plataforma pedirá al usuario que reprograma la cita. | EP02 |
| TS06 | Registro de Alimentación | Como desarrollador, necesito permitir que los usuarios registren la alimentación de sus perros. | Escenario 1: Dado que el usuario tiene una nueva comida para su perro, Cuando el usuario ingresa la comida en la plataforma, Entonces la plataforma guardará la información en el historial. Escenario 2: Dado que el usuario desea cambiar la dieta de su perro, Cuando ingresa una nueva opción de alimentación, Entonces la plataforma le recomienda productos basados en la raza del perro. | EP03 |
| TS07 | Consultas sobre Salud | Como desarrollador, necesito que los usuarios puedan hacer consultas sobre la salud de sus perros en la plataforma. | Escenario 1: Dado que el usuario tiene dudas sobre la salud de su perro, Cuando consulta la sección de salud, Entonces la plataforma le muestra información relevante y recomendaciones generales. Escenario 2: Dado que el usuario tiene síntomas que le preocupan, Cuando ingresa su consulta, Entonces la plataforma ofrece la opción de contactar con un veterinario. | EP03 |
| TS08 | Soporte Técnico | Como desarrollador, necesito crear un sistema de soporte técnico para los usuarios. | Escenario 1: Dado que el usuario tiene un problema técnico, Cuando contacta con el soporte, Entonces el sistema crea un ticket y lo notifica al usuario. Escenario 2: Dado que el problema no se resuelve por teléfono, Cuando el soporte envía una solución vía email, Entonces el usuario recibe instrucciones claras para solucionar el problema. | EP04 |
| TS09 | Resolución de Problemas de Plataforma | Como desarrollador, necesito garantizar que los usuarios puedan solucionar problemas comunes de acceso. | Escenario 1: Dado que el usuario no puede iniciar sesión en la plataforma, Cuando selecciona "Olvidé mi contraseña", Entonces recibe un enlace para restablecerla. Escenario 2: Dado que el usuario no puede acceder debido a un error técnico, Cuando contacta con soporte, Entonces el equipo técnico realiza una revisión y resuelve el problema. | EP04 |
| TS10 | Página de Ayuda | Como desarrollador, quiero crear una página de ayuda donde los usuarios puedan obtener respuestas rápidas. | Escenario 1: Dado que el usuario tiene preguntas frecuentes, Cuando accede a la sección de ayuda, Entonces puede encontrar una lista de problemas comunes con soluciones detalladas. Escenario 2: Dado que el usuario busca información técnica específica, Cuando accede a los tutoriales, Entonces puede seguir un paso a paso que le ayude a resolver sus dudas. | EP04 |
| TS11 | Validación de Datos del Usuario | Como desarrollador, necesito validar los datos ingresados por los usuarios para evitar registros incorrectos. | Escenario 1: Dado que un usuario ingresa un nombre y correo válido, Cuando envía el formulario, Entonces el sistema valida los datos y los guarda en la base de datos. Escenario 2: Dado que el usuario ingresa un correo electrónico no válido, Cuando envía el formulario, Entonces el sistema muestra un mensaje de error indicando que el correo no es válido. | EP01 |
| TS12 | Verificación de Correo Electrónico | Como desarrollador, necesito que los usuarios verifiquen su correo electrónico después de registrarse. | Escenario 1: Dado que el usuario ha registrado su cuenta, Cuando el sistema envía un correo de verificación, Entonces el usuario hace clic en el enlace de verificación. Escenario 2: Dado que el usuario no verifica su correo electrónico, Cuando intenta iniciar sesión, Entonces el sistema le recuerda verificar su correo electrónico antes de continuar. | EP01 |
| TS13 | Cancelación de Citas Médicas | Como desarrollador, necesito que los usuarios puedan cancelar sus citas médicas fácilmente. | Escenario 1: Dado que el usuario tiene una cita médica programada, Cuando hace clic en "Cancelar cita", Entonces el sistema le pregunta si está seguro de cancelar. Escenario 2: Dado que el usuario confirma la cancelación, Cuando el sistema procesa la cancelación, Entonces la cita se elimina de su calendario y el veterinario es notificado. | EP02 |
| TS14 | Reprogramación de Citas | Como desarrollador, necesito que los usuarios puedan reprogramar sus citas médicas. | Escenario 1: Dado que el usuario desea cambiar la fecha de una cita médica, Cuando elige una nueva fecha, Entonces el sistema actualiza la cita en el calendario del usuario. Escenario 2: Dado que el usuario elige una fecha que ya está ocupada, Cuando intenta confirmar la cita, Entonces el sistema muestra un mensaje indicando que la fecha ya está ocupada. | EP02 |
| TS15 | Notificación de Citas Programadas | Como desarrollador, quiero enviar una notificación automática a los usuarios recordándoles sus citas programadas. | Escenario 1: Dado que el usuario tiene una cita programada para el día siguiente, Cuando se acerca la fecha de la cita, Entonces el sistema envía una notificación recordando al usuario sobre la cita. Escenario 2: Dado que el usuario tiene una cita programada para una semana más tarde, Cuando se acerca la fecha de la cita, Entonces el sistema envía un recordatorio anticipado. | EP02 |
| TS16 | Recordatorio de Alimentación | Como desarrollador, necesito que el sistema envíe recordatorios automáticos a los usuarios para alimentar a sus perros. | Escenario 1: Dado que el usuario ha programado una hora para alimentar a su perro, Cuando se acerca la hora de alimentación, Entonces el sistema envía un recordatorio al usuario. Escenario 2: Dado que el usuario ha seleccionado un tipo de alimento específico para su perro, Cuando se acerca la hora de alimentación, Entonces el sistema envía un recordatorio indicando el tipo de alimento que debe dar. | EP03 |
| TS17 | Registro de Visitas al Veterinario | Como desarrollador, necesito que el sistema permita registrar las visitas al veterinario de los perros. | Escenario 1: Dado que el usuario ha llevado a su perro al veterinario, Cuando el usuario ingresa los detalles de la visita, Entonces el sistema registra la información en el historial médico del perro. Escenario 2: Dado que el usuario tiene una nueva visita programada al veterinario, Cuando el usuario ingresa la cita en el sistema, Entonces la visita se agrega al calendario de la plataforma. | EP03 |
| TS18 | Recomendaciones de Ejercicio | Como desarrollador, quiero que el sistema envíe recomendaciones de ejercicio personalizadas según la raza del perro. | Escenario 1: Dado que el usuario ha registrado la raza de su perro, Cuando el sistema analiza la raza, Entonces le envía recomendaciones de ejercicio adaptadas a esa raza. Escenario 2: Dado que el usuario desea obtener un plan de ejercicio personalizado, Cuando introduce detalles como la edad y peso del perro, Entonces el sistema genera recomendaciones basadas en la salud del perro. | EP03 |
| TS19 | Notificación de Soporte Técnico | Como desarrollador, quiero que los usuarios reciban notificaciones cuando se resuelva un ticket de soporte técnico. | Escenario 1: Dado que un usuario ha abierto un ticket de soporte, Cuando el problema se resuelve, Entonces el sistema envía una notificación al usuario informándole que su problema ha sido solucionado. Escenario 2: Dado que el usuario tiene dudas sobre su problema, Cuando el soporte técnico resuelve el problema, Entonces se envía una notificación detallada al usuario con la solución. | EP04 |
| TS20 | Asistencia en Vivo | Como desarrollador, necesito implementar un chat en vivo para que los usuarios puedan interactuar con el soporte. | Escenario 1: Dado que el usuario necesita ayuda, Cuando accede a la opción de soporte en vivo, Entonces se abre una ventana de chat donde puede interactuar con un representante de soporte. Escenario 2: Dado que el usuario está en una llamada de soporte en vivo, Cuando el representante ofrece una solución, Entonces el usuario recibe una confirmación de que el problema ha sido resuelto. | EP04 |
| EP05 | Gestión de Veterinarios | Como sistema, necesito permitir que los veterinarios accedan a la plataforma, gestionen sus citas y pacientes para que puedan brindar atención médica de manera organizada. | N/A | N/A |
| US21 | Inicio de Sesión de Veterinario | Como veterinario, quiero iniciar sesión en la plataforma para acceder a mi panel de gestión de citas y pacientes. | Escenario 1: El veterinario ingresa sus credenciales y accede a su panel. Dado que soy un veterinario registrado, Cuando ingreso mi usuario y contraseña en la pantalla de login, Entonces accedo a mi panel principal donde puedo ver mis pacientes y citas pendientes. Escenario 2: El veterinario ingresa credenciales incorrectas y recibe un mensaje de error. Dado que intento iniciar sesión con credenciales incorrectas, Cuando ingreso usuario o contraseña incorrectos, Entonces el sistema me muestra un mensaje de error indicando que las credenciales son inválidas. | EP05 |
| US22 | Visualización de Lista de Pacientes/Mascotas | Como veterinario, quiero ver la lista de pacientes/mascotas que tengo asignados para poder gestionar su información médica. | Escenario 1: El veterinario accede a su panel y ve la lista de pacientes. Dado que he iniciado sesión como veterinario, Cuando accedo a la sección principal después del login, Entonces veo una lista de todos los pacientes/mascotas que tengo asignados con su información básica. Escenario 2: El veterinario busca un paciente específico en la lista. Dado que tengo múltiples pacientes en mi lista, Cuando utilizo la función de búsqueda para encontrar un paciente específico, Entonces el sistema filtra la lista mostrando solo los resultados que coinciden con mi búsqueda. | EP05 |
| US23 | Agendar Nueva Cita a un Perro Específico | Como veterinario, quiero poder agendar una nueva cita médica para un perro específico desde mi panel de gestión. | Escenario 1: El veterinario agenda una nueva cita para un paciente. Dado que estoy en la pantalla de citas y necesito agendar una nueva cita, Cuando selecciono la sección de "Agendar nueva cita" y selecciono un perro específico de la lista, Entonces se abre un formulario donde puedo ingresar los detalles de la cita (fecha, hora, motivo) y confirmarla. Escenario 2: El veterinario intenta agendar una cita en un horario no disponible. Dado que estoy agendando una nueva cita, Cuando selecciono una fecha y hora que ya está ocupada, Entonces el sistema me muestra un mensaje indicando que ese horario no está disponible y sugiere alternativas. | EP05 |
| US24 | Visualización de Lista de Citas Pendientes | Como veterinario, quiero ver la lista de citas pendientes que tengo programadas para poder organizar mi agenda y prepararme para cada consulta. | Escenario 1: El veterinario ve todas sus citas pendientes. Dado que he iniciado sesión como veterinario, Cuando accedo a la sección de citas, Entonces veo una lista de todas las citas pendientes que tengo programadas, ordenadas por fecha y hora, con información del paciente y motivo de la consulta. Escenario 2: El veterinario filtra las citas por fecha. Dado que tengo múltiples citas en diferentes fechas, Cuando selecciono un rango de fechas específico, Entonces el sistema muestra solo las citas que están dentro del rango seleccionado. | EP05 |
| US25 | Ver Detalle de Cita | Como veterinario, quiero ver el detalle completo de una cita específica para conocer toda la información relevante del paciente y la consulta antes de atenderla. | Escenario 1: El veterinario accede al detalle de una cita desde la lista. Dado que estoy viendo la lista de citas pendientes, Cuando selecciono una cita específica de la lista, Entonces se abre una vista detallada (modal o pantalla completa) que muestra toda la información de la cita: datos del paciente, historial médico relevante, motivo de la consulta, fecha y hora programada. Escenario 2: El veterinario cierra la vista de detalle y regresa a la lista. Dado que estoy viendo el detalle de una cita, Cuando cierro la vista de detalle o presiono el botón de regresar, Entonces vuelvo a la lista de citas pendientes manteniendo el estado anterior. | EP05 |
El Impact Mapping conecta las funcionalidades del sistema con los resultados que se desean lograr. Se examinan cómo las funcionalidades de recordatorios automáticos y recomendaciones personalizadas pueden impactar positivamente en el bienestar de los perros, en el crecimiento de la base de usuarios y en la satisfacción de los veterinarios. Esta estrategia de mapeo asegura que las acciones del sistema estén alineadas con los objetivos comerciales y de impacto social.
Veterinario:
Cuidador de Perros:
El Product Backlog es una lista priorizada de las tareas y funcionalidades que deben implementarse para desarrollar la plataforma. Incluye tareas como la gestión de citas médicas, el desarrollo de recordatorios automáticos y la integración con marcas y veterinarias. Esta lista se mantiene actualizada durante el desarrollo para garantizar que las funcionalidades más importantes se implementen primero, brindando valor a los usuarios de forma constante.
| Order | User Story ID | Título | Descripción | Story Points |
|---|---|---|---|---|
| 1 | US01 | Registro de Usuario Nuevo | Como usuario, quiero registrarme en la plataforma para comenzar a usarla. | 3 |
| 2 | US02 | Inicio de Sesión de Usuario | Como usuario, quiero iniciar sesión en mi cuenta para acceder a las funcionalidades de la plataforma. | 3 |
| 3 | US03 | Configuración Inicial del Perfil | Como usuario, quiero configurar mi perfil personal para que la plataforma personalice las recomendaciones para mi perro. | 4 |
| 4 | US04 | Agendar Cita Médica | Como usuario, quiero agendar citas médicas para mi perro en la plataforma. | 3 |
| 5 | US05 | Gestionar Actividades de Ejercicio | Como usuario, quiero gestionar las actividades de ejercicio de mi perro para asegurarme de que haga suficiente ejercicio. | 3 |
| 6 | US06 | Notificación de Citas Médicas | Como usuario, quiero recibir notificaciones recordándome las citas médicas de mi perro. | 2 |
| 7 | US07 | Consultar Recomendaciones de Alimentación | Como usuario, quiero recibir recomendaciones de alimentación para mi perro basadas en su raza y edad. | 3 |
| 8 | US08 | Consultar Estado de Salud | Como usuario, quiero ver el historial médico de mi perro para tener un panorama claro sobre su salud. | 4 |
| 9 | US09 | Ver Notificaciones de Bienestar | Como usuario, quiero recibir notificaciones relacionadas con el bienestar de mi perro, como alertas para nuevas vacunas o chequeos. | 2 |
| 10 | US10 | Interacción con Veterinario | Como usuario, quiero poder comunicarme directamente con un veterinario a través de la plataforma. | 4 |
| 11 | US11 | Soporte al Usuario | Como usuario, quiero recibir soporte en caso de problemas técnicos con la plataforma. | 3 |
| 12 | US12 | Responder Consultas Comunes | Como usuario, quiero acceder a una sección de preguntas frecuentes para resolver dudas comunes. | 2 |
| 13 | US13 | Edición de Perfil | Como usuario, quiero poder editar la información de mi perfil para mantener actualizados los datos de mi perro. | 3 |
| 14 | US14 | Cambio de Contraseña | Como usuario, quiero poder cambiar mi contraseña para asegurar la seguridad de mi cuenta. | 2 |
| 15 | US15 | Gestión de Recordatorios | Como usuario, quiero que la plataforma me envíe recordatorios para mis citas médicas y actividades de mi perro. | 3 |
| 16 | US16 | Confirmación de Citas | Como usuario, quiero confirmar la asistencia a las citas médicas para asegurar que todo está organizado. | 2 |
| 17 | US17 | Control de Alimentación | Como usuario, quiero hacer un seguimiento de la alimentación de mi perro para asegurarme de que está recibiendo la nutrición adecuada. | 3 |
| 18 | US18 | Consultas sobre Salud | Como usuario, quiero realizar consultas sobre la salud de mi perro para estar informado sobre su bienestar. | 4 |
| 19 | US19 | Soporte Técnico de la Plataforma | Como usuario, quiero recibir soporte técnico en caso de problemas con la plataforma para garantizar su buen funcionamiento. | 3 |
| 20 | US20 | Información General y Ayuda | Como usuario, quiero acceder a una sección de ayuda y preguntas frecuentes para resolver mis dudas sin necesidad de contactar al soporte. | 2 |
| 21 | US21 | Inicio de Sesión de Veterinario | Como veterinario, quiero iniciar sesión en la plataforma para acceder a mi panel de gestión de citas y pacientes. | 3 |
| 22 | US22 | Visualización de Lista de Pacientes/Mascotas | Como veterinario, quiero ver la lista de pacientes/mascotas que tengo asignados para poder gestionar su información médica. | 5 |
| 23 | US23 | Agendar Nueva Cita a un Perro Específico | Como veterinario, quiero poder agendar una nueva cita médica para un perro específico desde mi panel de gestión. | 5 |
| 24 | US24 | Visualización de Lista de Citas Pendientes | Como veterinario, quiero ver la lista de citas pendientes que tengo programadas para poder organizar mi agenda y prepararme para cada consulta. | 4 |
| 25 | US25 | Ver Detalle de Cita | Como veterinario, quiero ver el detalle completo de una cita específica para conocer toda la información relevante del paciente y la consulta antes de atenderla. | 3 |
Las Style Guidelines de DogiMax son un conjunto de principios visuales y comunicacionales diseñados para crear una experiencia de usuario coherente, amigable y funcional. Estas directrices ayudan a transmitir la misión y visión de la marca a través de la interfaz, asegurando que el diseño sea accesible, claro y atractivo para los dueños de perros.
** Branding: **
** Nombre de marca: ** DogiMax
Un nombre que fusiona "Dogi" (relacionado con los perros) y "Max" (máximo, lo mejor), reflejando nuestro enfoque en ofrecer el mejor cuidado posible para las mascotas.
** Misión: **
Brindar a los dueños de perros una plataforma digital que centralice todas las tareas relacionadas con el cuidado de sus mascotas, desde citas médicas hasta recomendaciones personalizadas basadas en IA para mejorar la salud y bienestar de los perros.
** Visión: **
Ser la plataforma líder en gestión del cuidado de perros, proporcionando herramientas inteligentes que promuevan prácticas responsables y mejoren la calidad de vida de los perros y sus dueños.
** Colores: **
-
**Color primario: ** #FF6B1A (Naranja vibrante que refleja energía y vitalidad).
-
** Color secundario: ** #FFFFFF (Blanco, para equilibrio y limpieza visual).
-
** Color de fondo: ** #F8F9FA (Tono suave que proporciona un fondo claro y tranquilo).
-
**Color de texto: ** #2C3E50 (Gris oscuro para máxima legibilidad).
-
** Color de Texto: **
#2C3E50 para texto primario sobre fondos claros y #FFFFFF sobre fondos oscuros, para garantizar la legibilidad y un contraste adecuado.
-
Color de Botones:
-
Botones primarios: #FF6B1A (Naranja).
-
Botones secundarios: Fondo transparente con borde en #FF6B1A para mantener consistencia con la paleta de colores.
** Tipografía: **
La tipografía define la jerarquía visual y la legibilidad de la plataforma. Se han definido los siguientes estilos:
-
Heading 01: Montserrat SemiBold – 52px
-
Heading 02: Montserrat Medium – 36px
-
Heading 03: Arial Nova Bold – 24px
-
Heading 04: Arial Nova Regular – 18px
-
Texto principal: Arial Nova Regular – 16px
-
Texto técnico: Roboto Mono – 14pxTono de comunicación:
Profesional y cercano, con un enfoque técnico pero accesible para todos los dueños de perros, utilizando un lenguaje claro, amigable y entusiasta.
Las Web Style Guidelines para DogiMax están orientadas a optimizar la experiencia de usuario en la versión web, asegurando que la plataforma sea eficiente y atractiva tanto en escritorio como en dispositivos móviles.
** Tarjetas y visualizaciones: **
• Las tarjetas tienen un diseño minimalista y moderno, con imágenes e íconos representativos del proceso de cuidado de la mascota (por ejemplo, íconos de salud, citas, actividad física, etc.).
• Las visualizaciones, como gráficos sobre la actividad de los perros, están optimizadas para ser claras y fáciles de leer.
** Botones: **
• Botones primarios: Utilizan el color #FF6B1A para destacar acciones importantes.
• Botones secundarios: Transparentes con bordes naranjas, para opciones menos destacadas pero igualmente importantes.
** Tablas: **
Las tablas son simples pero funcionales, mostrando información de manera clara y ordenada. Las columnas son fácilmente filtrables y ordenables, y las filas alternan colores para mejorar la legibilidad.
** Pantallas emergentes: **
Las pantallas emergentes tienen un fondo oscuro opaco y texto claro. Los botones de acción son grandes, fáciles de identificar y se destacan con un color naranja para indicar acción.
La arquitectura de información de DogiMax está diseñada para facilitar el acceso rápido y fácil a todas las funcionalidades necesarias para el cuidado de los perros, organizando el contenido de manera lógica y estructurada.
En la interfaz de DogiMax, la información más importante, como las citas médicas y las recomendaciones, ocupa una posición destacada en la página de inicio. Los módulos con información adicional, como el perfil del perro o la información de contacto, están disponibles en el menú de navegación.
El registro de nuevas citas, la creación de perfiles para los perros y las recomendaciones de salud se presentan de manera secuencial, guiando al usuario paso a paso para que no se sienta abrumado por la cantidad de opciones.
El contenido está organizado en categorías claras: Citas, Salud, Ejercicio, y Recomendaciones. Cada categoría agrupa información relevante y permite a los usuarios encontrar lo que buscan rápidamente.
El sistema de etiquetado en DogiMax asegura que cada sección y funcionalidad esté claramente identificada, utilizando etiquetas precisas y simples.
Etiquetas breves en menús:
Las opciones del menú se etiquetan de forma clara y concisa: Inicio, Citas, Salud, Ejercicio, Recomendaciones, Perfil.
Tarjetas y gráficos etiquetados con íconos + texto:
Cada tarjeta de información, ya sea de citas o recomendaciones, tiene un ícono representativo (como un estetoscopio para salud o una pelota para ejercicio) acompañado de un texto que describe la información contenida.
Objetivo: Optimizar la visibilidad de DogiMax en buscadores y mejorar la indexación de cada página del sitio y la aplicación web.
Páginas principales y sus SEO Tags:
| Página | Title | Meta Description | Keywords | Author |
|---|---|---|---|---|
| Landing Page | DogiMax - Cuida a tu perro de forma fácil | DogiMax es la plataforma digital que permite gestionar el cuidado de tus perros, desde citas médicas hasta recomendaciones personalizadas. | DogiMax, cuidado de perros, agenda mascotas, veterinaria, salud canina | Equipo DogiMax |
| Login / Registro | DogiMax - Acceso y Registro | Inicia sesión o crea tu cuenta en DogiMax para organizar y mejorar la salud y bienestar de tu perro. | DogiMax, login, registro, cuenta, mascota | Equipo DogiMax |
| Dashboard | DogiMax - Panel de control | Visualiza las próximas citas, recomendaciones personalizadas y el estado de tu mascota en DogiMax. | DogiMax, dashboard, mascotas, recomendaciones | Equipo DogiMax |
| Perfil de Mascota | DogiMax - Perfil de [Nombre Mascota] | Revisa y actualiza la información de tu perro, su historial de vacunas y actividad física. | DogiMax, perfil mascota, vacunas, actividad física | Equipo DogiMax |
| Citas | DogiMax - Citas Médicas | Agenda y consulta todas las citas médicas de tus mascotas de forma organizada. | DogiMax, citas, veterinaria, agenda | Equipo DogiMax |
Objetivo: Permitir a los usuarios encontrar información rápida y fácilmente dentro de la plataforma, evitando confusión o pérdida de datos.
Opciones de búsqueda en la Web Application:
-
Dashboard:
-
Barra de búsqueda rápida para filtrar mascotas por nombre o raza.
-
Filtros por próximas citas o alertas de salud.
-
-
Citas:
-
Buscar citas por fecha, nombre de mascota o tipo de atención (vacuna, control general).
-
Resultados listados en tarjetas con información clara: fecha, hora, veterinaria, mascota.
-
-
Perfil de Mascota:
-
Búsqueda por historial de vacunas, actividad física o registros de alimentación.
-
Filtros por categoría (vacunas, alimentación, actividad).
-
Visualización de resultados:
-
Tarjetas blancas con borde naranja
#FF6B1A, texto gris oscuro#2C3E50. -
Resumen en primer vistazo, opción de expandir para más detalle.
Objetivo: Guiar a los usuarios por la plataforma de forma intuitiva, permitiendo cumplir sus metas sin perderse en la navegación.
Estructura y acciones de navegación:
-
Navbar principal:
-
Ítems: Inicio, Mi Mascota, Citas, Notificaciones, Perfil.
-
Visible en todas las páginas de la Web Application.
-
Color: naranja
#FF6B1Afondo, texto blanco#FFFFFF.
-
-
Sidebar o menú contextual:
- Acceso rápido a secciones secundarias de cada página, como historial de mascotas o recomendaciones personalizadas.
-
Botones de acción:
-
Botones primarios: acciones importantes (guardar, agregar, confirmar), color naranja
#FF6B1A. -
Botones secundarios: acciones secundarias (cancelar, volver), fondo blanco, borde naranja.
-
-
Breadcrumbs (migas de pan):
- Mostrar la ruta actual dentro de la aplicación (Ej.: Dashboard > Citas > Detalle de cita).
-
Rutas típicas del usuario:
-
Desde Login → Dashboard → Perfil de Mascota → Citas → Notificaciones.
-
Permite un flujo natural y consistente con los objetivos de cada User Persona.
-
El wireframe de la página de aterrizaje está diseñado para ser simple y directo. En la parte superior se encuentra la barra de navegación con enlaces a las secciones principales: Inicio, Citas, Salud, Ejercicio, Recomendaciones, Perfil. En el centro, se destacan los botones de llamada a la acción (CTA), como Registrarse o Iniciar sesión. La página incluye secciones claras que detallan los beneficios de DogiMax para los dueños de perros.
El mock-up refleja la implementación completa de los elementos de diseño. La paleta de colores se aplica a lo largo de la página, con el color #FF6B1A en los botones y títulos. Los encabezados son grandes y prominentes, utilizando Poppins para transmitir un tono moderno y accesible. Las visualizaciones y gráficos de la página están alineados con la estética de la marca y presentan información de manera clara y atractiva.
En esta sección se presenta la arquitectura de software basada en el dominio para DogiMax. Se detallan los diferentes diagramas que ilustran la estructura y organización del sistema, así como los componentes clave que lo integran, mostrando cómo se interconectan para proporcionar una solución eficiente y escalable.
Este diagrama muestra cómo interactúan los usuarios (Dueños de Perros y Veterinarios) con la plataforma DogiMax. Los usuarios usan la aplicación para gestionar y monitorear el cuidado de sus mascotas. Además, DogiMax se conecta con servicios de terceros para funcionalidades especializadas como la entrega de recomendaciones basadas en IA, el envío de notificaciones y la gestión de pagos.
Este diagrama ilustra los diferentes contenedores o componentes tecnológicos de DogiMax y cómo interactúan entre sí. Los contenedores representan las diferentes capas y servicios que componen la plataforma, como la interfaz de usuario (Web Application), la lógica de negocio (API Application) y la base de datos.
Mi Perro Bounded Context
Este diagrama representa los componentes encargados de la gestión de las mascotas. Los usuarios pueden crear perfiles de perros, registrar información de salud y acceder a recomendaciones personalizadas.
Citas Bounded Context
Este diagrama se centra en la gestión de las citas y la agenda de las mascotas. Aquí se muestran los componentes involucrados en el proceso de agendar, modificar y cancelar citas con los veterinarios.
Notificaciones Bounded Context
Este diagrama describe los componentes que gestionan las notificaciones, esenciales para mantener a los usuarios informados sobre los próximos eventos y recordatorios importantes.
En esta sección se presenta el diseño de software orientado a objetos para DogiMax. Se incluyen diagramas de clases y un diccionario de clases que detallan la estructura y los atributos de las principales entidades del sistema, ofreciendo una visión clara de cómo se organizan y gestionan los componentes clave dentro de la plataforma.
El diagrama de clases proporciona una representación visual de las clases del sistema, sus atributos y las relaciones entre ellas.
| Clase | Nº | Nombre de atributo | Descripción | Tipo de dato |
|---|---|---|---|---|
| Usuario | 1 | id | Identificador único del usuario. | INT |
| Usuario | 2 | nombre | Nombre completo del usuario. | VARCHAR |
| Usuario | 3 | correo | Correo electrónico de contacto. | VARCHAR |
| Mascota | 1 | id | Identificador único de la mascota. | INT |
| Mascota | 2 | usuarioId | Referencia al usuario propietario. | INT |
| Mascota | 3 | nombre | Nombre de la mascota. | VARCHAR |
| Mascota | 4 | raza | Raza de la mascota. | VARCHAR |
| Mascota | 5 | edad | Edad de la mascota. | INT |
| Mascota | 6 | fotoUrl | URL de la foto de la mascota. | TEXT |
| HistorialMedico | 1 | id | Identificador único del evento médico. | INT |
| HistorialMedico | 2 | mascotaId | Referencia a la mascota. | INT |
| HistorialMedico | 3 | fecha | Fecha del evento médico. | DATE |
| HistorialMedico | 4 | tipo | Tipo de evento médico. | VARCHAR |
| HistorialMedico | 5 | descripcion | Detalles del evento médico. | TEXT |
| Recomendacion | 1 | id | Identificador único de la recomendación. | INT |
| Recomendacion | 2 | mascotaId | Referencia a la mascota. | INT |
| Recomendacion | 3 | tipo | Categoría de la recomendación. | VARCHAR |
| Recomendacion | 4 | contenido | Detalles de la recomendación. | TEXT |
| Cita | 1 | id | Identificador único de la cita. | INT |
| Cita | 2 | mascotaId | Referencia a la mascota. | INT |
| Cita | 3 | fechaHora | Fecha y hora programada de la cita. | DATETIME |
| Cita | 4 | veterinarioId | Referencia al veterinario asignado. | INT |
| Cita | 5 | estado | Estado actual de la cita. | VARCHAR |
| Veterinario | 1 | id | Identificador único del veterinario. | INT |
| Veterinario | 2 | nombre | Nombre completo del veterinario. | VARCHAR |
| Veterinario | 3 | especialidad | Área de especialización. | VARCHAR |
| Disponibilidad | 1 | id | Identificador único del bloque de disponibilidad. | INT |
| Disponibilidad | 2 | veterinarioId | Referencia al veterinario. | INT |
| Disponibilidad | 3 | fecha | Fecha disponible. | DATE |
| Disponibilidad | 4 | horaInicio | Hora de inicio del bloque. | TIME |
| Disponibilidad | 5 | horaFin | Hora de fin del bloque. | TIME |
| PreferenciasUsuario | 1 | usuarioId | Referencia al usuario (clave primaria). | INT |
| PreferenciasUsuario | 2 | canalPreferido | Canal preferido de notificación. | VARCHAR |
| PreferenciasUsuario | 3 | horarioPreferido | Horario preferido para recibir notificaciones. | TIME |
| Notificacion | 1 | id | Identificador único de la notificación. | INT |
| Notificacion | 2 | usuarioId | Referencia al usuario destinatario. | INT |
| Notificacion | 3 | tipo | Tipo de notificación. | VARCHAR |
| Notificacion | 4 | mensaje | Contenido del mensaje. | TEXT |
| Notificacion | 5 | fechaEnvio | Fecha y hora de envío. | DATETIME |
| Notificacion | 6 | canal | Canal de entrega utilizado. | VARCHAR |
| Recordatorio | 1 | id | Identificador único del recordatorio. | INT |
| Recordatorio | 2 | eventoRelacionado | Evento vinculado al recordatorio. | VARCHAR |
| Recordatorio | 3 | fechaProgramada | Fecha y hora programada para el recordatorio. | DATETIME |
Esta sección presenta la estructura lógica del sistema DogiMax desde el punto de vista del almacenamiento y organización de los datos. Se describen las entidades principales del sistema, sus atributos, tipos de datos y las relaciones entre ellas. El modelo de base de datos ha sido diseñado para garantizar integridad, consistencia y eficiencia en el acceso a la información.
El diagrama de base de datos ilustra gráficamente cómo se relacionan las tablas dentro del sistema DogiMax, incluyendo sus claves primarias, claves foráneas y los tipos de relaciones existentes. Este modelo permite garantizar la integridad referencial, la consistencia de los datos y la eficiencia en las operaciones de consulta y actualización.
En esta sección se detallan todas las herramientas de software utilizadas para el desarrollo del proyecto DogiMax, organizadas por categorías según su propósito en el proyecto.
| Producto | Propósito en el proyecto | Categoría | Ruta De descarga/acceso | Descripción |
|---|
| OpenJDK | Compilación de aplicaciones Java. | Software Development | https://openjdk.java.net/ | Implementación de código abierto del JDK (Java Development Kit), esencial para ejecutar y compilar aplicaciones Java en el backend. | | Maven | Automatización de compilación y gestión de proyectos Java. | Software Development | https://maven.apache.org/ | Herramienta de automatización de compilación y gestión de proyectos Java, ampliamente utilizada con Spring Boot para gestionar dependencias y builds. | | Spring Boot | Creación simplificada de aplicaciones backend y servicios REST. | Software Development | https://spring.io/projects/spring-boot | Framework que simplifica la creación de aplicaciones backend con Java, permitiendo levantar servicios REST de forma rápida y eficiente con arquitectura DDD. | | Spring Data JPA | Persistencia de datos y acceso a base de datos. | Software Development | https://spring.io/projects/spring-data-jpa | Framework que facilita la implementación de repositorios y acceso a datos mediante JPA, simplificando las operaciones con MySQL. | | Spring Security | Seguridad y autenticación en aplicaciones web. | Software Development | https://spring.io/projects/spring-security | Framework de seguridad que proporciona autenticación y autorización, incluyendo soporte para JWT en el backend. | | MySQL 8.0 | Almacenamiento y administración de información para backend. | Software Development | https://dev.mysql.com/downloads/ | Sistema gestor de bases de datos relacional ampliamente usado para almacenar y administrar la información estructurada de aplicaciones backend. | | Angular | Desarrollo de aplicaciones web frontend. | Software Development | https://angular.io/ | Framework de desarrollo frontend basado en TypeScript, utilizado para crear la aplicación web con arquitectura de componentes y módulos. | | Angular CLI | Gestión del ciclo de vida de aplicaciones Angular. | Software Development | https://angular.io/cli | Interfaz de línea de comandos que permite generar componentes, servicios y manejar el ciclo de vida de una aplicación Angular. | | TypeScript | Desarrollo tipado para aplicaciones web. | Software Development | https://www.typescriptlang.org/ | Lenguaje de programación que extiende JavaScript con tipado estático, utilizado en el desarrollo frontend con Angular. | | Node.js | Entorno de ejecución para herramientas de desarrollo frontend. | Software Development | https://nodejs.org/ | Entorno de ejecución de JavaScript que permite ejecutar herramientas como Angular CLI, npm y otras utilidades de desarrollo. | | Visual Studio Code | Desarrollo web moderno (e.g., con Angular, TypeScript). | Software Development | https://code.visualstudio.com/ | IDE especializado en desarrollo web moderno, con soporte completo para Angular, TypeScript y otras tecnologías frontend y backend. | | HTML5 | Estructura y organización del contenido de páginas web. | Software Development | https://developer.mozilla.org/es/docs/Web/HTML | Lenguaje de marcado estándar empleado para organizar y estructurar el contenido de las páginas web, siendo compatible con todos los navegadores modernos. | | CSS3 | Estilos y diseño visual de páginas web. | Software Development | https://developer.mozilla.org/es/docs/Web/CSS | Lenguaje de hojas de estilo que establece la apariencia visual de las páginas web, permitiendo gestionar el diseño, los colores y las tipografías. | | JavaScript | Interactividad y lógica en páginas web. | Software Development | https://developer.mozilla.org/es/docs/Web/JavaScript | Lenguaje de programación dinámico que incorpora interactividad y lógica a las páginas web, compatible con frameworks como Angular. | | Postman | Prueba y documentación interactiva de APIs. | Software Development | https://www.postman.com/ | Plataforma para probar y documentar APIs de forma interactiva, ideal para validar endpoints desarrollados con Spring Boot. | | OpenAPI (Swagger) | Documentación interactiva de APIs REST. | Software Development | https://swagger.io/ | Herramienta para documentar APIs REST de forma estándar, generando documentación interactiva accesible mediante Swagger UI. | | Git | Control de versiones distribuido. | Software Development | https://git-scm.com/ | Sistema de control de versiones distribuido que facilita la gestión de cambios en el código, el trabajo colaborativo en equipo y el mantenimiento de un historial completo de los proyectos de software. | | GitHub | Alojamiento de repositorios y colaboración. | Software Development | https://github.com/ | Plataforma destinada a alojar repositorios, fomentar la colaboración y revisar las contribuciones realizadas por el equipo. | | Netlify | Despliegue y hosting de aplicaciones web frontend. | Software Development | https://www.netlify.com/ | Plataforma de hosting y despliegue continuo para aplicaciones web estáticas y dinámicas, utilizada para desplegar la aplicación Angular. | | GitHub Pages | Hosting estático para landing page. | Software Development | https://pages.github.com/ | Servicio de hosting estático que permite publicar sitios web directamente desde un repositorio de GitHub, utilizado para la landing page. | | Figma | Diseño UX/UI y creación de wireframes. | Product UX/UI Design | https://www.figma.com/ | Utilizamos la plataforma Figma para elaborar nuestros diseños, enfocándonos principalmente en la creación de wireframes y wireflows. | | UXPressia | Visualización de la experiencia del usuario. | Product UX/UI Design | https://uxpressia.com/ | Herramienta enfocada en la creación de journey maps y perfiles de usuario, útil para visualizar la experiencia del usuario en el sistema. Esta herramienta fue empleada para elaborar el Impact Mapping, el Empathy Mapping y el User Journey Mapping. | | Lucidchart | Planificación visual de software mediante diagramas. | Product UX/UI Design | https://www.lucidchart.com/ | Plataforma para crear diagramas de procesos, flujos y arquitecturas de sistema, facilitando la planificación visual del software. | | WhatsApp | Comunicación y coordinación del equipo. | Gestión del Proyecto | https://www.whatsapp.com/ | Usamos WhatsApp como nuestro principal canal para comunicarnos, la coordinación de tareas, los tiempos de entrega, las nuevas ideas y brindar soporte a otros miembros que tengan dificultades. | | Discord | Reuniones y comunicación del equipo. | Gestión del Proyecto | https://discord.com/ | Usamos Discord para realizar reuniones sobre el proyecto, en los cuales dividimos las secciones a trabajar y revisamos el flujo de trabajo de cada miembro. |
Para administrar y organizar las modificaciones del proyecto, se estableció un repositorio en GitHub que funcionó como núcleo central del desarrollo.
Organizaciones:
-
Repositorio de GitHub: LINK Repositorio
-
Landing Page: LINK Landing Page
Ramas principales:
Main : Aloja la versión estable del proyecto, preparada para su despliegue en producción.
feature:Ramas temporales creadas a partir de develop, destinadas a implementar nueva informacion al documento.
Develop: Es la rama principal de desarrollo en la que se integran y validan nuevas funcionalidades antes de ser llevadas a producción.
El mantenimiento de un estilo de código estandarizado y una arquitectura bien definida es esencial para la escalabilidad, mantenibilidad y colaboración efectiva en proyectos de desarrollo de software. En el proyecto DogiMax, se han adoptado prácticas de codificación y convenciones estructurales que aseguran calidad técnica, legibilidad y coherencia en todos los módulos del sistema, tanto del frontend como del backend, siguiendo lineamientos basados en estándares de la industria y metodologías modernas.
Arquitectura y organización del sistema
Desde el punto de vista arquitectónico, se emplea una arquitectura basada en Domain-Driven Design (DDD), la cual permite organizar el sistema en bounded contexts claramente definidos. Este enfoque facilita la comprensión y comunicación entre desarrolladores, diseñadores, testers y stakeholders no técnicos. El sistema está organizado por bounded contexts, adoptando principios de DDD y Clean Architecture, permitiendo una separación clara entre las capas de presentación, aplicación, dominio e infraestructura. Esta separación fomenta la independencia entre módulos, facilita las pruebas automatizadas y reduce el acoplamiento entre componentes.
Backend: Java + Spring Boot
En el backend, se utilizan las convenciones estándar de Java y Spring Boot. Las clases y enumeraciones siguen la convención PascalCase (como MascotaService, TipoCita), los métodos y variables usan camelCase (crearMascota, listaMascotas), y las constantes se definen con UPPER_SNAKE_CASE (MAX_TIMEOUT, DEFAULT_LANGUAGE). La organización de los paquetes se realiza por funcionalidad y bounded context (por ejemplo: controller, service, repository, domain, infrastructure), lo que permite una estructura coherente, alineada con el dominio del negocio. Además, se aplican principios SOLID, se promueve la inyección de dependencias mediante constructor y se emplean anotaciones estándar de Spring para configuración, seguridad y persistencia con JPA.
Frontend: Angular
En el frontend, se utiliza Angular como framework principal. La arquitectura está basada en módulos y componentes reutilizables, con una estructura generada por el Angular CLI (ng generate component, ng generate module, etc.). Las clases utilizan PascalCase (MascotaDetailComponent) y los archivos se nombran en kebab-case (mascota-detail.component.ts). Se aplican prácticas recomendadas como:
-
Detección de cambios con OnPush para optimizar el rendimiento.
-
Separación entre lógica y presentación mediante servicios y componentes.
-
Programación reactiva con RxJS para manejo de datos asíncronos.
-
Inyección de dependencias vía constructor.
-
Lazy loading de módulos para optimizar la carga inicial de la aplicación.
Estructura y Formato del Código
DOCTYPE y Estructura HTML: El código inicia con <!DOCTYPE html> y sigue una estructura básica de HTML5 con las etiquetas <html>, <head> y <body>, lo cual es una práctica estándar.
Meta Etiquetas: La sección <head> incluye diversas metaetiquetas esenciales para la configuración del documento, SEO y presentación en redes sociales (Open Graph, Twitter Card), alineadas con los objetivos de implementación de meta etiquetas del proyecto.
Enlaces a Recursos Externos: Los archivos CSS externos y las fuentes de Google Fonts se enlazan en la sección <head>, mientras que los archivos JavaScript se enlazan al final del <body>. Esta organización es común para gestionar dependencias y optimizar el tiempo de carga.
HTML5 Semántico: Se utilizan elementos semánticos de HTML5 como <header>, <nav>, <main>, <section>, <article>, <aside>, y <footer>, lo que mejora la estructura y la accesibilidad de la página.
Indentación: El código presenta una indentación consistente (2 espacios), lo cual facilita su lectura y comprensión.
Convenciones de Nomenclatura (Inglés)
Nombres de Archivo: Los nombres de los archivos CSS y JS enlazados están en inglés y utilizan minúsculas con guiones (kebab-case), una convención recomendada en desarrollo web.
Nombres de Clases CSS: Los nombres de las clases CSS son descriptivos y están en inglés, utilizando kebab-case para mantener consistencia.
IDs: Los IDs también están en inglés y siguen convenciones de formato kebab-case.
Atributos alt de Imágenes: Los atributos alt para las imágenes proporcionan texto descriptivo en inglés, lo cual es crucial para la accesibilidad, un aspecto importante del proyecto junto con los atributos ARIA.
Alineación con Guías de Estilo Estándar
La estructura y la nomenclatura observadas en el código siguen prácticas establecidas para mejorar la mantenibilidad y la colaboración en proyectos de desarrollo. La aplicación del inglés para la nomenclatura es una implementación directa de la convención definida, facilitando la colaboración internacional y el mantenimiento del código.
JavaScript moderno
En los módulos JavaScript, se aplica el estándar ECMAScript 6+ utilizando const y let, funciones flecha (() => {}), desestructuración, promesas, módulos import/export y métodos de arrays como map, filter y reduce. Se evita el uso de código imperativo y se promueve la inmutabilidad y la programación funcional.
TypeScript en Angular
Para el desarrollo frontend con Angular, se utiliza TypeScript como lenguaje principal. Se aplican las siguientes convenciones:
-
Interfaces y tipos con PascalCase (Mascota, Cita).
-
Variables y funciones con camelCase (mascotaId, obtenerMascotas).
-
Constantes con UPPER_SNAKE_CASE (API_BASE_URL).
-
Tipado estricto para mejorar la seguridad de tipos y detectar errores en tiempo de compilación.
Control de versiones y colaboración
Para la gestión de versiones se implementa GitFlow, con ramas específicas para desarrollo (develop), producción (main), nuevas funcionalidades (feature/), correcciones (fix/) y lanzamientos (release/). Esto permite flujos de trabajo paralelos sin comprometer la estabilidad. Se emplea también Conventional Commits, una convención que estandariza los mensajes de commit y facilita la generación automática de changelogs. Los mensajes siguen la sintaxis: tipo(scope): descripción, por ejemplo, feat(mascotas): add CRUD endpoints o fix(citas): correct date validation.
El despliegue del proyecto DogiMax se realiza mediante diferentes plataformas según el tipo de aplicación, garantizando disponibilidad, escalabilidad y facilidad de mantenimiento. A continuación se detalla el proceso de configuración y despliegue para cada componente del sistema.
Despliegue de la Landing Page (GitHub Pages)
Para la landing page desarrollada durante el Sprint 1, se utilizó GitHub Pages como plataforma de hosting estático. El proceso de despliegue se realiza directamente desde el repositorio de GitHub, donde se configura la rama principal (main) como fuente para el sitio web. GitHub Pages permite publicar sitios web estáticos directamente desde un repositorio de GitHub, facilitando el despliegue continuo y la actualización automática cuando se realizan cambios en la rama configurada.
Configuración del despliegue en GitHub Pages:
-
Acceso a la configuración del repositorio en GitHub.
-
Navegación a la sección "Pages" en el menú de configuración.
-
Selección de la rama fuente (main) y directorio raíz (/) para el despliegue.
-
Activación del despliegue automático, que genera una URL pública accesible.
La landing page queda disponible en: https://reignite-dogimax.github.io/landing/
Despliegue de la Aplicación Web Frontend (Netlify)
Para la aplicación web desarrollada con Angular durante el Sprint 2, se utilizó Netlify como plataforma de hosting y despliegue continuo. Netlify permite desplegar aplicaciones web estáticas y dinámicas con facilidad, ofreciendo integración directa con GitHub para despliegues automáticos.
Configuración del despliegue en Netlify:
-
Importación del repositorio: Se conecta el repositorio de GitHub con Netlify, seleccionando el repositorio correspondiente a la aplicación web.
-
Configuración del build: Se especifican los comandos de construcción:
-
Build command:
npm run buildong build --configuration production -
Publish directory:
dist/dogimax-app(directorio de salida de Angular)
-
-
Variables de entorno: Se configuran las variables de entorno necesarias para la aplicación, como URLs de API y configuraciones específicas del entorno.
-
Despliegue automático: Netlify detecta automáticamente los cambios en la rama principal (main) o develop, ejecutando el proceso de build y despliegue.
-
Dominio personalizado (opcional): Se puede configurar un dominio personalizado vinculado al proyecto.
La aplicación web queda disponible en: https://dogimax.netlify.app/
Despliegue del Backend/Web Service (Spring Boot)
Para el backend desarrollado con Spring Boot durante el Sprint 3, se preparó la configuración para despliegue en un servidor de aplicaciones compatible con Spring Boot. El backend está configurado para ejecutarse en un entorno de producción con las siguientes características:
Configuración del despliegue del backend:
-
Perfiles de aplicación: Se configuran diferentes perfiles (development, production) mediante
application.propertiesyapplication.yml, permitiendo diferentes configuraciones según el entorno. -
Base de datos MySQL: Se configura la conexión a MySQL 8.0 con credenciales y configuración específica para el entorno de producción.
-
Variables de entorno: Se establecen variables de entorno para configuración sensible como:
-
Credenciales de base de datos
-
Claves JWT
-
URLs de servicios externos
-
-
Build y empaquetado: El proyecto se compila utilizando Maven, generando un archivo JAR ejecutable que contiene todas las dependencias necesarias.
-
Despliegue en servidor: El JAR se despliega en un servidor de aplicaciones compatible con Spring Boot, configurando el puerto, contexto de aplicación y otras opciones según las necesidades del entorno.
Proceso de despliegue continuo:
-
Integración con GitHub: Los cambios en la rama develop o main pueden activar automáticamente el proceso de build y despliegue.
-
Build logs: Se registran los logs del proceso de compilación, incluyendo la instalación de dependencias, compilación del código y empaquetado.
-
Deployment summary: Se muestra un resumen del despliegue con resultados de compilación, tiempos de ejecución y estado final.
-
Cache de build: Se utiliza cache para acelerar compilaciones futuras, almacenando dependencias y artefactos compilados.
Evidencia del proceso de despliegue:
A continuación se presentan las capturas de pantalla que ilustran el proceso de configuración y despliegue:
- Ilustración GitHub Software Deployment Configuration 1
- Ilustración GitHub Software Deployment Configuration 2
- Ilustración GitHub Software Deployment Configuration 3
- Ilustración GitHub Software Deployment Configuration 4
- Ilustración GitHub Software Deployment Configuration 5
Esta sección documenta la implementación de la landing page, servicios y aplicaciones del proyecto DogiMax, una plataforma integral para la gestión del cuidado de perros. El trabajo abarcó desde la estructura y el diseño visual hasta funcionalidades esenciales como la responsividad, gestión de mascotas, agendamiento de citas y la implementación del backend con arquitectura Domain-Driven Design. A continuación, se detallan la planificación, el backlog ejecutado, la evidencia de desarrollo y los aspectos de colaboración de cada sprint.
La implementación de la landing page de la plataforma DogiMax, estableciendo la presencia inicial y los puntos de contacto clave para los usuarios. El trabajo abarcó desde la estructura y el diseño visual hasta funcionalidades esenciales como la responsividad, internacionalización y accesibilidad. A continuación, se detallan la planificación, el backlog ejecutado, la evidencia de desarrollo y los aspectos de colaboración.
Esta sección documenta la planificación inicial del primer sprint del proyecto DogiMax. Durante esta fase, el equipo estableció los objetivos, alcance y metodología de trabajo para el desarrollo de la landing page, que serviría como punto de entrada principal para los usuarios de la plataforma. La planificación incluyó la definición del stack tecnológico, la asignación de roles y la estimación de historias de usuario relacionadas con la creación de la página de aterrizaje.
| Sprint # | Sprint 1 |
|---|---|
| Sprint Planning Background | |
| Date | 9 septiembre - 18 septiembre del 2025 |
| Time | 20:00 PM |
| Location | Remoto |
| Prepared By | Bryan Martinez |
| Attendees (to planning meeting) | Joseph Chavez, Brayan Ccarita |
| Sprint n – 1 Retrospective Summary | No hay trabajo previo para realizar una retrospección |
| Tech Stack | HTML5,CSS,figma,JavaScript |
| Sprint Goal & User Stories | |
| Sprint Goal | Para el sprint 1 el objetivo principal es lograr desarrollar y desplegar la landing page, debe ser una página funcional que permita el acceso a cualquier persona |
| Sprint 1 Velocity | 22 |
| Sum of Story Points | 19 |
Esta sección presenta la distribución de roles y responsabilidades del equipo durante el Sprint 1, identificando a los líderes (L) y colaboradores (C) en diferentes aspectos del desarrollo de la landing page. La asignación de roles se basó en las habilidades y experiencia de cada miembro, asegurando una distribución equitativa del trabajo y un liderazgo efectivo en áreas clave como coordinación del equipo, comunicación, resolución de problemas, apoyo mutuo y mejora continua.
| Team Member (Berrospi Marin, Angel Guillermo) | GitHub Username | Aspect Team Coordination and Organization Leader (L) / Collaborator | Aspect Effective Communication Leader (L) / Collaborator (C) | Aspect Problem-Solving and Decision-Making Leader (L) / Collaboration (C) | Aspect Mutual Support and Knowledge Sharing Leader (L) / Collaboration (C) | Aspect Monitoring and Continuous Improvement Leader (L) / Collaboration (C) |
|---|---|---|---|---|---|---|
| Brayan Roberto Ccarita Cruz | hallzyx | C | L | C | C | L |
| Joseph Manuel Chavez | u202314019-MrOsoPanda | C | C | C | L | C |
| Martinez Ramos Bryan | BryanMR1 | C | C | C | C | C |
| Juan Saldaña | jndesouza | C | C | C | C | C |
| Dueñas Canales Leonardo Manuel | Insonnio | L | C | C | C | C |
Esta sección contiene el backlog del Sprint 1, que incluye todas las historias de usuario planificadas para el desarrollo de la landing page. Cada historia de usuario representa una funcionalidad o característica que debe ser implementada, con su estado de completitud, asignación a miembros del equipo, y estimación de horas tanto estimadas como reales. El backlog refleja el trabajo realizado en la creación de la página de aterrizaje, incluyendo funcionalidades de registro, inicio de sesión, configuración de perfil y secciones de ayuda.
| ID Historia de Usuario | Descripción de Tarea | Estado | Asignado a | Horas Estimadas | Horas Reales |
|---|---|---|---|---|---|
| US-01 | Como usuario, quiero registrarme en la plataforma para comenzar a usarla | Completado | Brayan Ccarita | 3 | 2.5 |
| US-02 | Como usuario, quiero iniciar sesión en mi cuenta para acceder a las funcionalidades de la plataforma | Completado | Joseph Chavez | 3 | 2 |
| US-03 | Como usuario, quiero configurar mi perfil personal para que la plataforma personalice las recomendaciones para mi perro.. | Completado | Brayan Ccarita | 4 | 5 |
| US-12 | Como usuario, quiero acceder a una sección de preguntas frecuentes para resolver dudas comunes. | Completado | Joseph Chavez | 2 | 3 |
| US-13 | Como usuario, quiero poder editar la información de mi perfil para mantener actualizados los datos de mi perro. | Completado | Bryan Martinez | 2 | 3 |
| US-14 | Como usuario, quiero poder cambiar mi contraseña para asegurar la seguridad de mi cuenta. | Completado | Juan saldaña | 3 | 2 |
| US-20 | Como usuario, quiero acceder a una sección de ayuda y preguntas frecuentes para resolver mis dudas sin necesidad de contactar al soporte. | Completado | Dueñas Leonardo | 5 | 4 |
Esta sección documenta la evidencia del desarrollo realizado durante el Sprint 1, mostrando los commits realizados en el repositorio de GitHub. Cada commit representa un cambio específico en el código o documentación, proporcionando trazabilidad del trabajo realizado. La evidencia incluye commits relacionados con la implementación de la landing page, documentación de servicios, configuración de despliegue y análisis de entrevistas, demostrando el progreso continuo del proyecto.
| Repository | Branch | Commit ID | Commit mensaje | Commit Body | Commit on Date |
|---|---|---|---|---|---|
| reignite-dogimax/report | feature/LandingPage-Services-Applications-Implementation | 8141205 | docs: add Services Documentation and Software Deployment section | - | 18/09/2025 |
| reignite-dogimax/report | feature/LandingPage-Services-Applications-Implementation | c8e6f2b | feat: add design interview | - | c8e6f2b |
| reignite-dogimax/report | feature/LandingPage-Services-Applications-Implementation | bbfb6e6 | docs: add Aspect Leaders and Collaborators section | - | 18/09/2025 |
| reignite-dogimax/report | feature/chapter-two-2.2.1 | c8e6f2b | feat: add design interview. | - | 15/09/2025 |
| reignite-dogimax/report | feature/chapter-two-2.2.2 | 21cf7e9 | Add interview analysis for dog lovers segment | - | 15/09/2025 |
| reignite-dogimax/report | feature/chapter-two-and-three | 1df385e | add competitive analysis | - | 15/09/2025 |
| reignite-dogimax/report | feature/chapter-two-and-three | 05dcad3 | Update header for Competitive Analysis Landscape section | - | 15/09/2025 |
| reignite-dogimax/report | feature/software/configuration-management | 902bf5a | docs: add Software Deployment Configuration section | - | 18/09/2025 |
| reignite-dogimax/report | feature/software/configuration-management | 48c8220 | docs: add Source Code Style Guide & Conventions secction | - | 17/09/2025 |
Durante el Sprint 1 del proyecto DogiMax se logró implementar la estructura base de la landing page, enfocándose en una experiencia accesible, responsiva e informativa. El equipo desarrolló y conectó los principales puntos de navegación mediante un header funcional con enlaces activos y un footer informativo con accesos a secciones clave.
También se integró exitosamente la funcionalidad de cambio de idioma, permitiendo al usuario seleccionar su idioma preferido y conservar esta configuración durante su navegación. Se garantizaron criterios de accesibilidad a través de etiquetas ARIA, descripciones en imágenes y navegación por teclado.
Además, se diseñaron y habilitaron secciones como Propuesta de Valor, Información de la Empresa, Preguntas Frecuentes (FAQ), Equipo y enlaces a redes sociales, incluyendo soporte visual responsivo para dispositivos móviles.
A continuación, se presentan capturas de las vistas más relevantes implementadas en este Sprint.
Durante el sprint 1, el equipo logró completar satisfactoriamente todas las tareas planificadas, con un enfoque principal en la construcción de la landing page. Durante el desarrollo se identificaron y corrigieron diversos errores en el código, lo que permitió optimizar los resultados obtenidos.
En el contexto del desarrollo web, una página de aterrizaje cumple un rol esencial al convertir visitantes en clientes al guiarlos hacia una acción concreta, como realizar una compra, registrarse o descargar un recurso. A diferencia de un sitio web general, concentra todo su contenido en un solo objetivo, reduciendo distracciones y mejorando la experiencia del usuario.
Esta sección documenta el proceso de despliegue de la landing page desarrollada durante el Sprint 1. El despliegue se realizó utilizando GitHub Pages, una plataforma de hosting estático que permite publicar sitios web directamente desde un repositorio de GitHub. Esta sección incluye la URL de despliegue y confirma que la landing page fue publicada exitosamente y está accesible para usuarios finales, cumpliendo con el objetivo principal del sprint.
El entregable desarrollado durante el sprint 1 fue desplegado en un entorno accesible mediante GitHub Pages. La landing page quedó publicada correctamente y se encuentra disponible para su revisión y validación
- URL de despliegue: Landing_Page
Durante el Sprint 1 del proyecto DogiMax, las actividades de implementación se organizaron en torno al desarrollo de la landing page. Cada uno de los miembros del equipo participó activamente en el desarrollo de los entregables asignados, garantizando una distribución equilibrada del esfuerzo técnico.
La implementación se llevó a cabo mediante la creación e integración de diversos componentes y estilos. Inicialmente, se abordó la estructura visual y la responsiveness del sitio a través de la implementación de Cascading Style Sheets (CSS) para distintas secciones clave. Esto aseguró una presentación adecuada en diferentes dispositivos.
Posteriormente, se procedió a la incorporación de contenido esencial, estableciendo la estructura básica y la forma en que se mostraría la información. Para mejorar la experiencia visual, se integraron diversos elementos gráficos e imágenes representativas.
La colaboración se gestionó mediante GitHub, empleando ramas por feature, commits convencionales y pull requests. A continuación, se detalla el enfoque de participación por producto:
A continuación se presentan los aportes y evidencias del trabajo grupal de los miembros.
- LandingPage:
- READ.ME
Continuando con el desarrollo del proyecto DogiMax, el Sprint 2 se enfocó en expandir las funcionalidades de la aplicación web, introduciendo la estructura de navegación interna, las herramientas de gestión de mascotas y el agendamiento de citas médicas. Este ciclo iterativo avanzó sobre las bases sentadas en el sprint anterior, comenzando a dar forma a la experiencia interactiva del usuario dentro de la plataforma. A continuación, se detallan los componentes de este sprint.
Esta sección documenta la planificación del segundo sprint del proyecto DogiMax, enfocado en el desarrollo de la primera versión funcional de la aplicación web. Durante esta fase, el equipo estableció los objetivos para implementar las funcionalidades básicas de gestión de mascotas y citas médicas, utilizando Angular como framework frontend y una API mock para la integración de datos. La planificación incluyó la definición del alcance, la asignación de tareas y la estimación de esfuerzo para cada funcionalidad.
| Sprint # | Sprint 2 |
|---|---|
| Sprint Planning Background | |
| Date | 2025-09-22 |
| Time | 08:00 PM |
| Location | Remoto |
| Prepared By | Joseph Manuel Chavez Viera |
| Attendees (to planning meeting) | Brayan Roberto Ccarita Cruz, Juan David Saldaña De Souza, Dueñas Canales Leonardo Manuel |
| Sprint n – 1 Retrospective Summary | No hay trabajo previo para realizar una retrospección |
| Tech Stack | HTML5,CSS,figma,JavaScript |
| Sprint Goal & User Stories | |
| Sprint 2 Goal | Nuestro enfoque es entregar la primera versión funcional de la aplicación web de DogiMax. El objetivo es implementar las funcionalidades básicas de gestión de mascotas y citas, permitiendo a los usuarios registrar a sus perros, agendar citas médicas y consultar el historial de salud. Creemos que esto proporcionará un Producto Mínimo Viable (MVP) que entregue valor real a nuestros usuarios iniciales. Esto se confirmará cuando los usuarios puedan crear, ver y gestionar perfiles de mascotas y citas médicas en la aplicación desplegada. |
| Sprint 2 Velocity | 20 |
| Sum of Story Points | 19 |
Esta sección presenta la distribución de roles y responsabilidades del equipo durante el Sprint 2, identificando a los líderes y colaboradores en diferentes módulos del desarrollo frontend. La asignación de roles se basó en las áreas de especialización de cada miembro, cubriendo aspectos como la gestión de citas y actividades, módulos de salud y recomendaciones, desarrollo de API backend (mock) y despliegue de la aplicación web. Esta organización permitió un trabajo paralelo eficiente y una distribución equitativa de responsabilidades.
| Team Member (Berrospi Marin, Angel Guillermo) | GitHub Username | Appointment and Activity Management (Frontend) Leader (L) / Collaborator (C) | Health and Recommendation Module (Frontend) Leader (L) / Collaborator (C) | API Backend Development Leader (L) / Collaborator (C) | Web Application Deployment Leader (L) / Collaborator (C) |
|---|---|---|---|---|---|
| Brayan Roberto Ccarita Cruz | hallzyx | C | C | C | L |
| Joseph Manuel Chavez | u202314019-MrOsoPanda | C | L | C | C |
| Juan Saldaña | jndesouza | C | C | L | C |
| Dueñas Canales Leonardo Manuel | Insonnio | L | C | C | C |
Esta sección contiene el backlog del Sprint 2, que incluye todas las historias de usuario y tareas planificadas para el desarrollo de la aplicación web frontend. El backlog cubre funcionalidades clave como la gestión de perfiles de mascotas, el agendamiento de citas médicas, el dashboard principal, la recepción de notificaciones, la integración con API mock y la navegación del sistema. Cada tarea incluye su descripción, estimación de horas, asignación a miembros del equipo y estado de completitud.
| Sprint # | User Story | Work-Item/TaskId | Title Id | Title Description | Estimation (Hours) | Assigned To | Status |
|---|---|---|---|---|---|---|---|
| US-04 | Pet Profile Management | UT-01 | Develop the view (MascotasListView) to display the list of registered pet profiles. | 4 | Dueñas Canales, L. | Done | |
| US-04 | Pet Profile Management | UT-02 | Implement the unified form (MascotaFormComponent) to create and edit pet profiles. | 6 | Dueñas Canales, L. | Done | |
| US-04 | Pet Profile Management | UT-03 | Implement the detail view (MascotaDetailView) to consult a specific pet's information and history. | 5 | Chavez Viera, J. | Done | |
| US-08 | Medical Appointment Scheduling | UT-04 | Develop the view (CitasListView) to consult scheduled appointments and history. | 4 | Chavez Viera, J. | Done | |
| US-08 | Medical Appointment Scheduling | UT-05 | Implement the form (CitaFormComponent) to schedule new medical appointments (date, time, reason). | 5 | Chavez Viera, J. | Done | |
| US-10 | View Main Dashboard | UT-06 | Create the HomeComponent with a summary of pets and upcoming appointments. | 4 | Dueñas Canales, L. | Done | |
| US-07 | Notification Reception | UT-07 | Implement the view (NotificacionesListView) to display important alerts (vaccines, appointments). | 3 | Ccarita Cruz, B. | Done | |
| US-07 | Notification Reception | UT-08 | Implement the configuration view (NotificacionesConfigView) to manage user preferences. | 2 | Ccarita Cruz, B. | Done | |
| US-30 | Data Integration (API Mock) | UT-09 | Document and create the mock endpoints (JSON) for Pet and Appointment operations. | 6 | Saldaña De Souza, J. | Done | |
| US-31 | Fluid System Navigation | UT-10 | Implement all navigation routes, lazy-loading, and the Navigation Guard. | 2 | Saldaña De Souza, J. | Done |
En este segundo Sprint, hemos realizado la implementación de nuestra aplicación web. Todo el trabajo fue gestionado a través de nuestro repositorio en GitHub, utilizando un flujo de trabajo basado en ramas de funcionalidad (feature branches) que luego se integraron a la rama develop mediante Pull Requests. Esto aseguró la revisión y validación del código antes de su integración.
En el Sprint 2 hemos logrado implementar y visualizar las siguientes funcionalidades clave en la aplicación web de DogiMax:
-
Navegación interna completa mediante el sidebar responsivo, toolbar fijo y enrutamiento lazy-loaded.
-
Gestión de perfiles de mascotas: creación, edición, visualización de detalles e historial de salud.
-
Agendamiento de citas médicas: formulario de creación, visualización de citas programadas e historial.
-
Dashboard principal con resumen de mascotas y próximas citas.
-
Sistema de notificaciones para alertas importantes (vacunas, citas).
-
Configuración de preferencias de notificaciones del usuario.
A continuación se muestran capturas de pantalla de las vistas más representativas implementadas durante este sprint:
Durante el Sprint 2, el foco del desarrollo estuvo centrado exclusivamente en la implementación de la interfaz gráfica del sistema, particularmente en el diseño, maquetación y despliegue funcional de la aplicación web frontend. En esta etapa, no se desarrollaron aún servicios de backend ni endpoints de API RESTful, por lo cual no corresponde documentación técnica de servicios para este Sprint.
Estado actual:
-
No se han implementado controladores (controllers) ni servicios de aplicación (application services).
-
No se han definido endpoints HTTP ni documentación Swagger u OpenAPI.
-
No se han activado microservicios ni lógica de negocio en la capa backend.
-
El proyecto se encuentra en etapa de diseño visual, componentes frontend y diseño responsivo.
Justificación:
El enfoque del Sprint 2 responde a las épicas relacionadas con la gestión de mascotas, agendamiento de citas y dashboard, las cuales inicialmente no requieren integración con lógica de negocio backend. La implementación de servicios comenzó a partir del Sprint 3, con la activación del backend y el diseño de los primeros flujos funcionales del dominio siguiendo arquitectura DDD.
Próximos pasos:
A partir del Sprint 3, se documentarán:
-
Interfaces REST y contratos de servicios (MascotaService, CitaService, etc.).
-
Especificaciones OpenAPI (Swagger) para endpoints públicos y protegidos.
-
Diagrama de Componentes mostrando la relación entre servicios.
-
Integración de pruebas Postman o herramientas similares para validación.
Esta sección documenta el proceso de despliegue de la aplicación web desarrollada durante el Sprint 2. El despliegue se realizó utilizando Netlify, una plataforma de hosting moderna que permite desplegar aplicaciones web estáticas y dinámicas con facilidad. Esta sección incluye capturas de pantalla del proceso de despliegue, la configuración del entorno y la URL de la aplicación desplegada, confirmando que la aplicación fue publicada exitosamente y está accesible para usuarios finales.
URL de despliegue: https://dogimax.netlify.app/
Durante el Sprint 2, el equipo mantuvo un nivel de colaboración constante y equilibrado en todas las capas de la solución (Frontend). A continuación se describen las principales prácticas y métricas de colaboración:
Navegación y Layout de la Plataforma: Se trabajó en la estructura de navegación a través del sidebar, implementando un componente responsive. También se abordaron acciones desde la toolbar, el enrutamiento dinámico en el cuerpo principal, la visualización del enrutamiento activo, estilos para el estado activo, y la manipulación del layout en diferentes breakpoints.
Gestión de Mascotas: Se realizaron diversas tareas relacionadas con la visualización y gestión de perfiles de mascotas. Esto incluyó la creación de vistas para listar mascotas, formularios unificados para crear y editar perfiles, y vistas de detalle para consultar información específica e historial.
Agendamiento de Citas: Se implementaron funcionalidades para consultar citas programadas e historial, así como formularios para agendar nuevas citas médicas con validación de fecha, hora y motivo.
Dashboard y Notificaciones: Se creó el componente Home con resumen de mascotas y próximas citas, se implementaron vistas para mostrar alertas importantes, y se desarrolló la configuración de preferencias de notificaciones del usuario.
Integración de Datos: Se documentaron y crearon endpoints mock (JSON) para operaciones de mascotas y citas, facilitando el desarrollo frontend sin depender inicialmente del backend.
Navegación del Sistema: Se implementaron todas las rutas de navegación, lazy-loading de módulos, y Navigation Guards para proteger rutas según autenticación.
La colaboración se gestionó mediante GitHub, empleando ramas por feature, commits convencionales y pull requests. A continuación se presentan las evidencias del trabajo colaborativo:
- Frontend
Continuando con el desarrollo del proyecto DogiMax, el Sprint 3 se enfoca en reforzar los aspectos de seguridad, implementar el backend robusto y optimizar la gestión de datos mediante una arquitectura Domain-Driven Design. Este sprint avanza sobre las bases establecidas en iteraciones anteriores, priorizando la protección de datos, la arquitectura escalable y una experiencia de usuario más fluida mediante la integración del backend con el frontend.
Esta sección documenta la planificación del tercer sprint del proyecto DogiMax, enfocado en el desarrollo del backend de la aplicación utilizando Spring Boot y arquitectura Domain-Driven Design (DDD). Durante esta fase, el equipo estableció los objetivos para construir y desplegar la API RESTful que reemplazaría la API simulada del frontend, implementando bounded contexts críticos como IAM (Identity and Access Management) y Gestión de Mascotas. La planificación incluyó la definición del stack tecnológico (Java 21, Spring Boot, MySQL, JWT), la asignación de roles en los diferentes bounded contexts y la estimación de historias de usuario relacionadas con la autenticación y gestión de datos.
| Sprint # | Sprint 3 |
|---|
Sprint Planning Background|| Date|4 de noviembre del 2025| Time|20:00 PM| Location|Remoto| Prepared By|Joseph Manuel Chavez Viera| Attendees (to planning meeting)|Brayan Roberto Ccarita Cruz, Juan David Saldaña De Souza, Dueñas Canales Leonardo Manuel| Sprint n – 2 Retrospective Summary|El Sprint 2 fue exitoso, logrando desplegar la primera versión del frontend en Netlify con una API simulada (fake API). La validación con usuarios (Sprint 2.5) arrojó la necesidad urgente de un backend real para gestionar la persistencia de datos, la autenticación y la lógica de negocio, lo cual es el objetivo principal de este sprint.| Tech Stack|Java 21, Spring Boot 3.5.7, Spring Data JPA, Spring Security, MySQL 8.0, JWT, OpenAPI (Swagger), Maven| Sprint Goal & User Stories|| Sprint Goal|Construir y desplegar la API RESTful de DogiMax. El objetivo es reemplazar la API simulada del frontend con un backend robusto desarrollado en Spring Boot, implementando una arquitectura de Domain-Driven Design (DDD). Este sprint se centrará en dos Bounded Contexts críticos: Gestión de Identidad y Acceso (IAM) y Gestión de Mascotas.| Sprint Goal & User Stories|| Sprint 3 Goal|Nuestro enfoque es entregar la primera versión funcional del backend web de DogiMax. El objetivo es implementar las funcionalidades básicas de autenticación y gestión de mascotas, permitiendo a los usuarios registrarse, autenticarse mediante JWT, y gestionar los perfiles de sus mascotas mediante endpoints RESTful. Creemos que esto proporcionará una base sólida para la integración con el frontend y permitirá la persistencia real de datos. Esto se confirmará cuando los usuarios puedan autenticarse y realizar operaciones CRUD sobre sus mascotas mediante la API desplegada.| Sprint 3 Velocity|30| Sum of Story Points|30|
Esta sección presenta la distribución de roles y responsabilidades del equipo durante el Sprint 3, identificando a los líderes y colaboradores en los diferentes bounded contexts del backend. La asignación de roles se basó en las áreas de especialización y experiencia de cada miembro, cubriendo aspectos como el bounded context de IAM (autenticación y autorización), Gestión de Mascotas, Appointments, Notification, y el módulo Shared junto con el despliegue de la API. Esta organización permitió un trabajo paralelo eficiente siguiendo los principios de Domain-Driven Design y aseguró la calidad de cada bounded context.
| Team Member (Berrospi Marin, Angel Guillermo) | GitHub Username | IAM Bounded Context (L) / (C) | Gestión de Mascotas Bounded Context (L) / (C) | Appointments Bounded Context (L) / (C) | Notification Bounded Context (L) / (C) | Shared & API Deployment (L) / (C) |
|---|---|---|---|---|---|---|
| Brayan Roberto Ccarita Cruz | hallzyx | L | - | L | - | L |
| Joseph Manuel Chavez | u202314019-MrOsoPanda | C | L | - | - | C |
| Juan Saldaña | jndesouza | - | - | C | L | - |
| Dueñas Canales Leonardo Manuel | Insonnio | - | - | - | C | - |
Esta sección contiene el backlog del Sprint 3, que incluye todas las historias de usuario y tareas planificadas para el desarrollo del backend de la aplicación. El backlog cubre funcionalidades clave como la autenticación de usuarios (sign-up y sign-in con JWT), la gestión completa de mascotas (CRUD), la documentación de la API con OpenAPI/Swagger, la configuración de la base de datos MySQL, y la creación de la estructura base para los bounded contexts de Appointments y Notification. Cada tarea incluye su descripción, estimación en story points, asignación a miembros del equipo y estado de completitud.
| Sprint # | User Story | Work-Item/TaskId | Title Description | Estimation (Story Points) | Assigned To | Status |
|---|---|---|---|---|---|---|
| US-21 | Como usuario, quiero poder registrarme en la plataforma para crear una cuenta. | UT-21.1 | Implementar endpoint POST /api/v1/authentication/sign-up. | 3 | Brayan Ccarita | Done |
| UT-21.2 | Configurar Spring Security y reglas de contraseña. | |||||
| US-22 | Como usuario registrado, quiero poder iniciar sesión (sign-in) para acceder a la app. | UT-22.1 | Implementar endpoint POST /api/v1/authentication/sign-in. | 3 | Brayan Ccarita | Done |
| UT-22.2 | Generar y validar tokens JWT en el inicio de sesión exitoso. | |||||
| US-23 | Como usuario, quiero poder crear el perfil de mi mascota. | UT-23.1 | Implementar endpoint POST /api/v1/mascotas. | 4 | Joseph Chavez | Done |
| UT-23.2 | Definir el agregado Mascota en el dominio (DDD). | |||||
| US-24 | Como usuario, quiero poder ver todos los perfiles de mis mascotas. | UT-24.1 | Implementar endpoint GET /api/v1/mascotas/user/{userId}. | 3 | Joseph Chavez | Done |
| UT-24.2 | Crear servicio de query (CQRS) para obtener mascotas por usuario. | |||||
| US-25 | Como usuario, quiero poder ver el detalle de una mascota específica. | UT-25.1 | Implementar endpoint GET /api/v1/mascotas/{mascotaId}. | 2 | Joseph Chavez | Done |
| US-26 | Como usuario, quiero poder actualizar la información de mi mascota. | UT-26.1 | Implementar endpoint PUT /api/v1/mascotas/{mascotaId}. | 3 | Joseph Chavez | Done |
| US-27 | Como usuario, quiero poder eliminar el perfil de una mascota. | UT-27.1 | Implementar endpoint DELETE /api/v1/mascotas/{mascotaId}. | 2 | Joseph Chavez | Done |
| US-28 | Como desarrollador, necesito documentar la API para facilitar la integración con el frontend. | UT-28.1 | Configurar OpenAPI (Swagger) en el proyecto Spring Boot. | 2 | Brayan Ccarita | Done |
| US-29 | Como desarrollador, necesito un módulo compartido para reutilizar código y configuraciones. | UT-29.1 | Crear módulo shared con clases base y configuración de seguridad. | 3 | Joseph Chavez | Done |
| US-30 | Como desarrollador, necesito configurar la conexión a la base de datos y la persistencia. | UT-30.1 | Configurar application.properties para MySQL (local y perfiles). | 2 | Brayan Ccarita | Done |
| UT-30.2 | Implementar los Repositorios JPA en la capa de infraestructura. | |||||
| US-31 | Como desarrollador, necesito la estructura base para los próximos Sprints. | UT-31.1 | Crear la estructura de carpetas (esqueleto) para los bounded contexts Appointments y Notification (basado en la imagen de división de trabajo). | 3 | B. Ccarita, J. Saldaña | Done |
Esta sección documenta la evidencia del desarrollo realizado durante el Sprint 3, mostrando los commits realizados en el repositorio del backend. Cada commit representa un cambio específico en el código, proporcionando trazabilidad del trabajo realizado en la implementación del backend. La evidencia incluye commits relacionados con la configuración de la base de datos, la integración del módulo Shared, la implementación del bounded context de IAM, la gestión de mascotas, la estructura de appointments y notifications, y la configuración de OpenAPI/Swagger, demostrando el progreso continuo del desarrollo backend.
| Repository | Branch | Commit ID | Commit mensaje | Commit on Date |
|---|---|---|---|---|
| https://github.com/reignite-dogimax/backend-app | develop | b2f5aaf | chore: configure database connection and application properties | 24/10/2025 |
| https://github.com/reignite-dogimax/backend-app | develop | b2f5aaf | merge: Integrate Shared module (domain base, security config) | 26/10/2025 |
| https://github.com/reignite-dogimax/backend-app | develop | b2f5aaf | merge: Integrate IAM bounded context (sign-in, sign-up, jwt) | 27/10/2025 |
| https://github.com/reignite-dogimax/backend-app | feature/pet_management | 87a08a6 | feat(pets): Implement domain aggregate and POST endpoint | 28/10/2025 |
| https://github.com/reignite-dogimax/backend-app | feature/pet_management | 87a08a6 | feat(pets): Implement domain aggregate and POST endpoint | 28/10/2025 |
| https://github.com/reignite-dogimax/backend-app | feature/appointments-implementation | a2d21bd | feat(appoint): Add DDD structure for appointments context | 02/11/2025 |
| https://github.com/reignite-dogimax/backend-app | feature/notification_management | 7e02998 | feat(notif): Add DDD structure for notification management context | 02/11/2025 |
| https://github.com/reignite-dogimax/backend-app | develop | b2f5aaf | docs: Add OpenAPI (Swagger) configuration | 03/11/2025 |
| https://github.com/reignite-dogimax/backend-app | develop | b2f5aaf | merge: Integrate pet_management feature branch | 04/11/2025 |
Durante el Sprint 3, el equipo logró implementar de manera efectiva los módulos funcionales clave del backend de la aplicación DogiMax, consolidando su estructura como plataforma integral para la gestión del cuidado de perros. Se completaron las funcionalidades correspondientes a los bounded contexts prioritarios:
-
IAM (Identity and Access Management): Se implementó el sistema de autenticación completo con endpoints de registro (sign-up) e inicio de sesión (sign-in), incluyendo la generación y validación de tokens JWT para la seguridad de la API.
-
Gestión de Mascotas: Se desarrolló el agregado de dominio Mascota siguiendo arquitectura DDD, con endpoints CRUD completos (POST, GET, PUT, DELETE) que permiten a los usuarios gestionar los perfiles de sus mascotas.
-
Appointments Bounded Context: Se creó la estructura base (esqueleto) del bounded context de citas siguiendo los principios de Domain-Driven Design, preparando el terreno para la implementación completa en sprints futuros.
-
Notification Bounded Context: Se estableció la estructura DDD para el contexto de gestión de notificaciones, definiendo la arquitectura de dominio necesaria para el sistema de notificaciones.
-
Shared Module: Se implementó el módulo compartido con clases base y configuración de seguridad, permitiendo la reutilización de código y configuraciones comunes entre los diferentes bounded contexts.
-
Base de Datos y Persistencia: Se configuró la conexión a MySQL y los repositorios JPA en la capa de infraestructura, garantizando la persistencia adecuada de los datos.
Estas funcionalidades fueron integradas con el Web Service desarrollado por el equipo, garantizando una arquitectura sólida, respuestas rápidas y coherencia en la estructura del código. El resultado es una versión estable del backend que conecta usuarios, mascotas y servicios en un entorno digital robusto y escalable.
Durante el Sprint 3, el equipo Reignite avanzó significativamente en la documentación de los Web Services para la aplicación DogiMax. El enfoque se centró en los módulos de autenticación (IAM), gestión de mascotas, y la estructura base para appointments y notifications. Esta documentación fue creada utilizando OpenAPI (Swagger) para estandarizar la descripción de los Endpoints implementados y su interacción con los diferentes componentes del sistema.
El objetivo principal fue asegurar que tanto los desarrolladores del frontend como colaboradores externos pudieran consultar, probar e integrar fácilmente las funcionalidades de la API. Como resultado, se generaron especificaciones detalladas para cada Endpoint cubierto durante el Sprint, incluyendo verbos HTTP, rutas, parámetros, respuestas esperadas y ejemplos de uso interactivos, facilitando así el trabajo colaborativo y asegurando la trazabilidad del desarrollo técnico.
A continuación se presenta una tabla con los Endpoints documentados durante el Sprint 3:
| Módulo | Endpoint | Método HTTP | Descripción | Parámetros | Ejemplo de Request | Ejemplo de Response |
|---|---|---|---|---|---|---|
| IAM | /api/v1/authentication/sign-up |
POST | Registra un nuevo usuario en la plataforma | body: { email, password, nombre, apellido } |
POST /api/v1/authentication/sign-up |
201 Created - Usuario registrado |
| IAM | /api/v1/authentication/sign-in |
POST | Inicia sesión y genera token JWT | body: { email, password } |
POST /api/v1/authentication/sign-in |
200 OK - Token JWT |
| Gestión de Mascotas | /api/v1/mascotas |
POST | Crea un nuevo perfil de mascota | body: { nombre, raza, fechaNacimiento, peso, userId } |
POST /api/v1/mascotas |
201 Created - Mascota creada |
| Gestión de Mascotas | /api/v1/mascotas/user/{userId} |
GET | Obtiene todas las mascotas de un usuario | :userId (Long) |
GET /api/v1/mascotas/user/1 |
200 OK - Lista de mascotas |
| Gestión de Mascotas | /api/v1/mascotas/{mascotaId} |
GET | Obtiene el detalle de una mascota específica | :mascotaId (Long) |
GET /api/v1/mascotas/1 |
200 OK - Detalle de la mascota |
| Gestión de Mascotas | /api/v1/mascotas/{mascotaId} |
PUT | Actualiza la información de una mascota | :mascotaId (Long), body: { nombre, raza, peso, ... } |
PUT /api/v1/mascotas/1 |
200 OK - Mascota actualizada |
| Gestión de Mascotas | /api/v1/mascotas/{mascotaId} |
DELETE | Elimina el perfil de una mascota | :mascotaId (Long) |
DELETE /api/v1/mascotas/1 |
200 OK - Mascota eliminada |
La documentación completa está disponible a través de la interfaz Swagger UI configurada en el proyecto, accesible en /swagger-ui.html cuando la aplicación está en ejecución.
Durante el Sprint 3, el equipo configuró y preparó el entorno de despliegue para el backend de DogiMax. Se estableció la infraestructura necesaria para el despliegue del Web Service desarrollado en Spring Boot, incluyendo la configuración de perfiles de aplicación para diferentes entornos (desarrollo, producción).
La aplicación backend fue configurada para ejecutarse en un entorno de producción, con las siguientes características:
-
Configuración de Base de Datos: Se configuró la conexión a MySQL 8.0 con perfiles separados para desarrollo local y producción.
-
Configuración de Seguridad: Se implementó Spring Security con JWT para la autenticación y autorización de usuarios.
-
Módulo Shared: Se desplegó el módulo compartido con las clases base y configuraciones de seguridad necesarias para todos los bounded contexts.
-
Arquitectura DDD: Se estableció la estructura base siguiendo Domain-Driven Design, permitiendo la escalabilidad y mantenibilidad del código.
El backend está preparado para ser desplegado en un servidor de aplicaciones compatible con Spring Boot, garantizando la disponibilidad y el rendimiento adecuado para la integración con el frontend y futuras expansiones del sistema.
Durante el Sprint 3, el equipo Reignite implementó funcionalidades clave del Web Service relacionadas a los módulos IAM (Identity and Access Management), Gestión de Mascotas, Appointments y Notification, respetando la arquitectura DDD y garantizando la calidad de los endpoints generados. La colaboración del equipo se reflejó en el uso efectivo de ramas feature, commits significativos y merge requests bien documentadas. Cada miembro contribuyó en diferentes niveles de desarrollo, según su rol como líder o colaborador en los bounded contexts asignados.
La implementación se llevó a cabo mediante la creación e integración de diversos componentes backend siguiendo principios de Domain-Driven Design. Inicialmente, se abordó la configuración de la base de datos y la estructura base del proyecto. Posteriormente, se procedió a la implementación de los bounded contexts críticos, comenzando con IAM para la autenticación y autorización, seguido de Gestión de Mascotas con operaciones CRUD completas.
Para mejorar la calidad y mantenibilidad del código, se implementó el módulo Shared con clases base y configuraciones de seguridad, permitiendo la reutilización de código entre bounded contexts. Se estableció la estructura base para los bounded contexts de Appointments y Notification, preparando el terreno para implementaciones futuras.
La colaboración se gestionó mediante GitHub, empleando ramas por feature, commits convencionales siguiendo Conventional Commits, y pull requests con descripciones detalladas. A continuación, se detallan las contribuciones individuales de cada miembro:
Continuando con el desarrollo del proyecto DogiMax, el Sprint 4 se centra en integrar, validar y consolidar todas las funcionalidades implementadas en iteraciones anteriores. En esta etapa, el equipo enfoca sus esfuerzos en asegurar un flujo de usuario completamente funcional —desde el registro y autenticación hasta la interacción y gestión de recursos— garantizando que el sistema se comporte correctamente en un entorno real.
Este sprint se orienta a unir el frontend con el backend de forma definitiva, validar los módulos desarrollados (como Appointments y Notifications), optimizar el rendimiento general de la aplicación y establecer las bases para un despliegue estable. Además, se ejecutan pruebas automatizadas para asegurar la calidad del producto y se preparan las condiciones necesarias para una experiencia integral y fluida en DogiMax.
| Sprint # | Sprint 4 |
|---|---|
| Sprint Planning Background | |
| Date | 28 de noviembre del 2025 |
| Time | 17:00 |
| Location | Remoto |
| Prepared By | Leonardo Manuel Dueñas Canales |
| Attendees (to planning meeting) | Brayan Roberto Ccarita Cruz, Juan David Saldaña De Souza, Dueñas Canales Leonardo Manuel, Joseph Manuel Chavez Viera |
| Sprint n – 3 Retrospective Summary | El Sprint 3 logró implementar el backend completo utilizando Spring Boot y arquitectura Domain-Driven Design, habilitando la API RESTful real e integrando bounded contexts clave como IAM y Gestión de Mascotas. Con esta base sólida, el equipo identificó la necesidad de conectar el backend con el frontend, validar los módulos de citas y notificaciones, optimizar el rendimiento y asegurar un flujo integral para el usuario. |
| Tech Stack | Java 21, Spring Boot 3.5.7, Spring Data JPA, Spring Security, MySQL 8.0, JWT, React, Vite, Cypress, Docker, Netlify |
| Sprint Goal & User Stories | |
| Sprint 4 Goal | Consolidar un flujo real de usuario (registro → login → interacción → gestión) mediante la integración completa del backend y frontend, validando los módulos ya implementados (appointments y notifications), ejecutando QA testing automatizado, optimizando el rendimiento e implementando un despliegue estable y funcional de DogiMax. |
| Sum of Story Points (Sprint 4) | 30 |
| Sprint 4 Velocity | 34 |
Esta sección presenta la distribución de roles y responsabilidades del equipo durante el Sprint 4, identificando a los líderes y colaboradores en los diferentes bounded contexts del backend y frontend. La asignación de roles se basó en las áreas de especialización y experiencia de cada miembro, cubriendo aspectos como el bounded context de IAM (autenticación y autorización), Gestión de Mascotas, Appointments, Notification, y el módulo Shared junto con el despliegue de la API. Esta organización permitió un trabajo paralelo eficiente siguiendo los principios de Domain-Driven Design y aseguró la calidad de cada bounded context.
| Team Member | GitHub Username | IAM Bounded Context (L) / (C) | Gestión de Mascotas Bounded Context (L) / (C) | Appointments Bounded Context (L) / (C) | Notification Bounded Context (L) / (C) | Shared & API Deployment (L) / (C) |
|---|---|---|---|---|---|---|
| Brayan Roberto Ccarita Cruz | hallzyx | L | - | L | - | L |
| Joseph Manuel Chavez | u202314019-MrOsoPanda | C | L | - | - | C |
| Juan Saldaña | jndesouza | - | - | C | L | - |
| Dueñas Canales Leonardo Manuel | Insonnio | - | - | - | C | - |
Brayan Roberto Ccarita Cruz (hallzyx)
Rol en Web Service: Líder en IAM Bounded Context, Appointments Bounded Context y Shared & API Deployment.
Contribuciones destacadas:
-
Implementación y validación de endpoints de autenticación (sign-up y sign-in) con JWT.
-
Configuración de Spring Security y reglas de contraseña para el sistema de autenticación.
-
Configuración de OpenAPI (Swagger) para documentación de la API.
-
Configuración de la conexión a la base de datos MySQL y application.properties.
-
Creación de la estructura base (esqueleto) para el bounded context Appointments.
-
Liderazgo en el despliegue y configuración del módulo Shared con clases base y configuración de seguridad.
Juan David Saldaña De Souza (jndesouza)
Código: U20221F192
Carrera: Ingeniería de software
Rol en Web Service: Líder en Notification Bounded Context y colaborador en Appointments Bounded Context.
Contribuciones destacadas:
-
Creación de la estructura base (esqueleto) para el bounded context Notification siguiendo arquitectura DDD.
-
Implementación de la estructura DDD para el contexto de gestión de notificaciones.
-
Colaboración en la creación de la estructura base para el bounded context Appointments.
-
Desarrollo de la arquitectura de dominio para el sistema de notificaciones.
Joseph Manuel Chavez Viera (u202314019-MrOsoPanda)
Código: U202314019
Carrera: Ingeniería de Software
Rol en Web Service: Líder en Gestión de Mascotas Bounded Context, colaborador en IAM Bounded Context y Shared & API Deployment.
Contribuciones destacadas:
-
Implementación completa del agregado Mascota en el dominio (DDD).
-
Desarrollo de endpoints CRUD para gestión de mascotas (POST, GET, PUT, DELETE).
-
Implementación de servicios de query (CQRS) para obtener mascotas por usuario.
-
Creación del módulo shared con clases base y configuración de seguridad.
-
Implementación y validación de endpoints para operaciones de mascotas.
En esta fase, el objetivo es validar la primera versión funcional de la aplicación web DogiMax con usuarios reales que coinciden con los perfiles de "Dueño de Perro" y "Veterinario".
Preguntas Generales
-
Nombre y Apellido:
-
Edad:
-
Distrito de Residencia:
-
Estado Civil:
-
Ocupación:
-
Familia:
Preguntas Clave para la Entrevista de Validación
-
¿Cuál es tu primera impresión general de la aplicación después de haberla usado?
-
¿Qué fue lo más fácil que hiciste? ¿Y qué fue lo más difícil o confuso?
-
Pensando en la pantalla principal, ¿la información que viste (resumen de mascotas, próximas citas) te parece útil para tu día a día?
-
¿Qué te pareció el proceso de agendar una cita y revisar tu historial? ¿Es algo que te ayudaría?
-
Siendo totalmente honesto, ¿crees que realmente usarías esta aplicación para organizar el cuidado de tu perro? ¿Por qué sí o por qué no?
-
Si pudieras cambiarle una sola cosa a la aplicación para mejorarla ahora mismo, ¿qué sería?
Entrevista 1:
Nombre: Juan Pedro Manosalva Pérez
Edad: 20 años
Ocupación: Estudiante
Vive en Santa Anita
Estado civil: Soltero
Resumen: Juan Pedro es un estudiante de 20 años que vive con sus padres en Santa Anita. Tiene un perro y, según su experiencia, ha tenido problemas anteriormente para recordar las fechas de vacunas y controles de sus mascotas. En la validación de la aplicación, la describió como "simple, fácil de usar, intuitiva y ordenada". Considera que la función de agendar citas y revisar el historial es muy práctica y le ahorraría tiempo. Afirma que sí usaría la aplicación para controlar mejor el cuidado de su perro y evitar olvidos. Su principal sugerencia de mejora es añadir notificaciones más visuales y llamativas que avisen con anticipación (por ejemplo, un día o una semana antes) las citas o eventos.
Entrevista 2:
Nombre: Fabrizio Chong
Edad: 25 años
Ocupación: Veterinario (y estudiante de medicina)
Vive solo en Pueblo Libre
Estado civil: Soltero
Se considera una persona divertida, introvertida y tranquila, con habilidades como la disciplina, la responsabilidad y la capacidad para redactar (aunque menciona "reactar", se infiere que quiso decir "redactar").
Resumen: Fabrizio es un veterinario de 25 años que reside en Pueblo Libre. Su primera impresión de la aplicación fue "muy buena", destacándola como "muy innovadora" y útil para personas "despistadas". Le pareció una aplicación "muy fácil de sacar" (usar) y no encontró ninguna dificultad; lo más sencillo fue agendar citas. Considera que la información de la pantalla principal (resumen, citas) es "muy útil" para personas con agendas ocupadas que pueden olvidar el cuidado de sus mascotas, como las fechas de vacunación. Mencionó que, al ser una persona "un poco distraída", la función de agendar citas y recibir notificaciones le resultaría muy fácil y útil. A diferencia de otros entrevistados, Fabricio no sugirió ninguna mejora, afirmando que "está todo conforme" y que la aplicación es "muy fácil de usar, muy cómoda y sobre todo muy útil".
Entrevista 3:
Nombre: Keyner Hancco
Edad: 20 años
Ocupación: Estudiante
Vive en Magdalena del Mar
Estado civil: Soltero
Se considera una persona divertida, introvertida y tranquila, con habilidades como la disciplina, la responsabilidad y la capacidad para redactar (aunque menciona "reactar", se infiere que quiso decir "redactar").
Resumen: Keyner es un estudiante de 20 años que reside en Magdalena con su familia. Su primera impresión de la aplicación fue que "cumple bien con el objetivo" de reservar citas, destacando su "buen diseño" y que "funciona correctamente". Lo más fácil para él fue reservar la cita, indicando que el menú ayuda bastante; no encontró ninguna parte confusa. Considera que la información de la pantalla principal (citas pendientes) es útil porque le "ayuda bastante a tu horario". Confirmó que sí usaría la aplicación por ser "práctica y rápida", valorando poder reservar desde el celular sin "tener que estar llamando". Al igual que el entrevistado anterior, Kenot no sugirió ninguna mejora inmediata, afirmando que "para la función básica... sí lo cumple" y "por ahora creo que nada".
Link de las entrevistas: https://youtu.be/nq6YRT5oamk
Para evaluar la usabilidad de la aplicación DogiMax, se aplicaron las 10 heurísticas de usabilidad de Jakob Nielsen, que son principios fundamentales para el diseño de interfaces de usuario. A continuación se presenta la evaluación realizada:
| Heurística | Descripción | Evaluación | Observaciones |
|---|---|---|---|
| 1. Visibilidad del estado del sistema | El sistema debe mantener informado al usuario sobre lo que está ocurriendo. | ✅ Cumple | La aplicación muestra estados claros: carga de datos, confirmaciones de acciones (crear mascota, agendar cita), y mensajes de éxito o error. |
| 2. Correspondencia entre el sistema y el mundo real | El sistema debe hablar el lenguaje del usuario. | ✅ Cumple | Se utilizan términos familiares como "mascota", "cita", "veterinario", evitando jerga técnica. Los iconos y etiquetas son intuitivos. |
| 3. Control y libertad del usuario | Los usuarios necesitan una "salida de emergencia" para deshacer acciones. | ✅ Cumple | Existen botones de cancelar en formularios, opción de eliminar mascotas y cancelar citas. La navegación permite volver atrás fácilmente. |
| 4. Consistencia y estándares | No hacer que los usuarios se pregunten si palabras, situaciones o acciones diferentes significan lo mismo. | ✅ Cumple | Se mantiene consistencia en colores, tipografía, botones y patrones de navegación en toda la aplicación. |
| 5. Prevención de errores | Mejor que un buen mensaje de error es un diseño cuidadoso que previene que ocurra el problema. | Se implementan validaciones en formularios, pero podrían mejorarse con validaciones en tiempo real y sugerencias más claras. | |
| 6. Reconocimiento antes que recuerdo | Hacer visibles objetos, acciones y opciones. | ✅ Cumple | Los menús de navegación están siempre visibles, los iconos son reconocibles, y la información importante (próximas citas, mascotas) se muestra en el dashboard. |
| 7. Flexibilidad y eficiencia de uso | Los aceleradores pueden aumentar la velocidad de interacción para usuarios expertos. | La aplicación es funcional para usuarios básicos, pero podría beneficiarse de atajos de teclado y acciones rápidas para usuarios avanzados. | |
| 8. Diseño estético y minimalista | Los diálogos no deben contener información irrelevante o raramente necesaria. | ✅ Cumple | La interfaz es limpia y organizada, mostrando solo la información relevante. El dashboard principal ofrece un resumen conciso. |
| 9. Ayudar a los usuarios a reconocer, diagnosticar y recuperarse de errores | Los mensajes de error deben expresarse en lenguaje claro. | ✅ Cumple | Los mensajes de error son claros y específicos (ej: "El email ya está registrado", "Fecha de cita inválida"). |
| 10. Ayuda y documentación | Aunque es mejor si el sistema puede usarse sin documentación. | Existe una sección de ayuda y preguntas frecuentes, pero podría expandirse con tutoriales interactivos para nuevos usuarios. |
Resumen de la evaluación:
-
Heurísticas que cumplen completamente: 7 de 10
-
Heurísticas que requieren mejora: 3 de 10
La aplicación DogiMax demuestra un buen nivel de usabilidad en la mayoría de los aspectos evaluados. Las áreas de mejora identificadas (prevención de errores, flexibilidad para usuarios avanzados, y ayuda/documentación) pueden ser abordadas en iteraciones futuras para elevar aún más la experiencia del usuario.
En esta sección se muestra una captura del video about the product que se encuentra incrustado en el landing page, además del link en los anexos.
Video about the product: https://youtu.be/7kLxtACvOlM
A lo largo del desarrollo del proyecto DogiMax, hemos logrado validar la necesidad creciente y real de soluciones tecnológicas en el sector del cuidado de mascotas. El proceso de investigación de mercado, análisis de la industria, entrevistas y desarrollo de la aplicación ha revelado importantes hallazgos que refuerzan la relevancia de nuestra propuesta de valor.
Validación del Problema y Necesidad del Usuario:
Durante las fases iniciales del proyecto, logramos comprobar que existe una fuerte fragmentación en la información y los servicios relacionados con el cuidado de mascotas. Los dueños gestionan citas, vacunas, alimentación y compras en múltiples plataformas o de forma manual, dificultando un seguimiento adecuado de la salud del perro. Las aplicaciones generales carecen de funciones específicas para mascotas y no ofrecen las recomendaciones personalizadas basadas en raza, edad o condición que los dueños modernos demandan.
Desarrollo Técnico y Arquitectura:
A través de los tres sprints desarrollados, hemos logrado implementar una solución integral que combina frontend y backend. En el Sprint 3, se consolidó la arquitectura del backend utilizando Domain-Driven Design (DDD), implementando bounded contexts clave como IAM (Identity and Access Management), Gestión de Mascotas, Appointments y Notification. La implementación de Spring Boot con Spring Security y JWT ha permitido crear una API RESTful robusta y segura, documentada con OpenAPI (Swagger) para facilitar la integración y el mantenimiento.
Validación con Usuarios Reales:
Las entrevistas de validación realizadas con usuarios reales (dueños de perros y veterinarios) confirmaron que la aplicación cumple con las expectativas de los usuarios. Los entrevistados destacaron la facilidad de uso, la utilidad de las funciones de agendamiento de citas y la gestión de perfiles de mascotas. La evaluación según heurísticas de usabilidad de Nielsen mostró que 7 de 10 heurísticas se cumplen completamente, indicando un buen nivel de usabilidad general.
Logros Técnicos Principales:
-
Sprint 1: Desarrollo y despliegue exitoso de la landing page, estableciendo la presencia digital de DogiMax.
-
Sprint 2: Implementación de la primera versión funcional del frontend con Angular, incluyendo gestión de mascotas, agendamiento de citas y dashboard principal, desplegada en Netlify.
-
Sprint 3: Desarrollo completo del backend con arquitectura DDD, implementación de autenticación JWT, endpoints CRUD para gestión de mascotas, y estructura base para los bounded contexts de citas y notificaciones.
Colaboración y Metodología:
El equipo demostró una colaboración efectiva utilizando metodologías ágiles, con uso de ramas feature, commits significativos y merge requests bien documentadas. Cada miembro contribuyó según su rol como líder o colaborador en los diferentes bounded contexts, garantizando la calidad del código y la coherencia arquitectónica.
Este trabajo ha demostrado que DogiMax no solo resuelve un problema real de fragmentación y desorganización en el cuidado de mascotas, sino que tiene el potencial de transformar la forma en que los dueños gestionan el bienestar y la salud de sus perros mediante una plataforma tecnológica robusta, escalable y centrada en la experiencia del usuario.
Basándonos en el desarrollo realizado y las validaciones con usuarios, se proponen las siguientes recomendaciones para impulsar el crecimiento y mejora continua de DogiMax:
Recomendaciones Técnicas:
-
Completar la implementación de los bounded contexts: Finalizar el desarrollo completo de los bounded contexts de Appointments y Notification, implementando todos los casos de uso definidos en el dominio.
-
Implementar pruebas automatizadas: Establecer una suite completa de pruebas unitarias, de integración y end-to-end para garantizar la calidad y estabilidad del código en futuras iteraciones.
-
Mejorar la documentación técnica: Expandir la documentación de la API con más ejemplos de uso, casos de error y guías de integración para desarrolladores externos.
-
Optimización de rendimiento: Implementar caching, optimización de consultas a la base de datos y técnicas de paginación para mejorar el rendimiento de la aplicación a medida que crezca el número de usuarios.
Recomendaciones de Producto:
-
Desarrollar funcionalidades de IA: Implementar el sistema de recomendaciones personalizadas basadas en raza, edad y condición de salud de las mascotas, utilizando modelos de machine learning validados por veterinarios.
-
Expandir funcionalidades de notificaciones: Implementar notificaciones push, recordatorios automáticos de vacunas y citas, y alertas personalizables según las preferencias del usuario.
-
Mejorar la experiencia de usuario: Basándose en la evaluación de heurísticas, implementar mejoras en prevención de errores, flexibilidad para usuarios avanzados y tutoriales interactivos para nuevos usuarios.
-
Integración con servicios externos: Establecer integraciones con clínicas veterinarias, servicios de pago y plataformas de e-commerce para productos para mascotas.
Recomendaciones de Negocio:
-
Validar el modelo de monetización: Realizar pruebas piloto del modelo freemium, donde las funciones esenciales son gratuitas y se paga por valor añadido (teleconsultas, recomendaciones avanzadas por IA, historial médico compartido).
-
Establecer alianzas estratégicas: Consolidar alianzas iniciales con clínicas veterinarias y marcas de productos clave para construir y dar valor al ecosistema de la plataforma desde el lanzamiento.
-
Expansión de segmentos: Considerar la inclusión de más tipos de mascotas (gatos, aves, etc.) y funcionalidades específicas para diferentes especies.
-
Programa de beta testing: Implementar un programa de beta testing con usuarios reales para recopilar feedback continuo y mejorar iterativamente la plataforma antes del lanzamiento público completo.
Recomendaciones de Seguridad y Escalabilidad:
-
Implementar medidas de seguridad avanzadas: Añadir autenticación de dos factores, encriptación de datos sensibles y auditoría de accesos para proteger la información de los usuarios y sus mascotas.
-
Preparar la infraestructura para escalabilidad: Diseñar la arquitectura para soportar un crecimiento significativo de usuarios, implementando balanceadores de carga, bases de datos distribuidas y arquitectura de microservicios si es necesario.
-
Implementar monitoreo y logging: Establecer sistemas de monitoreo en tiempo real, logging centralizado y alertas automáticas para detectar y resolver problemas proactivamente.
Estas recomendaciones proporcionan una hoja de ruta clara para el desarrollo futuro de DogiMax, enfocándose en la mejora continua, la escalabilidad y la creación de valor tanto para los usuarios como para el negocio.
En esta sección se presenta el video about the team que muestra a los integrantes del equipo de desarrollo y sus roles en el proyecto DogiMax.
Video about the team: https://youtu.be/KoDxTZhzK-U
-
Evans, E. (2003). Domain-Driven Design: Tackling Complexity in the Heart of Software. Addison-Wesley Professional.
-
Fowler, M. (2002). Patterns of Enterprise Application Architecture. Addison-Wesley Professional.
-
Martin, R. C. (2017). Clean Architecture: A Craftsman's Guide to Software Structure and Design. Prentice Hall.
-
Nielsen, J. (1994). Usability Engineering. Morgan Kaufmann.
-
Nielsen, J., & Molich, R. (1990). Heuristic Evaluation of User Interfaces. CHI '90 Proceedings.
-
Spring Framework Documentation. (2025). Spring Boot Reference Documentation. https://spring.io/projects/spring-boot
-
Angular Documentation. (2025). Angular - The Modern Web Framework. https://angular.io/docs
-
MySQL Documentation. (2025). MySQL 8.0 Reference Manual. https://dev.mysql.com/doc/
-
OpenAPI Initiative. (2025). OpenAPI Specification. https://swagger.io/specification/
-
OWASP Foundation. (2025). OWASP Top 10 - Web Application Security Risks. https://owasp.org/www-project-top-ten/
-
Beck, K., et al. (2001). Manifesto for Agile Software Development. http://agilemanifesto.org/
-
Schwaber, K., & Sutherland, J. (2020). The Scrum Guide. https://scrumguides.org/
-
Cohn, M. (2004). User Stories Applied: For Agile Software Development. Addison-Wesley Professional.
-
Ries, E. (2011). The Lean Startup: How Today's Entrepreneurs Use Continuous Innovation to Create Radically Successful Businesses. Crown Business.
-
Osterwalder, A., & Pigneur, Y. (2010). Business Model Generation: A Handbook for Visionaries, Game Changers, and Challengers. John Wiley & Sons.
























































































