Skip to content
This repository was archived by the owner on Apr 25, 2026. It is now read-only.

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

29 Commits
 
 
 
 

Repository files navigation

Universidad Peruana de Ciencias Aplicadas

INFORME DE TRABAJO FINAL

Desarrollo de Soluciones IOT – NRC: 2968 Carrera de Ingeniería de Software – 7to ciclo Docente: Marco Antonio Leon Baca

Nombre del startup: TechProtection Nombre del producto: GeoEntry

Código Apellidos y Nombres
U202212684 Elías Sanchez, Harold Miguel
U202212338 López Huamán, Rodrigo Adrián
U202212191 Meneses Arevalo, Victor Manuel
U202112655 Gamboa Delgado, Brayan Stiven
U202213646 Salvador Rodríguez, Rodrigo Jesús
Julio 2025

Registro de Versiones del Informe

Versión Fecha Autor Descripción de la modificación
1.1 10/04/2025 TechProtection Capítulo I
1.2 13/04/2025 TechProtection Capítulo II
1.3 17/04/2025 TechProtection Capítulo III
1.4 21/04/2025 TechProtection Capítulo IV
2.1 08/05/2025 TechProtection Capítulo V
2.2 13/05/2025 TechProtection Capítulo VI
3.1 06/06/2025 TechProtection Capítulo VI
3.2 18/06/2025 TechProtection Capítulo VI
4.1 03/07/2025 TechProtection Capítulo VI

Contenido

Tabla de contenidos Student Outcome Capítulo I: Introducción

  1. Startup Profile
    1. Descripción de la Startup
    2. Perfiles de integrantes del equipo
  2. Solution Profile
  3. Antecedentes y problemática
  4. Lean UX Process.
    1. Lean UX Problem Statements.

    2. Lean UX Assumptions.

    3. Lean UX Hypothesis Statements.

    4. Lean UX Canvas.

      1. Segmentos objetivo.

Capítulo II: Requirements Elicitation & Analysis

  1. Competidores.
    1. Análisis competitivo.
    2. Estrategias y tácticas frente a competidores.
  2. Entrevistas.
    1. Diseño de entrevistas.
    2. Registro de entrevistas.
    3. Análisis de entrevistas.
  3. Needfinding.
    1. User Personas.
    2. User Task Matrix.
    3. User Journey Mapping.
    4. Empathy Mapping.
    5. As-is Scenario Mapping.
  4. Ubiquitous Language.

Capítulo III: Requirements Specification

  1. To-Be Scenario Mapping.
  2. User Stories.
  3. Impact Mapping.
  4. Product Backlog.

Capítulo IV: Solution Software Design

  1. Strategic-Level Domain-Driven Design.

  2. EventStorming.

    1. Candidate Context Discovery.
    2. Domain Message Flows Modeling.
    3. Bounded Context Canvases.
  3. Context Mapping.

  4. Software Architecture.

  5. Software Architecture System Landscape Diagram.

  6. Software Architecture Context Level Diagrams.

  7. Software Architecture Container Level Diagrams.

  8. Software Architecture Deployment Diagrams.

  9. Tactical-Level Domain-Driven Design

  10. Bounded Context: Device

  11. Domain Layer.

  12. Interface Layer.

  13. Application Layer.

  14. Infrastructure Layer.

  15. Bounded Context Software Architecture Component Level Diagrams.

  16. Bounded Context Software Architecture Code Level Diagrams.

  17. Bounded Context Domain Layer Class Diagrams.

  18. Bounded Context Database Design Diagram

  19. Bounded Context: Security

  20. Domain Layer.

  21. Interface Layer.

  22. Application Layer.

  23. Infrastructure Layer.

  24. Bounded Context Software Architecture Component Level Diagrams.

  25. Bounded Context Software Architecture Code Level Diagrams.

  26. Bounded Context Domain Layer Class Diagrams.

  27. Bounded Context Database Design Diagram

    1. Bounded Context: Climate Control
  28. Domain Layer.

  29. Interface Layer.

  30. Application Layer.

  31. Infrastructure Layer.

  32. Bounded Context Software Architecture Component Level Diagrams.

  33. Bounded Context Software Architecture Code Level Diagrams.

  34. Bounded Context Domain Layer Class Diagrams.

  35. Bounded Context Database Design Diagram

  36. Bounded Context: User

  37. Domain Layer.

  38. Interface Layer.

  39. Application Layer.

  40. Infrastructure Layer.

  41. Bounded Context Software Architecture Component Level Diagrams.

  42. Bounded Context Software Architecture Code Level Diagrams.

  43. Bounded Context Domain Layer Class Diagrams.

  44. Bounded Context Database Design Diagram

  45. Bounded Context: Notification

  46. Domain Layer.

  47. Interface Layer.

  48. Application Layer.

  49. Infrastructure Layer.

  50. Bounded Context Software Architecture Component Level Diagrams.

  51. Bounded Context Software Architecture Code Level Diagrams.

  52. Bounded Context Domain Layer Class Diagrams.

  53. Bounded Context Database Design Diagram

Capítulo V: Solution UI/UX Design

  1. Style Guidelines.
    1. General Style Guidelines.
    2. Web, Mobile and IoT Style Guidelines.
  2. Information Architecture.
    1. Organization Systems.
    2. Labeling Systems.
    3. SEO Tags and Meta Tags
    4. Searching Systems.
    5. Navigation Systems.
  3. Landing Page UI Design.
    1. Landing Page Wireframe.
    2. Landing Page Mock-up.
  4. Applications UX/UI Design.
  5. Applications Wireframes.
  6. Applications Wireflow Diagrams.
  7. Applications Mock-ups.
  8. Applications User Flow Diagrams.
  9. Applications Prototyping.

Capítulo VI: Product Implementation, Validation & Deployment

  1. Software Configuration Management.

    1. Software Development Environment Configuration.
    2. Source Code Management.
    3. Source Code Style Guide & Conventions.
    4. Software Deployment Configuration.
  2. Landing Page, Services & Applications Implementation.

  3. Sprint 1

    1. Sprint Planning 1.
    2. Aspect Leaders and Collaborators.
    3. Sprint Backlog 1.
    4. Development Evidence for Sprint Review.
    5. Testing Suite Evidence for Sprint Review.
    6. Execution Evidence for Sprint Review.
    7. Services Documentation Evidence for Sprint Review.
    8. Software Deployment Evidence for Sprint Review.
    9. Team Collaboration Insights during Sprint.
  4. Sprint 2

  5. Sprint Planning 2.

  6. Aspect Leaders and Collaborators.

  7. Sprint Backlog 2.

  8. Development Evidence for Sprint Review.

  9. Testing Suite Evidence for Sprint Review.

  10. Execution Evidence for Sprint Review.

  11. Services Documentation Evidence for Sprint Review.

  12. Software Deployment Evidence for Sprint Review

  13. Team Collaboration Insights during Sprint.

  14. Sprint 3

  15. Sprint Planning 3.

  16. Aspect Leaders and Collaborators.

  17. Sprint Backlog 2.

  18. Development Evidence for Sprint Review.

  19. Testing Suite Evidence for Sprint Review.

  20. Execution Evidence for Sprint Review.

  21. Services Documentation Evidence for Sprint Review.

  22. Software Deployment Evidence for Sprint Review

  23. Team Collaboration Insights during Sprint.

  24. Validation Interviews

  25. Diseño de Entrevistas

  26. Registro de Entrevistas

  27. Evaluaciones según heurísticas

    1. Video About-the-Product

Student Outcome

Criterio específico Acciones realizadas Conclusiones
Trabaja en equipo para proporcionar liderazgo en forma conjunta

Harold Miguel Elías Sanchez TB1: En el desarrollo de Strategic-Level Domain-Driven Design, lideré sesiones de EventStorming donde impulsé la identificación colaborativa de contextos candidatos y flujos de mensajes, promoviendo una participación activa y equitativa del equipo para consolidar decisiones clave del dominio.

TP:

Lideré sesiones de EventStorming para identificar dominios clave, facilitando la participación equitativa del equipo en la definición de contextos y flujos de mensajes. Promoví decisiones colaborativas que alinearon el diseño estratégico con los objetivos del negocio, asegurando una visión compartida del sistema.

TB2:

Lideré la implementación del Edge API y la integración con sistemas embebidos, coordinando sesiones de pair programming para asegurar la comunicación efectiva entre dispositivos IoT y la plataforma central. Promoví decisiones técnicas colaborativas que optimizaron el rendimiento del edge computing, estableciendo protocolos de testing

El equipo demostró un liderazgo colaborativo efectivo mediante técnicas como EventStorming, C4 Model y Domain-Driven Design, alineando la arquitectura técnica con los objetivos del negocio. Se creó un entorno inclusivo mediante la planificación estructurada de tareas, establecimiento de metas claras y distribución equitativa de responsabilidades, logrando consolidar una solución robusta centrada en el usuario y cumpliendo con todos los objetivos técnicos planteados

distribuido que validaron la funcionalidad en tiempo real.

TF:

Lideré la implementación del módulo de vinculación de dispositivos y automatización de luces, coordinando sesiones de revisión de código para garantizar consistencia en la integración con geolocalización. Promoví la estandarización de protocolos de comunicación IoT, facilitando la colaboración entre frontend y backend mediante documentación técnica compartida.

Victor Manuel Meneses Arevalo

TB1:

En el desarrollo del capítulo "Requirements Elicitation & Analysis", participé activamente en el análisis de competidores y en la elaboración de entrevistas, desde su diseño hasta su análisis. Contribuí a la creación de herramientas como User Personas, User Journey Mapping y Empathy Mapping, fomentando una comprensión profunda de las necesidades del usuario y fortaleciendo la base para una solución centrada en el usuario.

TP:

Coordine la elaboración de User Personas y Journey Maps mediante talleres participativos, integrando insights de

entrevistas con usuarios. Promoví técnicas como Empathy Mapping para garantizar que el equipo comprendiera profundamente las necesidades del usuario antes del desarrollo.

TB2:

Coordiné el desarrollo de la aplicación móvil liderando la implementación de funcionalidades de monitoreo y control remoto. Facilité la integración colaborativa con las APIs REST, promoviendo sesiones de code review que aseguraron la calidad del código y la consistencia en la experiencia de usuario entre diferentes plataformas móviles.

TF:

Dirigí el desarrollo del sistema de notificaciones por geofencing, organizando reuniones de sincronización para alinear la lógica de detección con el equipo de backend. Impulsé la implementación de pruebas de estrés en diferentes escenarios GPS, fomentando la participación cruzada entre desarrolladores para optimizar precisión y consumo de recursos.

Brayan Stiven Gamboa Delgado

TB1:

En el desarrollo del Software Architecture, contribuí a la creación del C4 Model para el

Landscape, System Context, Containers y Deployment para un mayor entendimiento del sistema.

TP:

Lideré la creación del C4 Model, guiando al equipo en la definición de los niveles Landscape, Context and Containers. Establecí sesiones de revisión para asegurar coherencia entre los diferentes niveles de abstracción del sistema.

TB2:

Dirigí la implementación de la arquitectura web frontend siguiendo los principios del C4 model, liderando sesiones de planificación técnica para la integración con APIs REST. Promoví un liderazgo distribuido donde cada miembro del equipo contribuyó a las decisiones de diseño de componentes, asegurando una solución web escalable y mantenible.

TF:

Coordiné la implementación de alertas por salida de zona y visualización de mapas, estableciendo un flujo de trabajo ágil con el equipo de diseño para mejorar la UX. Lideré la creación de un sistema de caché offline para ubicaciones, promoviendo discusiones técnicas que

integraron aportes de todos los miembros del equipo.

Rodrigo Adrián López Huamán

TB1:

En el desarrollo del Tactical- Level Domain-Driven Design, estructuré y documenté cinco Bounded Contexts, detallando sus respectivas capas: Domain, Interface, Application e Infrastructure. Además, elaboré diagramas de arquitectura a nivel de componentes y código, incluyendo diagramas de clases de la capa de dominio y diseños de base de datos para cada contexto, garantizando una visión clara y coherente del sistema a nivel táctico.

TP:

Coordine el desarrollo de 5 Bounded Contexts, estableciendo estándares para las capas Domain, Application e Infrastructure. Mediante revisiones técnicas grupales, aseguramos consistencia en diagramas de clases y esquemas de base de datos.

TB2:

Lideré el desarrollo de las APIs REST implementando los 5 Bounded Contexts, coordinando sesiones de diseño colaborativo para definir endpoints y esquemas de datos. Promoví la participación activa

del equipo en decisiones arquitectónicas, estableciendo estándares de desarrollo que facilitaron la integración entre web, mobile y edge systems.

TF:

Gestioné el desarrollo del módulo de gestión de dispositivos y soporte técnico, facilitando sesiones de troubleshooting colaborativo. Establecí estándares para el manejo de errores en tiempo real, incentivando la participación del equipo en la definición de protocolos de recuperación ante fallos.

Rodrigo Jesús Salvador Rodríguez

TB1: En el desarrollo de la Introduction, evidencié nuestra propuesta de trabajo en base a lo planteado durante las sesiones con descripción de la startup, Lean UX, Solution Profile y Segmentos objetivos, además en los Requeriments Specifications, evidenciar de buena manera los Scenario Mapping, las User Stories con el formato adecuado y el Product Backlog.

TP:

Lideré la priorización del Product Backlog mediante técnicas de Story Mapping, asegurando que las User Stories reflejaran necesidades reales. Establecí criterios de aceptación claros para

mantener la trazabilidad con los objetivos del negocio.

TB2:

Lideré la integración del sistema embebido con la plataforma central, coordinando la implementación de protocolos de comunicación IoT. Facilité sesiones colaborativas de testing end-to- end que validaron la funcionalidad completa del sistema, promoviendo decisiones técnicas consensuadas que optimizaron la performance del sistema embebido.

TF:

Lideré el diseño del dashboard de analíticas y resumen del sistema, organizando workshops interdisciplinarios para integrar requerimientos de negocio y técnicos. Fomenté el uso de métricas compartidas para evaluar el rendimiento, creando espacios de retroalimentación que mejoraron la cohesión del equipo.

Crea un entorno colaborativo e

inclusivo, establece metas, planifica tareas y cumple objetivos.

Harold Miguel Elías Sanchez TB1:

Fomenté un ambiente inclusivo guiando al equipo en la creación de Bounded Context Canvases y mapas de contexto, estableciendo metas claras y asignando tareas estratégicas que facilitaron el cumplimiento de los objetivos definidos de manera eficiente y coordinada.

El equipo fomentó un entorno de trabajo colaborativo mediante talleres participativos, revisión técnica grupal y pair programming, asegurando la inclusión de todas las perspectivas. Se establecieron metas claras con hitos definidos para cada componente (Bounded Contexts, C4 Model, Backlog), asignando tareas específicas

TP:

Establecí metas claras para el diseño de Bounded Contexts, asignando tareas específicas en la creación de mapas de contexto. Fomenté un ambiente inclusivo donde cada miembro contribuyó al modelado estratégico, logrando consenso en las estructuras clave del dominio

TB2:

Establecí metas claras para la implementación del Edge API, creando un ambiente inclusivo mediante la asignación estratégica de tareas de desarrollo y testing. Planifiqué sprints estructurados que permitieron la colaboración efectiva entre equipos de embedded systems y backend, cumpliendo objetivos de latencia y rendimiento en tiempo real.

TF:

Creó un entorno colaborativo al organizar revisiones diarias de progreso para el módulo de dispositivos IoT, estableciendo metas claras de integración con geolocalización. Planificó tareas dividiendo el trabajo en micro-sprints de 2 días, logrando completar 100% de los objetivos asignados e incluyendo feedback constante del equipo de QA.

Brayan Stiven Gamboa Delgado

TB1:

que permitieron cumplir los objetivos técnicos en los plazos establecidos, manteniendo siempre la coherencia arquitectónica y el enfoque en el usuario.

Planifiqué un entorno de trabajo colaborativo estableciendo objetivos con duración para la entrega del informe y creación del C4 Model para que sea más estructurado.

TP:

Planifiqué hitos claros para la entrega de la arquitectura, asignando responsabilidades en la documentación del C4 Model. Fomenté un enfoque colaborativo que permitió un entendimiento unificado del sistema entre todos los miembros.

TB2:

Planifiqué hitos específicos para el desarrollo web, estableciendo objetivos claros de funcionalidad y performance. Fomenté un entorno colaborativo mediante daily standups y retrospectivas que permitieron la adaptación ágil a los requerimientos, asegurando la entrega exitosa de la plataforma web con integración completa a las APIs.

TF:

Fomentó un espacio inclusivo mediante pair programming para desarrollar el sistema de notificaciones, definiendo KPIs de precisión GPS (<50m error). Cumplió los objetivos al implementar 3 escenarios de testing colaborativo, integrando aportes de backend y mobile en la solución final

Victor Manuel Meneses Arevalo

TB1:

Promovì un trabajo colaborativo liderando la planificación y ejecución de actividades clave del análisis de requerimientos, como entrevistas, mapas de empatía y User Personas. Establecí objetivos claros y coordiné la distribución de tareas estratégicas, asegurando una recolección efectiva de información que permitió al equipo comprender a fondo al usuario y al entorno competitivo.

TP:

Organicé la ejecución de entrevistas y análisis competitivo, definiendo objetivos y plazos para cada actividad. Distribuí tareas estratégicas que permitieron recolectar información valiosa, sentando las bases para una solución centrada en el usuario.

TB2:

Organicé la implementación móvil estableciendo metas específicas de usabilidad y performance, distribuyendo tareas que aprovecharon las fortalezas individuales del equipo. Creé un ambiente inclusivo mediante sesiones de feedback continuo y pair programming, cumpliendo

objetivos de compatibilidad cross-platform y experiencia de usuario optimizada.

TF:

Estableció metas SMART para las funcionalidades de mapa y alertas, facilitando sesiones de planificación donde todos los miembros priorizaron tareas. Creó un ambiente inclusivo al rotar roles en las pruebas de offline mode, superando el 85% de cobertura en casos de prueba planificados.

Rodrigo Adrián López Huamán

TB1:

Fomenté un entorno colaborativo e inclusivo al coordinar al equipo en la elaboración de los cinco Bounded Contexts dentro de la sección 4.2 del Tactical-Level Domain-Driven Design. Establecí metas claras y planifiqué tareas para el desarrollo estructurado de las capas Domain, Interface, Application e Infrastructure, así como la construcción de los respectivos diagramas de arquitectura a nivel de componentes, código, clases de dominio y diseño de base de datos, cumpliendo los objetivos técnicos de forma eficiente y organizada.

TP: Definí metas específicas para cada Bounded Context, planificando iteraciones que permitieron avanzar en

paralelo. Promoví pair programming para mantener coherencia en los diseños, cumpliendo con los objetivos técnicos en los plazos establecidos.

TB2:

Definí metas técnicas específicas para cada API REST, planificando iteraciones que permitieron el desarrollo paralelo de múltiples endpoints. Fomenté un entorno inclusivo mediante code reviews colaborativos y documentación compartida, cumpliendo objetivos de rendimiento, seguridad y escalabilidad en todas las APIs implementadas.

TF:

Generó inclusión mediante retroalimentación 360° en el módulo de soporte técnico, trazando hitos semanales medibles. Cumplió el 100% de las tareas asignadas gracias a daily standups estructurados y asignación balanceada de workitems según habilidades.

Rodrigo Jesús Salvador Rodríguez

TB1: Planifiqué un entorno colaborativo e inclusivo en el aporte del trabajo, evidenciando mi responsabilidad al desarrollar la Startup Profile, Solution Profile, Segmentos Objetivos, y el desarrollo de los Requeriments Specification.

TP:

Organicé workshops colaborativos para definir el Startup Profile y Solution Profile, integrando aportes de todos los miembros. Asigné tareas específicas que permitieron consolidar una visión unificada de los segmentos objetivos y requerimientos.

TB2:

Planifiqué la integración del sistema embebido estableciendo objetivos claros de conectividad y monitoreo en tiempo real. Creé un entorno colaborativo mediante workshops técnicos y sesiones de troubleshooting grupal, asignando tareas específicas que permitieron cumplir los objetivos de comunicación IoT y recolección de datos del sistema embebido.

TF:

Construyó colaboración activa en el desarrollo del dashboard, usando metodologías ágiles para definir metas visuales con el equipo de diseño. Planificó entregas parciales cada 48h, logrando consolidar todos los componentes gráficos con 0 bloqueos reportados.

Capítulo I: Introducción
  1. Startup Profile

En esta sección se presenta la descripción del startup y los perfiles de los miembros del equipo.

  1. Descripción de la Startup

La startup, presentada con el nombre de TechProtection, nace con el propósito de transformar la forma en que las personas interactúan con sus hogares, ofreciendo una solución tecnológica inteligente que combina comodidad, seguridad y eficiencia. Proponemos un sistema de automatización residencial que se activa de manera inteligente al detectar la proximidad del usuario, logrando que el hogar se adapte de forma automática a sus necesidades y preferencias.

El sistema integra diversas funciones como una cerradura electrónica, iluminación automatizada mediante sensores de luminicidad, control ambiental (temperatura) y aromatización personalizada del ambiente. Todo esto se encuentra interconectado y es gestionado desde una aplicación móvil intuitiva, permitiendo al usuario controlar y personalizar su entorno desde cualquier lugar.

GeoEntry no solo mejora la experiencia del usuario al llegar a casa, sino que también promueve la eficiencia energética y el bienestar, adaptándose dinámicamente a las rutinas diarias. Este sistema está diseñado especialmente para personas que valoran la tecnología, la seguridad y el confort en su vida cotidiana.

Misión: Redefinir la experiencia de llegada al hogar mediante una solución inteligente y automatizada que prioriza la comodidad, seguridad y bienestar de nuestros usuarios.

Visión: Convertirnos en la solución líder de automatización del hogar inteligente en Latinoamérica, destacando por nuestra innovación, personalización y compromiso con la mejora de la calidad de vida de las personas.

Logotipo de la Startup:

Logotipo del servicio:

ref1

  1. Perfiles de integrantes del equipo
Miembros Codigo estudiante Carrera Descripción

Brayan Stiven Gamboa Delgado

U202112655 Ingeniería de Software Soy un estudiante que está cursando el 8vo ciclo de la carrera de Ingeniería de Software.Tengo experiencia en html, css y js. Me considero una persona puntual y responsable. Me esfuerzo en realizar los trabajos a tiempo y crecer profesionalmente.

Harold Miguel Elias Sanchez

U202212684 Ingeniería de Software Soy un estudiante que se encuentra en el séptimo ciclo de la carrera de ingeniería de software. Mi conocimiento técnico abarca el lenguaje C++ y Python, que manejo de manera intermedia. Además, poseo habilidades básicas que me permiten contribuir efectivamente en equipos, aportando ideas y trabajando en colaboración para alcanzar nuestras metas conjuntas.

Rodrigo Adrián López Huamán

U202212338 Ingeniería de Software Mi nombre es Rodrigo Adrián López Huamán, estudiante de séptimo ciclo de Ingeniería de Software, tengo 19 años y me considero un chico responsable y comprometido con mis actividades. Además, de ser una persona creativa y capaz de trabajar en equipo para alcanzar nuestras metas. También tengo habilidades en el manejo de conflictos, lo que me permite resolver situaciones difíciles de manera efectiva. Estoy emocionado de seguir aprendiendo y creciendo en esta carrera.

Rodrigo Jesús Salvador Rodríguez

U202213646 Ingeniería de Software Mi nombre es Rodrigo Jesus Salvador Rodriguez, tengo 19 años, estudio la carrera de Ingeniería de Software en la Universidad Peruana de Ciencias Aplicadas (UPC). Me considero una persona responsable y puntual en todo tipo de aspectos, esto lo voy a ver reflejado en este proyecto, como miembro de este equipo me comprometo a seguir las indicaciones al pie de la letra, seguir recomendaciones y apoyar siempre a mis compañeros para presentar el mejor proyecto grupal.

Victor Manuel Meneses Arevalo

U202212191 Ingeniería de Software Soy estudiante de Ingeniería de Software en la Universidad Peruana de Ciencias Aplicadas. Me identifico como una persona comprometida, proactiva y orientada al trabajo en equipo. Durante el desarrollo de este proyecto, me comprometo a seguir las directrices establecidas, colaborar activamente con mis compañeros y aportar lo mejor de mí para alcanzar los objetivos propuestos y presentar un proyecto de alta calidad grupal.
  1. Solution Profile

Para entender adecuadamente el perfil de la solución, es imprescindible analizar la naturaleza del problema que estamos tratando de resolver. Esto implica identificar con detalle los aspectos fundamentales que nuestra solución debe abordar y establecer objetivos y restricciones que orienten nuestra definición. Con el fin de facilitar este proceso de análisis y enfoque, emplearemos herramientas ampliamente reconocidas como "Las 5W y 2H" y el "Proceso Lean UX".

  1. Antecedentes y problemática
  2. What/Qué

¿Cuál es el problema?

En la actualidad, muchas personas no cuentan con un sistema automatizado que les permita disfrutar de una experiencia cómoda, segura y eficiente al llegar a sus hogares. La falta de integración entre dispositivos inteligentes y la ausencia de activación automática basada en geolocalización provocan que los usuarios deban interactuar manualmente con múltiples sistemas (cerraduras, luces, temperatura, fragancias), lo cual disminuye la comodidad y afecta la eficiencia energética del hogar.

  1. Why/Por qué ¿Cuál es la causa del problema? La causa principal radica en la fragmentación del ecosistema de dispositivos inteligentes y en la falta de soluciones que utilicen geolocalización en tiempo real para activar funciones del hogar. A esto se suma que muchas personas desconocen el potencial de automatización contextual y continúan usando métodos manuales poco eficientes.

  2. Who/Quién ¿Quiénes están involucrados?

    Están involucrados instaladores de domótica, desarrolladores de viviendas inteligentes, y eventualmente, empresas del rubro inmobiliario que deseen incluir esta tecnología como valor agregado.

    ¿Quién lo utilizará?

    Los usuarios principales del sistema son personas con estilo de vida activo, profesionales y familias que buscan mayor comodidad y eficiencia en la gestión de su hogar.

  3. When/Cuándo

¿Cuándo sucede el problema?

El problema se manifiesta especialmente en momentos en los que los usuarios llegan a casa cargados, con poco tiempo, o simplemente desean una bienvenida más personalizada. La falta de automatización inteligente obliga a realizar múltiples acciones manuales para adaptar el ambiente del hogar, lo cual resulta poco práctico en la rutina diaria.

  1. Where/Dónde

¿A dónde se dirige?

El problema surge principalmente en zonas urbanas y residenciales, especialmente a personas con interés en hogares inteligentes, tecnología y confort, ofreciendo una solución unificada que optimiza su estilo de vida.

¿Dónde surge el problema?

Este problema es común en este segmento del mercado, donde los usuarios ya cuentan con dispositivos inteligentes, pero carecen de una integración automatizada que funcione en función de la proximidad del usuario.

  1. How/Cómo

¿Cómo se utilizará el producto?

El usuario instalará la app de GeoEntry en su smartphone. Al detectar que el usuario se aproxima a su vivienda, el sistema activará automáticamente funciones configuradas previamente como el desbloqueo de la puerta, el encendido de luces, el ajuste del clima interior y la liberación de fragancias ambientales. Todo esto estará conectado a través de una red domótica y gestionado desde la app.

¿Cómo lograremos la correcta integración del sistema?

GeoEntry integrará sensores de luminicidad, cerraduras electrónicas, controladores de clima, aromatizadores y geolocalización mediante una interfaz intuitiva. Los dispositivos se conectarán vía Wi-Fi o Bluetooth, y se podrá configurar rutinas según las preferencias del usuario, todo respaldado por protocolos de seguridad digital.

  1. How much/Cuánto

¿Cuál es la magnitud del problema?

Según datos de Statista (2023), el mercado global de hogares inteligentes alcanzó los USD 126 mil millones en 2022, y se proyecta un crecimiento sostenido del 11% anual. En América Latina, el interés en soluciones de automatización sigue en aumento. GeoEntry se posiciona como una solución innovadora en un sector con gran potencial. Se estima que al menos un 30-40% de los hogares con acceso a internet y dispositivos inteligentes podrían beneficiarse con la propuesta de valor de GeoEntry en los próximos cinco años.

¿Qué porcentaje del personal de la industria se verá beneficiado por el servicio?

Se estima que entre un 45% y 65% del personal vinculado a la administración, seguridad y mantenimiento de viviendas unifamiliares y conjuntos residenciales podría beneficiarse del uso de GeoEntry.

  1. Lean UX Process.
  2. Lean UX Problem Statements.

Problem Statement:

El propósito de GeoEntry es ofrecer a los usuarios una experiencia automatizada, cómoda y personalizada al llegar a casa, integrando múltiples funciones inteligentes como apertura de puertas, iluminación, climatización y ambientación aromática, todo activado mediante geolocalización.

El problema actual se manifiesta en la falta de integración efectiva entre los dispositivos inteligentes existentes en el hogar. Los usuarios deben gestionar manualmente cada dispositivo (como luces, cerraduras, termostatos, difusores de aroma), lo cual resulta tedioso, especialmente al llegar a casa en momentos de cansancio o con las manos ocupadas. Esta dependencia de acciones individuales reduce significativamente la experiencia de comodidad y puede derivar en olvidos, como dejar luces encendidas o puertas sin cerrar.

Además, la falta de automatización basada en el contexto del usuario (como su ubicación) implica que el hogar no se adapta a sus necesidades en tiempo real. Esto reduce la eficiencia energética, el confort y el potencial de una vida más conectada.

¿Cómo podríamos automatizar de forma eficiente la interacción entre el usuario y su hogar al detectar su llegada, integrando funciones clave sin necesidad de intervención manual?

  1. Lean UX Assumptions.

Business Assumptions:

  1. Creemos que nuestros usuarios necesitan una solución integrada que les permita automatizar su hogar de manera eficiente y personalizada, activándose automáticamente con base en su proximidad.
  2. Estas necesidades se pueden satisfacer mediante una plataforma que conecte cerraduras electrónicas, sensores de luz, climatización y aromatización en una única aplicación inteligente y configurable.
  3. Nuestros clientes iniciales serán personas tecnológicas, jóvenes profesionales, familias modernas y propietarios de viviendas inteligentes ubicados en zonas urbanas.
  4. El valor más importante que un cliente quiere de nuestros servicios es la comodidad automatizada al llegar a casa, sin necesidad de realizar acciones manuales.
  5. El cliente también se beneficiará de ahorros energéticos, seguridad reforzada y un ambiente hogareño siempre preparado para su llegada.
  6. Vamos a obtener la mayoría de los clientes mediante publicidad en redes sociales, alianzas con inmobiliarias y recomendaciones boca a boca.
  7. Vamos a obtener ingresos mediante un modelo de venta directa de hardware con integración gratuita de la app, así como planes de suscripción para funciones premium (automatizaciones avanzadas, control remoto, historial de actividades, etc.)
  8. Nuestra competencia en el mercado serán aplicaciones de gestión ganadera con modelos genéricos, hojas de cálculo digitales, o métodos tradicionales como cuadernos de registro.
  9. Vamos a tener ventaja frente a nuestra competencia debido a que incluye soluciones parciales como Google Home, Alexa o dispositivos IoT independientes. Sin embargo, GeoEntry tiene la ventaja de automatización basada en geolocalización y experiencia completamente integrada al entrar al hogar.
  10. El mayor riesgo del servicio es que los usuarios no adopten rápidamente la automatización por desconocimiento tecnológico, desconfianza en los sistemas automatizados o miedo a perder control manual.
  11. Lo resolveremos realizando una interfaz intuitiva, procesos de instalación asistida y contenido educativo que demuestre los beneficios y seguridad de la plataforma.

User Assumptions:

¿Quién es el usuario?

Los usuarios principales de GeoEntry son personas que desean automatizar su hogar para mejorar su experiencia diaria: jóvenes profesionales, familias tecnológicas, usuarios con rutinas definidas y personas que ya cuentan con dispositivos inteligentes en casa (cerraduras, luces, termostatos, difusores, etc.). Si el producto tiene éxito en este grupo inicial, se planea expandir hacia soluciones empresariales y de hospitalidad (como hoteles boutique o Airbnbs) que buscan automatizar la llegada del cliente y brindar una experiencia personalizada.

¿Qué problemas tiene nuestro producto? ¿Qué resuelve?

Un desafío actual es que muchos hogares inteligentes funcionan con sistemas fragmentados: el usuario debe abrir una app para la cerradura, otra para el termostato y otra para las luces. Esta falta de integración interfiere con la fluidez de la experiencia. GeoEntry resuelve este problema al activar automáticamente todos estos sistemas cuando el usuario se aproxima a casa, usando su ubicación en tiempo real. También elimina la fricción de tener que realizar múltiples tareas al llegar al hogar.

¿Qué características son importantes?

GeoEntry ofrece una solución integral que permite la activación automática de funciones clave del hogar —como cerraduras, luces, temperatura y aroma— basándose en la geolocalización del usuario. Además, brinda la posibilidad de personalizar escenarios de entrada según el horario, el clima o el día de la semana, adaptándose así a las rutinas del usuario. La plataforma permite visualizar y monitorear el historial de accesos y automatizaciones, facilitando el control completo del entorno residencial. También se integra con múltiples dispositivos inteligentes del hogar y ofrece configuraciones de alertas ante situaciones anómalas, como entradas no autorizadas o puertas abiertas, reforzando así la seguridad y comodidad del usuario.

¿Dónde encaja nuestro producto en su trabajo o vida?

GeoEntry encaja como una solución diaria de automatización del hogar. Se integra naturalmente con las rutinas del usuario: al llegar a casa del trabajo, al volver de compras, al recoger a los niños, etc. Reduce estrés, mejora la seguridad y transforma la llegada al hogar en una experiencia personalizada y eficiente.

¿Cuándo y cómo es nuestro producto? ¿Usado?

El servicio se usa principalmente cuando el usuario se aproxima a su hogar. A través de la detección geográfica, la aplicación activa automáticamente los dispositivos configurados. También puede utilizarse manualmente dentro de la app para personalizar automatizaciones, revisar estadísticas o modificar configuraciones según nuevas rutinas.

¿Cómo debe verse nuestro producto y cómo debe comportarse?

El producto debe tener una interfaz moderna, limpia, intuitiva y amigable, que inspire confianza y eficiencia. Debe permitir una configuración rápida y fácil, con flujos guiados y simples para personalizar escenas. Además, debe funcionar de forma fluida en segundo plano, consumiendo poca batería y respetando los permisos de privacidad. El comportamiento del sistema debe priorizar la seguridad, la velocidad de reacción y la conectividad confiable con los dispositivos.

Feature Assumptions:

  • Creemos que la aplicación debe tener una interfaz intuitiva que facilite a cualquier usuario la configuración de automatizaciones sin necesidad de conocimientos técnicos.
  • Creemos que debe contar con notificaciones inteligentes y personalizables, que alerten sobre eventos como puertas abiertas, entrada de personas no reconocidas o fallos de conexión.
  • Creemos que la plataforma debe integrarse con asistentes como Alexa, Google Home y Apple HomeKit, así como con dispositivos de terceros como cerraduras, luces y difusores de marcas populares.
  • Creemos que debe incluir un panel visual donde el usuario pueda ver estadísticas de uso, historial de entradas y salidas, y reportes semanales de automatización.
  1. Lean UX Hypothesis Statements.

Hypothesis Statement 1

Creemos que los usuarios interesados en domótica (usuarios con rutinas establecidas, familias tecnológicas o profesionales jóvenes) estarán dispuestos a adoptar GeoEntry para automatizar su hogar basándose en su ubicación en tiempo real. Sabremos que hemos tenido éxito Cuando al menos el 70% de los usuarios registrados configuren y utilicen al menos una automatización geolocalizada dentro de los primeros 30 días de uso.

Hypothesis Statement 2

Creemos que GeoEntry reducirá la fricción al llegar al hogar al permitir que varios dispositivos (luces, cerraduras, termostatos, aromas) se activen automáticamente sin intervención del usuario. Sabremos que hemos tenido éxito Cuando se registre un incremento del 60% en la automatización de tareas repetitivas (como abrir la puerta o encender luces) en comparación con el uso manual dentro del primer mes.

Hypothesis Statement 3

Creemos que la integración visual de datos de uso (historial de entradas, consumos energéticos, frecuencia de automatizaciones) permitirá a los usuarios tomar decisiones más inteligentes para mejorar su eficiencia doméstica. Sabremos que hemos tenido éxito Cuando al menos el 65% de los usuarios interactúen semanalmente con el panel de estadísticas de uso y realice cambios en sus automatizaciones en base a estos datos.

Hypothesis Statement 4

Creemos que una interfaz simple, moderna y centrada en el usuario facilitará la adopción del sistema, incluso para personas sin experiencia previa con domótica. Sabremos que hemos tenido éxito Cuando el índice de configuración inicial completa supere el 85% y el índice de abandono durante la primera semana sea menor al 15%.

  1. Lean UX Canvas.

El Lean UX Canvas es una herramienta utilizada en el campo del diseño centrado en el usuario (UX) y la metodología Lean para crear y desarrollar productos de manera más eficiente y efectiva. Su objetivo es proporcionar un marco estructurado para la colaboración entre equipos multidisciplinarios. A continuación se presenta el Lean UX Canvas trabajado por el equipo a través de la herramienta digital Mural:

Enlace para acceder al Canvas

  1. Segmentos objetivo

En el Perú, el mercado de casas inteligentes alcanzó un valor de USD 410,29 millones en 2024, con una proyección de crecimiento anual del 13,1% hasta 2034 . Este aumento está impulsado por la creciente adopción de tecnologías avanzadas y la demanda de soluciones que mejoren la comodidad y seguridad en el hogar.

Además, la percepción de inseguridad ha llevado a un incremento en la demanda de sistemas de seguridad doméstica. Entre enero y abril de 2023, los robos en hogares y negocios aumentaron aproximadamente un 20% en comparación con el mismo período del año anterior . En Lima, solo el 30% de los hogares cuenta con algún sistema de seguridad, aunque un 47% considera instalar uno, reflejando una creciente preocupación por la seguridad.

GeoEntry se posiciona como una solución ideal para personas que buscan integrar tecnología y seguridad en su vida diaria. Su sistema de automatización residencial, que se activa mediante la detección de proximidad del usuario, ofrece una experiencia personalizada al llegar a casa, combinando comodidad, eficiencia energética y seguridad.

1.3.1 Stakeholders Stakeholders Internos:

  • Equipo de desarrollo de GeoEntry.
  • Diseñadores de experiencia de usuario (UX/UI).
  • Especialistas en marketing y ventas.

Stakeholders Externos:

  • Usuarios finales: jóvenes profesionales, familias tecnológicas y propietarios de viviendas inteligentes en zonas urbanas.
  • Empresas inmobiliarias interesadas en ofrecer viviendas con tecnología integrada.
  • Proveedores de dispositivos inteligentes compatibles (cerraduras electrónicas, sensores, termostatos, etc.).

Capítulo II: Requirements Elicitation & Analysis

  1. Competidores
  2. Análisis competitivo

Competitive Analysis Landscape

¿Por qué llevar a cabo este análisis? Para poder tener un análisis completo sobre nuestro modelo de negocio además de poder comprender a nuestros competidores.

Nombre de los Startups

o Empresas

GeoEntry

ref2

Google Nest Samsung SmartThings Control4 (Snap One)
Perfil Overvi ew GeoEntry utiliza sensores IoT que detectan cuando una persona ingresa a un espacio y activa automáticame nte configuracion es personalizada s de iluminación, temperatura y seguridad. Intuitiva y fácil de instalar Plataforma consolidada con dispositivos propios y compatibilida d con muchos productos de terceros. Usa aprendizaje automático para adaptarse a los hábitos del usuario Ecosistema abierto y compatible con múltiples marcas. Su hub centraliza el control de dispositivos conectados y permite automatizacio nes basadas en ubicación Sistema profesional de alta gama con instalación profesional. Ofrece soluciones totalmente personalizadas para hogares de lujo y empresas con necesidades complejas

Ventaja compet itiva:

¿Qué valor ofrece a los clientes ?

Experiencia inmersiva completa al entrar al espacio sin necesidad de comandos. Solución modular y escalable que no requiere cambiar toda la infraestructur a existente. Equilibrio entre facilidad de uso y personalizaci ón avanzada

Integración perfecta con el ecosistema Google, excelente reconocimient

o de patrones y aprendizaje del comportamien to del usuario. Actualizacion es constantes y soporte a largo plazo

Gran compatibilida d con dispositivos de diferentes fabricantes. Precio más accesible y opciones de automatizació n basadas en la ubicación del usuario a través del smartphone Soluciones completamente personalizadas de alto nivel con soporte profesional. Experiencia premium para clientes dispuestos a invertir en sistemas sofisticados
Perfil de Marketing Mercad o Objetiv o Hogares de clase media- alta interesados en domótica y negocios pequeños- medianos (hoteles boutique, oficinas modernas, spas, estudios de yoga, coworkings) que buscan diferenciarse con experiencias personalizada s Propietarios de viviendas con cierto poder adquisitivo, familias interesadas en seguridad y comodidad, usuarios ya integrados en el ecosistema Google Propietarios e inquilinos con presupuesto más ajustado, usuarios que valoran la flexibilidad y quieren centralizar dispositivos de diferentes marcas Propietarios de viviendas de lujo, hotelería premium, salas de conferencias corporativas y negocios exclusivos
Estrate gias de Marketi ng Contenido educativo, alianzas con diseñadores de interiores y arquitectos, demostracion es experienciale s en showrooms de smart homes y ferias tecnológicas Publicidad masiva, presencia en tiendas como Best Buy, promoción cruzada con otros productos Google, programa Works with Nest para desarrolladore s Partnerships con múltiples fabricantes, precio competitivo, comunidad activa de usuarios que comparten automatizacio nes Marketing exclusivo, presencia en ferias de construcción de lujo, alianzas con constructores y diseñadores de élite
Perfil del producto Product os y servicio s

Hardware: sensores de presencia, hub central, accesorios de conexión. Software: app móvil para configuración , plataforma cloud, APIs para integración. Servicios: asesoría de instalación, mantenimient

o y actualizacion es

Línea completa de dispositivos smart home, servicio de almacenamien to en la nube Nest Aware, soporte técnico, actualizacione s regulares de software Hub SmartThings, sensores variados, app móvil, plataforma cloud, marketplace de aplicaciones y servicios, comunidad para compartir automatizacio nes Sistema Control4 completo con componentes propios, servicios de diseño e instalación profesional, mantenimiento premium, actualizaciones y personalizacione s exclusivas
Precios y Costos Kit básico hogar: $249 (hub + 2 sensores). Kit negocio: $599 (hub + 5 sensores + software analítico). Sensores adicionales: $49/unidad. Suscripción opcional: $5.99/mes (análisis avanzado y backup) Termostato Nest: $249. Cámara Nest: $199-299. Timbre Nest: $229. Suscripción Nest Aware: $6-12/mes. Sin costos de instalación profesional obligatoria Hub: $99. Sensores entre $20-60. Sin costos de suscripción obligatoria. Compatible con dispositivos económicos de diferentes marcas Sistemas desde $5,000 hasta $50,000+ dependiendo de la complejidad. Instalación profesional obligatoria ($1,000+). Suscripción anual de mantenimiento recomendada

Canales de distribu ción

(Web y/o Móvil)

Web propia con e- commerce, Amazon, tiendas especializada s en smart home, alianzas con integradores de domótica, app móvil (iOS/Android ) y aplicación web para gestión Google Store, Amazon, Best Buy, Home Depot, instaladores autorizados. Control mediante app Nest/Google Home (iOS/Android) Tienda online propia, Amazon, Best Buy, Walmart. Control mediante app SmartThings (iOS/Android ) Exclusivamente a través de distribuidores e instaladores autorizados. Venta consultiva con demostración previa. Control mediante app Control4 (iOS/Android) y paneles táctiles instalados
Análisis SWOT Fortale zas

Experiencia inmersiva "manos libres" sin necesidad de comandos

Sistema modular y escalable

Equilibrio entre facilidad de uso y personalizaci ón

Compatible con múltiples ecosistemas existentes

Precio competitivo para el valor ofrecido

Marca reconocida y respaldo de Google

Productos de alta calidad y diseño atractivo

Fuerte integración con asistentes virtuales

Constantes actualizacione s y mejoras

Amplia red de distribución

Gran compatibilida d con diferentes marcas

Comunidad activa de usuarios

Precios accesibles

Plataforma abierta para desarrolladore s

Respaldo de Samsung

Calidad premium

Personalización total

Soluciones a medida para hogares y negocios

Servicio completo (diseño, instalación, mantenimiento) Experiencia en proyectos complejos

Debilid ades

Marca nueva sin reconocimien to en el mercado

Red de distribución limitada

Dependencia de fabricantes de dispositivos para integraciones Equipo más pequeño que las grandes corporaciones

Precios elevados

Ecosistema cerrado que prioriza productos Google

Necesidad de conexión a internet constante

Preocupacione s de privacidad por recopilación de datos

Experiencia de usuario menos pulida Algunas automatizacio nes requieren conocimiento s técnicos

Menor reconocimient

o de marca que Google

Soporte técnico limitado

Precios muy elevados

Instalación profesional obligatoria

Dependencia del instalador para cambios

- Menor

flexibilidad para actualizaciones DIY

- Curva de

aprendizaje pronunciada

Oportu nidades

Crecimiento del mercado de smart home y IoT Aumento de conciencia sobre eficiencia energética

Interés creciente en experiencias personalizada s

Potencial para expandirse al sector hotelero y hospitalidad

Expansión del ecosistema Google Home Integración con nuevos electrodomésti cos inteligentes

Alianzas con constructoras para instalaciones en nuevas viviendas

Desarrollo de IA más avanzada

Crecimiento del mercado de dispositivos compatibles

Potencial para convertirse en el estándar de interoperabili dad

Expansión internacional Nuevos acuerdos con fabricantes

Aumento de construcciones de lujo

Crecimiento del segmento de hoteles boutique Expansión a oficinas corporativas premium

- Internacionaliza ción a mercados emergentes de lujo

Amena zas

Entrada de grandes tecnológicas al mismo nicho

Cambios en estándares de conectividad

Preocupacion es sobre privacidad y seguridad

Recesión económica que afecte el gasto en tecnología

Competencia creciente de Amazon y Apple

Regulaciones de privacidad más estrictas Saturación del mercado premium

Vulnerabilida des de seguridad

Posible consolidación del mercado

Competencia de soluciones propietarias más integradas

Cambios en la estrategia de Samsung

Problemas de compatibilida d con actualizacione s de terceros

Soluciones DIY cada vez más sofisticadas

Disminución en la demanda de instalaciones profesionales

- Competencia

de sistemas modulares más accesibles

- Cambios

generacionales en preferencias de consumo

  1. Estrategias y tácticas frente a competidores
Competidores ¿Qué se puede hacer para ganarle a la competencia?
Competidor 1: Google Nest

- Ofrecer una experiencia "manos libres" completamente automática, sin necesidad de comandos manuales.

- Posicionarse como la opción con mejor relación valor-precio en el segmento medio-alto, superando la oferta de Nest en accesibilidad y facilidad de uso.

- Desarrollar soluciones modulares que permitan a los usuarios comenzar con una inversión más baja y escalar gradualmente.

- Establecer alianzas estratégicas con arquitectos, diseñadores de interiores y constructoras para aumentar la visibilidad y el alcance en proyectos de viviendas inteligentes.

Competidor 2: SmartThings (Samsung)

- Simplificar la instalación y gestión para hacerla accesible a usuarios menos técnicos, ofreciendo una experiencia intuitiva y sin fricciones.

- Mejorar la integración con dispositivos existentes para que los usuarios no necesiten reemplazar toda su infraestructura de hogar inteligente.

- Enfocar más en la personalización para negocios, como hoteles boutique y espacios comerciales, agregando valor a esos segmentos con características específicas.

- Fomentar una comunidad activa de usuarios que compartan configuraciones personalizadas y escenas para aumentar el valor de la plataforma a medida que crece.

Competidor 3: Control4 (Snap One)

- Proporcionar una opción más accesible, enfocándose en la facilidad de uso y la reducción de la necesidad de instalación profesional obligatoria.

- Ofrecer precios más competitivos en comparación con Control4, haciendo que la tecnología avanzada sea más accesible para un público más amplio.

- Desarrollar un sistema modular que permita a los usuarios comenzar con una inversión pequeña y aumentar la escala a medida que se familiarizan con el sistema.

- Desarrollar propiedad intelectual alrededor de sus algoritmos de detección y personalización para proteger la tecnología y mantener una ventaja competitiva.

  1. Entrevistas

En esta sección del informe se realizará el diseño, registro y análisis de las entrevistas de nuestros segmentos objetivos

  1. Diseño de entrevistas Segmentos encontrados:
  • Usuarios residenciales con tecnología inteligente en el hogar
  • Negocios que buscan experiencias de bienvenida automatizadas

Antes de poder realizar las entrevistas, consideramos prudente poder concretar un análisis previo para poder realizar las entrevistas de una mejor manera. Es por ello, que para cada uno de nuestros segmentos proponemos estas preguntas para poder conocer un poco más sobre nuestro público objetivo.

Preguntas: preguntas ordenadas para entrevistar a los dos segmentos objetivos de la startup "GeoEntry":

Segmento: Hogares inteligentes (usuarios residenciales) Principales:

  1. Introducción al Contexto: ¿Podría describir qué tecnologías inteligentes tiene actualmente en su hogar y cómo las utiliza en su día a día?
  2. Experiencia Actual: ¿Cómo es su experiencia al llegar a casa? ¿Qué acciones debe realizar manualmente que le gustaría automatizar?
  3. Desafíos y Frustraciones: ¿Cuáles son los mayores inconvenientes o frustraciones que experimenta con la tecnología existente en su hogar?
  4. Prioridades y Valores: ¿Qué aspectos valora más en su hogar: la comodidad, la seguridad, la eficiencia energética o la personalización del ambiente?
  5. Experiencias Previas: ¿Ha intentado implementar algún sistema de automatización anteriormente? ¿Cuál fue su experiencia?
  6. Interacción Preferida: ¿Prefiere controlar sus dispositivos mediante comandos de voz, aplicaciones móviles, o le gustaría que funcionaran automáticamente sin intervención?
  7. Preocupaciones: ¿Qué preocupaciones tiene respecto a implementar más tecnologías inteligentes en su hogar (privacidad, complejidad, costo, etc.)?
  8. Disposición a Invertir: ¿Qué presupuesto consideraría razonable para implementar un sistema que automatice su experiencia al llegar a casa?
  9. Expectativas de Resultados: ¿Cómo imagina que sería la experiencia ideal al llegar a su hogar si pudiera personalizarla completamente?
  10. Decisión de Compra: ¿Qué factores serían determinantes para que usted decidiera invertir en un nuevo sistema de automatización para su hogar?

Segmento: Negocios que buscan experiencias de bienvenida automatizadas Principales:

  1. Contexto del Negocio: ¿Podría describir su negocio y cómo es actualmente la experiencia de sus clientes o empleados al ingresar a su establecimiento?
  2. Objetivos de Experiencia: ¿Qué tipo de primera impresión o experiencia de bienvenida le gustaría crear para las personas que ingresan a su establecimiento?
  3. Desafíos Actuales: ¿Qué problemas o limitaciones enfrenta actualmente para ofrecer una experiencia de bienvenida personalizada y consistente?
  4. Tecnología Existente: ¿Qué tecnologías o sistemas de automatización utiliza actualmente en su negocio? ¿Cuáles han sido sus resultados?
  5. Diferenciación Competitiva: ¿Cómo cree que una experiencia de bienvenida automatizada podría ayudarle a diferenciarse de sus competidores?
  6. Impacto en Clientes: ¿Qué tipo de comentarios o retroalimentación ha recibido de sus clientes respecto a la experiencia de entrada a su establecimiento?
  7. Expectativas de ROI: ¿Qué retorno de inversión esperaría de implementar un sistema de bienvenida automatizado en términos de satisfacción del cliente, eficiencia operativa o ahorro energético?
  8. Presupuesto y Recursos: ¿Qué presupuesto consideraría razonable para implementar una solución de este tipo? ¿Cuenta con personal que podría gestionar esta tecnología?
  9. Personalización y Control: ¿Qué nivel de personalización y control necesitaría sobre las experiencias automatizadas para diferentes tipos de clientes o momentos del día?
  10. Factores de Decisión: ¿Qué aspectos serían determinantes para que usted decidiera implementar una solución de bienvenida automatizada en su negocio (facilidad de uso, escalabilidad, compatibilidad con sistemas existentes, etc.)?
  11. Registro de entrevistas

A continuación se presentan los resúmenes de las entrevistas realizadas a representantes de nuestros dos segmentos objetivo.

Segmento 1: Hogares inteligentes (usuarios residenciales) Entrevistado 1:

Datos del Entrevistado

  • Nombre: Alejandro Barturen
  • Edad: 21
  • Distrito: San Miguel

URL: Link de entrevista

  • Resumen:

    Cuenta con un ecosistema básico de hogar inteligente (luces y termostato inteligentes, cerradura inteligente). Busca principalmente automatizar el proceso de llegada a casa, eliminando la necesidad de buscar llaves, encender luces manualmente y ajustar la temperatura. Su principal frustración es la fragmentación de los sistemas que requieren múltiples aplicaciones. Valora la comodidad como prioridad principal, seguida de la eficiencia energética. Ha experimentado con automatizaciones básicas mediante IFTTT, pero las abandonó por la dificultad de adaptarlas a horarios variables. Prefiere soluciones que funcionen automáticamente según su ubicación y horarios, sin necesidad de comandos o aplicaciones. Expresa preocupaciones sobre privacidad y obsolescencia tecnológica. Dispuesto a invertir entre $500-700 inicialmente en un sistema que realmente funcione. Los factores determinantes para su decisión incluyen facilidad de instalación, compatibilidad con dispositivos existentes, confiabilidad y buen soporte técnico.

Entrevistado 2:

Datos del Entrevistado

  • Nombre: Steven Liu Li
  • Edad: 24
  • Distrito: San Miguel

URL: Link de entrevista

  • Resumen:

    Posee un sistema más orientado a la seguridad (cámaras conectadas, enchufes inteligentes y cortinas automáticas). Desea automatizar la desactivación del sistema de alarma, el encendido de luces y ajuste de temperatura al llegar a casa. Su principal frustración es la falta de integración entre dispositivos de diferentes marcas. Prioriza la seguridad sobre la comodidad, con especial interés en el monitoreo remoto. Ha expandido gradualmente su sistema mediante prueba y error. Prefiere una combinación de automatización basada en ubicación y control manual desde el teléfono. Sus principales preocupaciones incluyen la seguridad informática de los dispositivos y la resiliencia del sistema ante fallas eléctricas. Considera una inversión de $800-1000 para un sistema integral. Valora especialmente la seguridad informática, compatibilidad con dispositivos existentes y un buen soporte técnico.

Entrevistado 3:

Datos del Entrevistado

  • Nombre: Harold Mayta
  • Edad: 21
  • Distrito: Lince

URL: Link de entrevista

  • Resumen:

    Principiante en domótica con experiencia limitada a bombillas y parlantes inteligentes. Busca simplificar su rutina de llegada a casa, especialmente cuando tiene las manos ocupadas. Su principal desafío es no saber por dónde empezar ante las abrumadoras opciones del mercado. Valora la simplicidad y buena relación calidad-precio sobre características avanzadas. Ha encontrado complicada la configuración de rutinas automatizadas. Prefiere un equilibrio entre funciones automáticas y comandos de voz simples. Le preocupa principalmente la complejidad de instalación y configuración, así como la potencial obsolescencia. Dispuesto a realizar una inversión inicial modesta de $300-400 como prueba. Los factores decisivos incluyen facilidad de instalación y configuración, escalabilidad, y buen soporte para principiantes.

Segmento 2: Negocios que buscan experiencias de bienvenida automatizadas Entrevistado 4:

Datos del Entrevistado

  • Nombre: Jose Cuevas Vera
  • Negocio: Hotel boutique (15 habitaciones)
  • Cargo: Dueño y Gestor

URL: Link de entrevista

  • Resumen:

    Gestiona un hotel boutique donde la experiencia de llegada es tradicional, con check-in manual y llaves físicas. Desea crear una experiencia más personalizada con ajustes automáticos de ambiente y notificaciones para el personal con información relevante sobre cada huésped. Su principal desafío es la inconsistencia en la experiencia según el personal en turno. Cuenta con sistemas digitales de gestión hotelera, cerraduras con tarjeta y sonido centralizado, pero sin integración entre ellos. Ve en la automatización un diferenciador importante en su segmento de mercado. Los clientes han sugerido mejorar la eficiencia del check-in y personalización. Espera como retorno aumento en valoraciones positivas, mayor fidelización y ahorro energético. Dispuesto a invertir entre $5,000-8,000, con personal técnico básico para gestionar el sistema. Necesita flexibilidad para personalizar la experiencia según distintos perfiles de huéspedes. Los factores determinantes incluyen facilidad de integración con sistemas existentes, simplicidad de uso para el personal y buen soporte técnico.

Entrevistado 5:

Datos del Entrevistado

  • Nombre: Nicolas Alejandro Vera
  • Negocio: Estudio de yoga y bienestar
  • Cargo: Dueño y Administrador

URL: Link de entrevista

  • Resumen:

    Dirige un estudio de yoga con tres salas diferentes donde el registro es manual y los ajustes de ambiente se realizan manualmente entre clases. Busca crear un ambiente más fluido donde los clientes frecuentes sean reconocidos automáticamente y dirigidos a salas ya configuradas según el tipo de clase. Su principal desafío es la transición entre clases y el registro de asistencia sin interrumpir la tranquilidad del espacio. Dispone de un sistema básico de reservas online y controles independientes no automatizados para iluminación y sonido. Ve la automatización como un diferenciador para posicionarse como estudio premium. Ha recibido algunas quejas sobre tiempos de espera en registro y configuraciones inadecuadas de salas. Espera mejorar la retención de clientes y reducir la carga administrativa. Con un presupuesto de $3,000-5,000 como pequeño negocio, necesita una solución intuitiva con buen soporte. Requiere poder configurar ambientaciones predefinidas para diferentes tipos de clases. Valora especialmente la simplicidad de uso, confiabilidad incluso sin internet, y estética discreta de los dispositivos.

Entrevistado 6:

Datos del Entrevistado

  • Nombre: Erick Cavero
  • Negocio: Espacio de coworking
  • Cargo: Administrador

URL: Link de entrevista

  • Resumen:

    Administra un espacio de coworking con acceso mediante tarjetas RFID pero sin automatización interna. Desea implementar reconocimiento automático de miembros con indicaciones de espacios disponibles según preferencias y configuración automática de áreas de trabajo reservadas. Enfrenta desafíos en la gestión de ocupación en tiempo real y en la recepción de visitantes para reuniones. Cuenta con sistemas de control de acceso, reserva de salas y termostatos programables, pero funcionan independientemente. El mercado competitivo de coworking hace que la experiencia tecnológica avanzada sea un importante diferenciador, especialmente para su clientela de profesionales tecnológicos. Los miembros han sugerido mejorar la fluidez del proceso desde la entrada hasta instalarse a trabajar. Espera mejorar las tasas de renovación, poder cobrar un premium por la experiencia, y optimizar la utilización del espacio. Con un presupuesto considerable de $10,000-15,000 dada la escala del negocio, y soporte técnico a tiempo parcial. Necesita alto nivel de personalización por miembro, tipo de espacio y horario. Prioriza la escalabilidad del sistema, robustez para múltiples usuarios, integración con sistemas existentes y capacidades analíticas.

  1. Análisis de entrevistas

Tras analizar las entrevistas realizadas, se identifican los siguientes patrones y conclusiones relevantes para cada segmento:

Segmento 1: Hogares inteligentes (usuarios residenciales) Patrones identificados:

  1. Fragmentación como dolor principal: Los tres entrevistados mencionan la fragmentación de los sistemas y la multiplicidad de aplicaciones como una frustración importante.
  2. Deseo de automatización basada en presencia: Existe un claro deseo de que el sistema reconozca automáticamente su llegada sin necesidad de comandos o aplicaciones.
  3. Preocupación por complejidad: Independientemente del nivel de experiencia con tecnología, todos expresan preocupación por la complejidad de instalación y configuración.
  4. Compatibilidad con dispositivos existentes: Valoran soluciones que se integren con los dispositivos que ya poseen, evitando reemplazar sistemas completos.
  5. Escalabilidad deseada: Prefieren sistemas que permitan comenzar con funcionalidades básicas y expandirse gradualmente.

Necesidades prioritarias:

  • Solución integrada que reduzca la fragmentación de aplicaciones
  • Detección automática de presencia que active configuraciones personalizadas
  • Instalación y configuración sencilla, idealmente sin conocimientos técnicos avanzados
  • Buena relación calidad-precio con opción de expansión modular

Rangos de inversión: Entre $300-1000 dependiendo del nivel de adopción previo de tecnología y complejidad de la solución.**

Propósito de Entrevistas (Segmento 1):

El propósito de estas entrevistas es comprender en profundidad las rutinas, frustraciones y expectativas de los usuarios residenciales que ya interactúan con tecnología inteligente en sus hogares. Buscamos identificar qué aspectos de su experiencia de llegada a casa podrían mejorarse mediante automatización, qué tipo de soluciones les resultan atractivas, qué barreras perciben para adoptar nuevas tecnologías y cuál es su disposición a invertir en sistemas que mejoren su comodidad y seguridad. Además, deseamos explorar cómo priorizan elementos como la privacidad, el control, la personalización y la compatibilidad entre dispositivos, ya que estos factores influyen directamente en su confianza hacia nuevas soluciones tecnológicas. Con esta información, podremos definir de forma más precisa las características mínimas necesarias para una propuesta de valor efectiva, segmentar a los usuarios según sus hábitos y preferencias, y anticipar posibles objeciones en el proceso de adopción. También se busca detectar patrones en las decisiones de compra y evaluar la aceptación de sistemas basados en geolocalización o automatización contextual.

Patrones identificados:

  1. Personalización como diferenciador: Los tres negocios ven la experiencia personalizada como un importante diferenciador en mercados competitivos.
  2. Transiciones fluidas: Buscan eliminar fricciones en los momentos de llegada, registro o cambio de actividad.
  3. Integración con sistemas existentes: Todos cuentan con sistemas digitales parciales que desean integrar en una solución coherente.
  4. Valor del análisis de datos: Muestran interés en obtener datos sobre patrones de uso para optimizar sus operaciones.
  5. Necesidad de control flexible: Requieren equilibrio entre automatización y capacidad de ajuste manual según circunstancias variables.

Necesidades prioritarias:

  • Reconocimiento automático de clientes/miembros con activación de preferencias personalizadas
  • Integración con sistemas de gestión y reservas existentes
  • Interfaz simple para configuración por personal no técnico
  • Capacidades analíticas para optimizar operaciones
  • Escalabilidad según el tamaño y crecimiento del negocio

Rangos de inversión: Entre $3,000-15,000 dependiendo del tamaño del negocio, la complejidad de la integración con sistemas existentes y el nivel de personalización deseado. Negocios más grandes o con alto flujo de clientes están dispuestos a invertir más si la solución ofrece beneficios claros en eficiencia operativa y experiencia del usuario.

Propósito de Entrevistas (Segmento 2):

Estas entrevistas tienen como finalidad explorar cómo los negocios perciben la importancia de la primera impresión al recibir a sus clientes o empleados, y qué limitaciones enfrentan actualmente para ofrecer una experiencia de entrada fluida y memorable. Se busca entender el valor que le asignan a la automatización en este contexto, qué nivel de personalización requieren, cuáles son sus expectativas en cuanto al retorno de inversión, y qué factores influirían en su decisión de implementar una solución tecnológica. También nos interesa conocer los tipos de negocios más receptivos a este tipo de soluciones, la frecuencia de interacción con sus visitantes, y los puntos críticos donde la automatización podría generar mayor impacto. A partir de esto, podremos determinar cuáles son los casos de uso más relevantes, identificar requisitos funcionales comunes entre negocios y diseñar propuestas flexibles que puedan adaptarse a distintos tamaños, rubros y horarios de operación. Asimismo, evaluaremos la disposición de los negocios a invertir recursos humanos y financieros en mantener este tipo de tecnologías operativas.

  1. Needfinding
  2. User Personas

Segmento 1: Usuarios Residenciales de Hogares Inteligentes

  1. User Task Matrix

En este apartado de la User Task Matrix se analiza las tareas realizadas por los dos segmentos identificados: Usuarios Residenciales de Hogares Inteligentes y Negocios que buscan experiencias de bienvenida automatizadas. A través de esta matriz, se identifican las tareas clave y su frecuencia e importancia según cada User Persona, lo que permitirá comprender mejor sus necesidades y prioridades.

Tarea Alejandro Frecuencia Alejandro Importancia Jose Frecuencia Jose Importancia
Configurar automatizaciones para llegada a casa A menudo Alta A menudo Alta
Ajustar dispositivos inteligentes para comodidad y eficiencia energética A menudo Alta A veces Media
Integrar dispositivos de diferentes marcas en un solo sistema A veces Alta A menudo Alta
Supervisar seguridad del hogar mediante dispositivos inteligentes A menudo Alta A veces Media
Revisar compatibilidad de nuevos dispositivos con ecosistemas existentes A veces Media A menudo Alta
Configurar preferencias de clientes en experiencias automatizadas Nunca Baja A menudo Alta
Mejorar eficiencia del proceso de llegada y registro de clientes Nunca Baja A menudo Alta
Implementar soluciones para detección automática de presencia A veces Alta A menudo Alta
Evaluar costos de inversión en automatización A menudo Alta A menudo Alta
Seleccionar plataformas digitales y aplicaciones para gestión de automatización A veces Media A menudo Alta
Investigar sobre privacidad y seguridad de datos en dispositivos inteligentes A veces Alta A menudo Alta
Personalizar configuraciones automáticas según horarios y hábitos A menudo Alta A veces Media

Análisis de Tareas

Al observar la matriz de tareas, podemos destacar que tanto los Usuarios Residenciales de Hogares Inteligentes como los Negocios que buscan experiencias de bienvenida automatizadas coinciden en la importancia de ciertas tareas clave dentro de sus necesidades de automatización.

Tareas de alta frecuencia e importancia para Usuarios Residenciales

  • Configurar automatizaciones para llegada a casa: Es una prioridad para los usuarios, ya que buscan eliminar la necesidad de ajustes manuales al ingresar al hogar.
  • Supervisar seguridad del hogar mediante dispositivos inteligentes: La tranquilidad de contar con un sistema seguro que permita el monitoreo remoto es esencial.
  • Personalizar configuraciones automáticas según horarios y hábitos: La eficiencia energética y la comodidad se optimizan cuando los dispositivos se adaptan a la rutina del usuario.
  • Evaluar costos de inversión en automatización: Los usuarios quieren asegurarse de que la inversión inicial sea rentable y escalable.

Tareas de alta frecuencia e importancia para Negocios

  • Mejorar eficiencia del proceso de llegada y registro de clientes: La automatización del ingreso y la personalización de la experiencia impactan directamente en la percepción del servicio.
  • Configurar preferencias de clientes en experiencias automatizadas: Cada negocio busca ofrecer ambientes adaptados a las necesidades de los clientes frecuentes.
  • Implementar soluciones para detección automática de presencia: La fluidez en la gestión de espacios y procesos automatizados es clave para la satisfacción del usuario.
  • Revisar compatibilidad de nuevos dispositivos con ecosistemas existentes: La integración tecnológica es un desafío constante para evitar fragmentación y optimizar el rendimiento de los sistemas.

La coincidencia entre estos segmentos radica en la necesidad de automatización sin fricciones, donde la tecnología se adapta al usuario en lugar de requerir constante intervención manual. Ambos grupos valoran la facilidad de integración, la seguridad informática y la personalización de la experiencia como aspectos fundamentales de sus sistemas inteligentes.

  1. Empathy Mapping

Segmento 1: Usuarios Residenciales de Hogares Inteligentes

¿Qué Piensa y Siente? ¿Qué Ve?
Quiere un hogar que se adapte automáticamente a su presencia sin necesidad de comandos manuales. Observa que muchas soluciones de domótica requieren múltiples aplicaciones y configuraciones tediosas.
Se siente frustrado por la falta de compatibilidad entre marcas y sistemas en su hogar inteligente. Nota que los dispositivos inteligentes en el mercado no siempre son fáciles de integrar.
Tiene preocupaciones sobre privacidad y obsolescencia tecnológica. Ve nuevas soluciones tecnológicas, pero se pregunta si realmente ofrecen mejoras sustanciales.
Valora la comodidad como su principal prioridad, seguida de la eficiencia energética. Encuentra reseñas de otros usuarios con problemas similares en foros y redes sociales.
¿Qué Dice y Hace? ¿Qué Oye?
Comenta que la automatización de su hogar debería ser intuitiva y sin complicaciones. Escucha opiniones mixtas sobre los beneficios reales de los sistemas inteligentes actuales.
Busca opciones de integración que le permitan controlar todo desde una sola aplicación. Oye sobre nuevas tecnologías, pero teme que la instalación y configuración sean complicadas.
Expresa su deseo de eliminar la necesidad de buscar llaves, encender luces y ajustar temperatura manualmente. Lee sobre soluciones de presencia automatizada, pero pocas tienen opiniones realmente positivas.
Dolores Ganancias
Frustrado por la fragmentación de aplicaciones y la falta de compatibilidad entre dispositivos. Tener un ecosistema de hogar inteligente que funcione de manera integrada sin múltiples aplicaciones.
Preocupado por la privacidad y la posibilidad de que los dispositivos se vuelvan obsoletos. Disponer de un sistema automatizado que se adapte a sus horarios y ubicación sin necesidad de ajustes manuales.
Encuentra difícil adaptar automatizaciones a horarios variables. Acceso a una solución que le permita expandir su sistema sin cambiar todo el ecosistema tecnológico de su hogar.

Segmento 2: Negocios con Experiencia de Bienvenida Automatizada

¿Qué Piensa y Siente? ¿Qué Ve?
Quiere mejorar la experiencia de llegada y personalización en su negocio a través de automatización. Observa que la competencia está adoptando sistemas más avanzados para mejorar la experiencia del cliente.
Prioriza la seguridad y el monitoreo remoto sobre la comodidad. Nota que las soluciones actuales tienen integraciones limitadas con otras plataformas de gestión.
Se preocupa por la resiliencia del sistema ante fallas eléctricas o problemas de conexión a internet. Ve tendencias en automatización, pero muchas no están adaptadas a las necesidades específicas de negocios.
Desea una solución que se integre con su sistema de reservas y gestión de clientes. Encuentra que muchas soluciones requieren inversiones mayores de lo esperado para lograr una integración efectiva.
¿Qué Dice y Hace? ¿Qué Oye?
Comenta sobre la importancia de una experiencia de llegada fluida y personalizada para sus clientes. Escucha quejas de clientes sobre tiempos de espera y procesos de registro poco eficientes.
Investiga sobre tecnologías que permitan reconocer automáticamente a los clientes frecuentes. Oye sobre sistemas de automatización, pero la mayoría no integran bien con su infraestructura actual.
Expresa su preocupación por la seguridad informática y protección de datos. Recibe consejos sobre opciones en el mercado, pero muchas no cumplen con estándares de seguridad óptimos.
Dolores Ganancias
Lidiar con la falta de integración entre sistemas de gestión y automatización. Tener un sistema que sincronice la información de clientes y sus preferencias automáticamente.
La inconsistencia en la experiencia según el personal en turno. Ofrecer una experiencia homogénea e intuitiva para todos los clientes sin depender de factores humanos.
Preocupaciones sobre seguridad informática y protección de datos de los clientes. Contar con un sistema de automatización robusto y confiable que minimice riesgos de seguridad.
  1. As-is Scenario Mapping

Segmento 1: Usuarios Residenciales de Hogares Inteligentes

Segmento 2: Negocios con Experiencia de Bienvenida Automatizada

  1. Ubiquitous Language
Término Definición
Hogar Inteligente Conjunto de dispositivos tecnológicos interconectados que permiten la automatización de funciones dentro de una vivienda, como iluminación, seguridad, control de temperatura y entretenimiento. Estos dispositivos pueden ser gestionados manualmente, mediante comandos de voz o por detección de presencia.
Automatización Proceso en el que las tareas repetitivas o manuales dentro de un hogar o negocio se realizan sin intervención humana, gracias a la configuración de dispositivos inteligentes que responden a condiciones predefinidas. Incluye detección de presencia, ajuste de iluminación y personalización de ambientes.
Ecosistema Tecnológico Conjunto de dispositivos y plataformas digitales que interactúan entre sí dentro de una red doméstica o empresarial para ofrecer una experiencia integrada y fluida. Puede incluir asistentes de voz, sensores, cámaras de seguridad, termostatos inteligentes y aplicaciones de gestión de automatización.
Integración Capacidad de los dispositivos inteligentes de diferentes marcas y sistemas para conectarse y trabajar en conjunto sin interferencias, ofreciendo una experiencia homogénea. La integración es clave para evitar la fragmentación tecnológica dentro de un hogar o negocio.
Experiencia de Bienvenida En negocios, se refiere al conjunto de interacciones automatizadas que mejoran la llegada de clientes o visitantes. Esto puede incluir el reconocimiento de clientes frecuentes, ajuste automático de iluminación y sonido según preferencias, y procesos de check-in automatizados.
Seguridad Informática Protección de datos y dispositivos inteligentes contra accesos no autorizados, ciberataques o fallos en la red. Incluye cifrado de información, autenticación de usuarios y medidas contra vulnerabilidades en sistemas de automatización.
Control de Acceso Sistemas de seguridad que gestionan el ingreso de usuarios a espacios físicos mediante identificación biométrica, tarjetas RFID o códigos digitales. Usado en hogares inteligentes y negocios como hoteles, coworkings o estudios de bienestar.
Interfaz de Gestión Plataforma digital, generalmente una aplicación móvil o dashboard web, que permite administrar y configurar los dispositivos inteligentes, ajustar preferencias y revisar datos de uso en un hogar o negocio automatizado.
Personalización de Ambientes Ajuste automático de luz, temperatura, sonido y otros parámetros según las preferencias del usuario o tipo de cliente. Es una función clave en hogares inteligentes y negocios orientados a mejorar la experiencia del cliente mediante automatización.
Escalabilidad Capacidad de un sistema de automatización para expandirse y adaptarse con nuevos dispositivos o funciones sin perder eficiencia. Importante para usuarios que buscan iniciar con una solución básica y luego agregar más funcionalidades.

Capítulo III: Requirements Specification

  1. To-Be Scenario Mapping

Para realizar el To-be Scenario Mapping el equipo determinó como se vería el flujo de trabajo luego de que nuestra solución, GeoEntry, haya sido implementada para los segmentos objetivos.

  • Familias:

  • Jóvenes:

  1. User Stories Epics:

    EP01: Gestión de Dispositivos Inteligentes

    Como usuario,**

    Quiero agregar, configurar y monitorear mis dispositivos inteligentes (luces, termostatos, cerraduras, difusores) desde una única interfaz,

    Para controlar mi hogar de manera centralizada.

    EP02: Automatización Basada en Geolocalización

    Como usuario,

    Quiero que mi hogar se active automáticamente al detectar mi proximidad (ej: encender luces, ajustar clima),

    Para una experiencia sin interacción manual.

    EP03: Monitoreo y Reportes de Actividad

    Como usuario,

    Quiero acceder a registros detallados de actividad (ej: cambios de temperatura, apertura de puertas) y reportes de consumo energético,

    Para optimizar el uso de mis dispositivos.

    EP04: Gestión de Usuarios y Permisos

    Como administrador del hogar,

    Quiero invitar a otros usuarios (familiares, amigos) y asignar permisos específicos (ej: solo control de luces),

    Para compartir el acceso de manera segura.

    EP05: Soporte y Configuración de la Aplicación

    Como usuario,

    Quiero acceder a opciones de configuración global (idioma, notificaciones) y soporte técnico (FAQs, contacto directo),

    Para resolver problemas rápidamente.

    User Stories:

    US01: Contactar al equipo de soporte

    Como usuario de GeoEntry,

    Quiero enviar un mensaje al equipo de soporte desde la app Para resolver problemas técnicos.

    Criterio de Aceptación:

  • Escenario 1: Envío exitoso

    Dado que el usuario completa el formulario de soporte

    Cuando haga clic en "Enviar"

    Entonces el sistema mostrará "Mensaje recibido" y notificará al equipo.

  • Escenario 2: Formulario incompleto

    Dado que el usuario deja campos obligatorios vacíos en el formulario de soporte Cuando intente hacer clic en "Enviar"

    Entonces el sistema mostrará "Complete los campos requeridos" y resaltará en rojo los campos faltantes.

US02: Agregar dispositivo para geolocalización

Como usuario nuevo de GeoEntry,

Quiero agregar un dispositivo desde la sección "Dispositivos" Para comenzar a controlar mi hogar inteligente.**

Criterio de Aceptación:

  • Escenario 1: Dispositivo agregado exitosamente

    Dado que el usuario hace clic en "Agregar Dispositivo" en la sección "Dispositivos". Cuando ingresa el dispositivo que desee agregar.

    Entonces el sistema muestra "Dispositivo vinculado correctamente" y lo agrega a la lista.

  • Escenario 2: Dispositivo ya registrado

    Dado que el dispositivo ya está vinculado a otra cuenta,

    Cuando el usuario intenta agregarlo,

    Entonces el sistema muestra "Este dispositivo ya está en uso" y sugiere contactar al soporte.

US03: Prender luces inteligentes automáticamente

Como usuario,

Quiero que al entrar a mi casa las luces inteligentes se prendan automáticamente Para tener mi casa preparada a lo que quiera hacer**

Criterio de Aceptación:

  • Escenario 1: Activación exitosa al llegar

    Dado que el usuario entra en un radio de 20m de su casa, Cuando el sistema detecta su ubicación,

    Entonces las luces se encienden.

  • Escenario 2: Fallo en el sensor de luz

    Dado que el sensor de luz no responde,

    Cuando el sistema intenta activar las luces,

    Entonces envía una notificación: "Error al encender luces - Verificar conexión".

US04: Recibir alerta al llegar a ubicación

Como usuario,

Quiero que la aplicación me notifique al acercarme a mi ubicación configurada Para tener un registro de mi actividad.**

Criterio de Aceptación:

  • Escenario 1: Notificación de llegada

    Dado que el usuario está a 30m de su ubicación configurada. Cuando el sistema detecta su proximidad.

    Entonces envía un push: "¡Bienvenido a Casa!".

  • Escenario 2: Ubicación no reconocida

    Dado que el GPS tiene baja precisión (+300m), Cuándo sistema no puede confirmar la ubicación Entonces muestra "No se pudo detectar tu llegada".

US05: Invitar a un familiar

Como administrador,

Quiero compartir acceso temporal con un familiar Para que controle dispositivos específicos.

Criterio de Aceptación:

  • Escenario 1: Invitación exitosa

    Dado que el usuario ingresa el email del familiar Cuando asigne permisos

    Entonces el familiar recibirá un enlace de activación.

  • Escenario 2: Límite de usuarios alcanzado

    Dado que el usuario ya ha invitado al máximo de familiares permitidos Cuando intente añadir un nuevo familiar

    Entonces el sistema mostrará "Ha alcanzado el límite de usuarios invitados" y sugerirá actualizar a un plan premium.

US06: Ver historial de actividad

Como usuario,

Quiero revisar todas las actividades recientes de mis dispositivos, Para monitorear el funcionamiento del sistema.

Criterio de Aceptación:

  • Escenario 1: Visualización básica

    Dado que abro la sección "Historial"

    Cuando seleccione los últimos 7 días

    Entonces veré una lista con fecha, hora y acción.

  • Escenario 2: Sin registros

    Dado que no hay actividad reciente

    Cuando consulte el historial

    Entonces veré "No hay eventos en este período".

US07: Recibir alerta al salir de ubicación

Como usuario,

Quiero ser notificado si salgo de mi ubicación configurada Para tener un registro de mi actividad.**

Criterio de Aceptación:

  • Escenario 1: Notificación de salida

    Dado que el usuario se aleja 20m de su casa, Cuándo el sistema lo detecta

    Entonces enviará: "Has salido de la zona”.

  • Escenario 2: Falso positivo por GPS

    Dado que el usuario está en el límite de la zona (50-150m). Cuando el GPS fluctúa

    Entonces el sistema espera 2 minutos antes de notificar.

US08: Cambiar idioma de la app

Como usuario,

Quiero seleccionar el idioma de la interfaz (español/inglés), Para mayor comodidad.

Criterio de Aceptación:

  • Escenario 1: Cambio exitoso

    Dado que el usuario entra a "Configuración" Cuando seleccione "Idioma → Español" Entonces toda la app se traducirá inmediatamente

  • Escenario 2: Idioma no disponible

    Dado que el usuario intenta cambiar a un idioma no soportado**

    Cuando seleccione el idioma en la lista

    Entonces el sistema mostrará "Idioma no disponible actualmente" y mantendrá el idioma anterior seleccionado.

US09: Desconectar un dispositivo

Como usuario,

Quiero remover dispositivos que ya no uso de mi sistema Para mantener mi lista organizada.

Criterio de Aceptación:

  • Escenario 1: Eliminación exitosa

    Dado que el usuario seleccione "Eliminar dispositivo" Cuando confirme la acción

    Entonces desaparecerá de mi dashboard.

  • Escenario 2: Dispositivo en uso

    Dado que el dispositivo está ejecutando una rutina Cuando intente eliminarlo

    Entonces veré "No se puede eliminar mientras está activo".

US10: Editar avatar de perfil

Como usuario,

Quiero cambiar mi foto de perfil en "Mi Perfil" Para personalizar mi cuenta.

Criterio de Aceptación:

  • Escenario 1: Imagen válida

    Dado que el usuario sube una imagen en formato JPG, Cuando haga clic en "Guardar cambios",

    Entonces el avatar se actualizará.

  • Escenario 2: Imagen muy grande

    Dado que el usuario sube una imagen de 10MB, Cuando intente guardar,

    Entonces mostrará: "Tamaño máximo: 2MB".

US11: Ver Estado de Dispositivos

Como usuario,

Quiero ver rápidamente qué dispositivos están activados/desactivados en mi hogar Para tener un resumen del estado actual.

Criterio de Aceptación:

  • Escenario 1: Vista general

    Dado que el usuario abre la sección "Dispositivos"

    Cuando cargue la página

    Entonces verá una lista con: nombre del dispositivo, ubicación y estado (On/Off).

  • Escenario 2: Filtro por habitación

    Dado que el usuario selecciona, por ejemplo "Cocina" en el filtro Cuando aplique el filtro

    Entonces solo mostrará dispositivos de esa área.

US12: Reportar problema técnico

Como usuario,

Quiero enviar un ticket en "Help Center > Contact Support" Para resolver fallos en mis dispositivos.

Criterio de Aceptación:

  • Escenario 1: Ticket exitoso

    Dado que el usuario describe el problema "AC no responde", Cuando envíe el formulario,

    Entonces recibirá un email de confirmación.

  • Escenario 2: Campo obligatorio vacío

    Dado que el usuario no ingresa su email, Cuando intente enviar,

    Entonces mostrará: "Email es requerido".

US13: Revocar acceso a un usuario invitado

Como administrador del hogar,

Quiero retirar permisos a usuarios invitados cuando ya no los necesiten Para mantener la seguridad de mi hogar.

Criterio de Aceptación:

  • Escenario 1: Eliminación exitosa

    Dado que selecciono un miembro invitado Cuando haga clic en "Revocar acceso" Entonces dejará de aparecer en la lista.

  • Escenario 2: Intento de autoeliminación

    Dado que soy el administrador principal

    Cuando intente eliminarme a mí mismo

    Entonces veré "No puedes revocar tu propio acceso".

US14: Visualizar ubicaciones en mapa

Como usuario,

Quiero ver mis ubicaciones configuradas en el mapa dentro de la página Para poder identificar fácilmente la localización de cada punto.**

Criterio de Aceptación:

  • Escenario 1: Mapa cargado correctamente

    Dado que el usuario abre la pestaña "Mapa"

    Cuando el sistema carga las ubicaciones,

    Entonces muestra marcadores con nombres personalizados.

  • Escenario 2: Sin conexión a internet

    Dado que no hay conexión

    Cuando el usuario intenta ver el mapa

    Entonces muestra "Mapa no disponible”.

US15: Revisar historial de eventos

Como usuario,

Quiero visualizar el historial de eventos en una lista ordenada Para poder consultar fácilmente las acciones realizadas y su fecha**

Criterio de Aceptación:

  • Escenario 1: Historial ordenado

    Dado que el usuario selecciona "Historial"

    Cuando el sistema carga los datos,

    Entonces muestra una lista ordenada por fecha (más reciente primero).

  • Escenario 2: Filtrado por tipo de evento

    Dado que el usuario aplica el filtro "Solo alertas", Cuando se actualiza la lista,

    Entonces muestra únicamente notificaciones de seguridad.

US16: Visualizar analíticas de patrones

Como usuario,

Quiero visualizar analíticas sobre patrones de ubicación y actividad

Para obtener una visión clara y comprensible del comportamiento registrado en el sistema**

Criterio de Aceptación:

  • Escenario 1: Reset exitoso

    Dado que el usuario abre "Analíticas"

    Cuando selecciona "Últimos 7 días"

    Entonces muestra un gráfico de horas pico de actividad.

  • Escenario 2: Datos insuficientes

    Dado que el usuario acaba de instalar GeoEntry Cuando intenta ver analíticas

    Entonces muestra "Revisa esto para ver insights".

US17: Visualizar ubicaciones configuradas

Como usuario,

Quiero visualizar la lista de mis ubicaciones configuradas

Para poder consultarlas y asegurarme de que están correctamente registradas**

Criterio de Aceptación:

  • Escenario 1: Lista completa

    Dado que el usuario tiene 3 ubicaciones guardadas.

    Cuando abre "Mis Ubicaciones"

    Entonces muestra "Casa", "Oficina" y "Gimnasio" con sus radios.

  • Escenario 2: Edición rápida

    Dado que el usuario hace clic en "Oficina" Cuando selecciona "Editar radio".

    Entonces permite ajustar el rango de 50-500m.

US18: Resumen general del sistema

Como usuario

Quiero visualizar un resumen consolidado de mis ubicaciones**,** dispositivos y eventos Para obtener una visión rápida y clara del estado actual de mi cuenta y actividades**

Criterio de Aceptación:

  • Escenario 1: Dashboard completo

    Dado que el usuario abre la app,

    Cuando carga el resumen,

    Entonces muestra los dispositivos activos, ubicaciones configuradas y los eventos.

  • Escenario 2: Modo sin datos

    Dado que hay un error en el servidor,

    Cuando el sistema no puede cargar datos,

    Entonces muestra "Reintentar" con un icono de advertencia.

US19: Redirección desde Landing Page a Login

Como usuario visitante de GeoEntry,

Quiero hacer clic en el botón "Solicitar Demo" en la landing page

Para ser redirigido a la página de login y acceder a la demo de la aplicación.

Criterio de Aceptación:

  • Escenario 1: Redirección exitosa al login

    Dado que el usuario está en la landing page de GeoEntry Cuando haga clic en el botón "Solicitar Demo" Entonces el sistema lo redirigirá a la página de login.

  • Escenario 2: Acceso a información alternativa

    Dado que el usuario prefiere conocer más antes de probar la demo Cuando haga clic en el botón "Saber más"

    Entonces el sistema lo redirigirá a “Características de GeoEntry”.

US20: Activación geolocalizada del hogar inteligente

Como usuario de GeoEntry,

Quiero que mi hogar detecte automáticamente cuando estoy cerca (mediante geolocalización)

Para que se activen los dispositivos configurados sin necesidad de acciones manuales.

Criterio de Aceptación:

  • Escenario 1: Llegada a la zona configurada

    Dado que estoy a 100m de mi hogar Cuando el sistema detecte mi ubicación Entonces encenderá luces y ajustará el clima.

  • Escenario 2: Salida de la zona configurada Dado que me alejo 200m por más de 5 minutos

    Cuando el sistema lo confirme

    Entonces activará el modo "Ausencia" (luces apagadas, clima en ahorro).

  • Escenario 3: Geocerca personalizada

    Dado que modifico los radios en Configuración Cuando guarde 150m (llegada) y 300m (salida) Entonces el sistema actualizará las zonas en el mapa.

Technical Stories: TS01: POST /api/devices

Como desarrollador,

Quiero implementar el endpoint

Para registrar nuevos dispositivos en la base de datos.

Criterio de Aceptación:

  • Escenario 1: Registro exitoso

    Dado que un JSON con {name: "Luz Cocina", type: "light", room: "kitchen"} Cuando se llame al endpoint

    Entonces responderá con 201 Created y el ID del dispositivo.

  • Escenario 2: Datos inválidos

    Dado que un JSON sin type

    Cuando se envíe

    Entonces responderá con 400 Bad Request y el mensaje "El campo 'type' es requerido".

TS02: GET /api/devices/{device_id}

Como desarrollador,

Quiero implementar el endpoint

Para obtener detalles de un dispositivo específico.

Criterio de Aceptación:

  • Escenario 1: Dispositivo encontrado

    Dado que un device_id válido

    Cuando se llame al endpoint

    Entonces responderá con 200 OK y los datos del dispositivo.

  • Escenario 2: Dispositivo no existe Dado que un device_id inválido

    Cuando se llame al endpoint

    Entonces responderá con 404 Not Found.

TS03: PUT /api/routines/{routine_id}

Como desarrollador,

Quiero implementar el endpoint Para actualizar una rutina existente.

Criterio de Aceptación:

  • Escenario 1: Actualización exitosa

    Dado que un JSON con {actions: ["lights_off", "lock_doors"]} Cuando se llame al endpoint

    Entonces responderá con 200 OK y los nuevos datos.

  • Escenario 2: Rutina no existe

    Dado que un routine_id inválido Cuando se llame al endpoint

    Entonces responderá con 404 Not Found.

TS04: DELETE /api/access-codes/{code}

Como desarrollador,

Quiero implementar el endpoint

Para eliminar códigos de acceso temporales.

Criterio de Aceptación:

  • Escenario 1: Código eliminado

    Dado que un código activo

    Cuando se llame al endpoint

    Entonces responderá con 200 OK y lo desactivará.

  • Escenario 2: Código ya expirado

    Dado que un código inválido

    Cuando se llame al endpoint

    Entonces responderá con 404 Not Found.

TS05: POST /api/notifications

Como desarrollador,

Quiero implementar el endpoint

Para enviar notificaciones push a usuarios.

Criterio de Aceptación:

  • Escenario 1: Notificación enviada

    Dado que un JSON con {user_id: "123", message: "Puerta abierta"} Cuando se llame al endpoint

    Entonces enviará el push y responderá con 202 Accepted.

  • Escenario 2: Usuario no existe

    Dado que un user_id inválido

    Cuando se llame al endpoint

    Entonces responderá con 404 Not Found.

  1. Impact Mapping

  1. Product Backlog
N° Orden User Story ID Título Descripción Story Points
1 US01 Contactar al equipo de soporte

Como usuario de GeoEntry,

Quiero enviar un mensaje al equipo de soporte desde la app Para resolver problemas técnicos.**

1
2 US02 Agregar dispositivo para geolocalización

Como usuario nuevo de GeoEntry, Quiero agregar un dispositivo desde la sección "Dispositivos"

Para comenzar a controlar mi hogar inteligente.**

3
3 US03 Prender luces inteligentes Como usuario, Quiero que al entrar a mi casa las luces inteligentes se prendan automáticamente Para tener mi casa preparada a lo que quiera hacer** 5
4 US04 Recibir alerta al llegar a mi ubicación Como usuario, Quiero que la aplicación me notifique al acercarme a mi ubicación configurada 3
Para tener un registro de mi actividad**
5 US05 Invitar a un familiar Como administrador, quiero compartir acceso temporal con un familiar para que controle dispositivos específicos. 5
6 US06 Ver historial de actividad Como usuario, Quiero recibir alertas inmediatas si mi puerta principal queda abierta accidentalmente, Para prevenir riesgos de seguridad.** 5
7 US07 Recibir alerta al salir de la ubicación

Como usuario, Quiero ser notificado si salgo de mi ubicación configurada

Para tener un registro de mi actividad.**

3
8 US08 Cambiar idioma de la app Como usuario, Quiero seleccionar el idioma de la interfaz (español/inglés), Para mayor comodidad. 3
9 US09 Desconectar un dispositivo Como usuario, Quiero remover dispositivos que ya no uso de mi sistema Para mantener mi lista organizada. 1
10 US10 Editar avatar de perfil Como usuario, 3

Quiero cambiar mi foto de perfil en "Mi Perfil"

Para personalizar mi cuenta.**

11 US11 Ver estado de dispositivos

Como usuario, Quiero ver rápidamente qué dispositivos están activos/desactivados en mi hogar

Para tener un resumen del estado actual.

3
12 US12 Reportar problema técnico

Como usuario, Quiero enviar un ticket en "Help Center > Contact Support"

Para resolver fallos en mis dispositivos.**

5
13 US13 Revocar acceso a un usuario invitado

Como administrador del hogar,

Quiero retirar permisos a usuarios invitados cuando ya no los necesiten Para mantener la seguridad de mi hogar.

3
14 US14 Visualizar ubicaciones en el mapa

Como usuario, Quiero ver mis ubicaciones configuradas en el mapa dentro de la página

Para poder identificar fácilmente la localización de cada punto.**

3
15 US15 Revisar historial de eventos Como usuario, Quiero visualizar el historial de eventos en una lista ordenada Para poder consultar fácilmente las acciones realizadas y su fecha** 5
16 US16 Visualizar analíticas de patrones de ubicación y actividad

Como usuario, Quiero visualizar analíticas sobre patrones de ubicación y actividad

Para obtener una visión clara y comprensible del comportamiento registrado en el sistema**

5
17 US17 Visualizar mis ubicaciones configuradas

Como usuario, Quiero visualizar la lista de mis ubicaciones configuradas

Para poder consultarlas y asegurarme de que están correctamente registradas**

3
18 US18 Visualizar el resumen general del sistema

Como usuario Quiero visualizar un resumen consolidado de mis ubicaciones**,** dispositivos y eventos

Para obtener una visión rápida y clara del estado actual de mi cuenta y actividades**

3
19 US19 Redirección desde Landing Page a Login

Como usuario visitante de GeoEntry,

Quiero hacer clic en el botón "Solicitar Demo" en la landing page

Para ser redirigido a la página de login y acceder a la demo de la aplicación.**

1
20 US20 Activación geolocalizada del hogar inteligente

Como usuario de GeoEntry,

Quiero que mi hogar detecte automáticamente cuando estoy cerca (mediante geolocalización) Para que se activen los dispositivos configurados sin necesidad de acciones manuales.**

5

Capítulo IV: Strategic-Level Software Design

  1. Strategic-Level Attribute-Driven Design

Explicamos el proceso que seguimos para tomar decisiones estratégicas aplicando Domain-Driven Design, definiendo claramente los Bounded Contexts con base en el conocimiento del dominio y la colaboración con expertos.

  1. EventStorming

Anexo: https://miro.com/app/board/uXjVI_zGjpY=/?moveToWidget=3458764625669732377&cot=14

  1. Candidate Context Discovery

Anexo: https://miro.com/app/board/uXjVI_zGjpY=/?moveToWidget=3458764625561166020&cot=14

  1. Domain Message Flows Modeling

Anexo: https://miro.com/app/board/uXjVI_zGjpY=/?moveToWidget=3458764625658175134&cot=14

  1. Bounded Context Canvases

Anexo: https://miro.com/app/board/uXjVI_zGjpY=/?moveToWidget=3458764625663746924&cot=14

  1. Context Mapping

Explicamos cómo elaboramos los context maps analizando la información recolectada y evaluando distintas alternativas. Discutimos preguntas clave para reorganizar capacidades y aplicamos patrones de relación entre Bounded Contexts según DDD.

  1. Software Architecture
  2. Software Architecture System Landscape Diagram

  1. Software Architecture Context Level Diagrams

  1. Software Architecture Container Level Diagrams

  1. Software Architecture Deployment Diagrams
  2. Tactical-Level Domain-Driven Design
  3. Bounded Context: Device
  4. Domain Layer.

El núcleo del este bounded context se representa mediante las siguientes clases que capturan la esencia de nuestro negocio:

Entities:

  • Device: Entidad principal que representa cualquier dispositivo inteligente en el sistema. Contiene un identificador único, nombre, tipo, estado y ubicación. Encapsula el comportamiento fundamental de los dispositivos como encender/apagar, actualizar estado y configurar parámetros específicos.
  • DeviceLocation: Entidad que representa una ubicación física donde se encuentran los dispositivos (habitación, piso, área). Permite agrupar dispositivos por su localización dentro del hogar.

Value Objects:

  • DeviceType: Objeto inmutable que clasifica los tipos de dispositivos como iluminación, clima, cerraduras, etc. Define las capacidades inherentes de cada tipo.
  • DeviceStatus: Representa el estado actual de un dispositivo con valores como activo/inactivo, encendido/apagado, porcentaje, temperatura, etc. Es inmutable y se crea una nueva instancia cada vez que cambia el estado.
  • DeviceCapability: Define las capacidades específicas que puede tener un dispositivo, como atenuación para luces o control de temperatura para termostatos.

Aggregates:

  • DeviceGroup: Actúa como raíz de agregado para agrupar dispositivos relacionados. Mantiene la consistencia al aplicar operaciones colectivas como encender/apagar todos los dispositivos del grupo.

Domain Services:

  • DeviceStateManager: Servicio que coordina los cambios de estado en múltiples dispositivos, garantizando consistencia y validando las reglas de negocio.
  • DeviceConfigurationValidator: Valida que las configuraciones de los dispositivos cumplan con las reglas específicas para cada tipo de dispositivo.

Repositories (Interfaces):

  • IDeviceRepository: Define métodos para persistir y recuperar dispositivos.
  • IDeviceGroupRepository: Define métodos para gestionar grupos de dispositivos.

Domain Events:

  • DeviceStateChanged: Evento emitido cuando cambia el estado de un dispositivo.
  • DeviceConfigured: Evento emitido cuando se configura un dispositivo.
  • DeviceRegistered: Evento emitido cuando se registra un nuevo dispositivo en el sistema.
  1. Interface Layer.

La capa de interfaz proporciona dos tipos de puntos de entrada para interactuar con el dominio:

REST API Controllers:

  • DeviceRestController: API REST tradicional que expone endpoints para operaciones CRUD de dispositivos. Ofrece gestión completa de dispositivos para clientes que necesitan funcionalidad completa.
  • DeviceGroupRestController: Gestiona las operaciones relacionadas con grupos de dispositivos a través de REST.
  • DeviceConfigurationRestController: Maneja configuraciones avanzadas de dispositivos mediante endpoints REST.

Edge API Controllers:

  • DeviceEdgeController: Implementa endpoints optimizados para baja latencia y operaciones críticas como cambios de estado de dispositivos en tiempo real.
  • DeviceStatusEdgeController: Proporciona actualizaciones de estado rápidas y eficientes para comunicación en tiempo real.
  • DeviceCommandEdgeController: Procesa comandos rápidos para dispositivos con prioridad y optimización de rendimiento.

DTOs (Data Transfer Objects):

  • DeviceDto: Estructura de datos común para transferir información de dispositivos.
  • DeviceGroupDto: Estructura para datos de grupos de dispositivos.
  • DeviceStatusDto: Representación ligera del estado de dispositivos, optimizada para Edge API.
  • DeviceCommandDto: Formato compacto para comandos rápidos enviados a través de Edge API.
  • DeviceConfigurationDto: Estructura completa para configuraciones avanzadas, principalmente para REST API.

API Responses:

  • StandardApiResponse: Estructura completa para respuestas REST tradicionales.
  • EdgeApiResponse: Respuesta optimizada y minimalista para Edge API.

Consumers:

  • DeviceEventConsumer: Escucha eventos de dispositivos para propagar cambios en tiempo real.
  • MqttDeviceConsumer: Consume mensajes MQTT de dispositivos IoT.
  • WebSocketConsumer: Gestiona comunicaciones bidireccionales en tiempo real para Edge API.

Middlewares:

  • ApiRateLimitMiddleware: Controla límites de tasa para ambas APIs.
  • EdgeOptimizationMiddleware: Optimiza el rendimiento para la Edge API.
  • RestAuthorizationMiddleware: Implementa autorización completa para API REST.
  • EdgeAuthenticationMiddleware: Implementa autenticación ligera para Edge API.

Adaptadores de Protocolo:

  • WebSocketAdapter: Adapta comunicaciones WebSocket para Edge API.
  • HttpProtocolAdapter: Maneja comunicaciones HTTP para API REST.
  1. Application Layer.

Esta capa orquesta los flujos de trabajo y casos de uso relacionados con la gestión de dispositivos:

Commands:

  • RegisterDeviceCommand: Comando para registrar un nuevo dispositivo.
  • UpdateDeviceStatusCommand: Comando para actualizar el estado de un dispositivo.
  • CreateDeviceGroupCommand: Comando para crear un nuevo grupo de dispositivos.
  • ConfigureDeviceCommand: Comando para configurar parámetros específicos de un dispositivo.

Command Handlers:

  • RegisterDeviceHandler: Procesa el registro de nuevos dispositivos, validando datos y generando eventos correspondientes.
  • UpdateDeviceStatusHandler: Maneja las actualizaciones de estado, aplicando reglas de negocio y propagando cambios.
  • CreateDeviceGroupHandler: Gestiona la creación de grupos de dispositivos.
  • ConfigureDeviceHandler: Aplica configuraciones específicas a los dispositivos.

Event Handlers:

  • DeviceStateChangedHandler: Reacciona a cambios de estado para activar flujos adicionales, como notificaciones o automatizaciones.
  • DeviceRegisteredHandler: Maneja acciones posteriores al registro de dispositivos.

Application Services:

  • DeviceManagementService: Orquesta operaciones complejas que involucran múltiples entidades o servicios del dominio.
  • DeviceDiscoveryService: Coordina la detección automática de nuevos dispositivos en la red.
  1. Infrastructure Layer.

Esta capa implementa los detalles técnicos y la comunicación con sistemas externos: Repositories (Implementaciones):

  • DeviceRepository: Implementa IDeviceRepository utilizando una base de datos específica (PostgreSQL) para persistir y recuperar datos de dispositivos.
  • DeviceGroupRepository: Implementa IDeviceGroupRepository para la gestión de grupos de dispositivos.

External Services Integration:

  • DeviceProtocolAdapter: Adapta diferentes protocolos de comunicación a una interfaz unificada para el sistema.
  • DeviceFirmwareService: Gestiona las actualizaciones de firmware para distintos tipos de dispositivos.

Data Access:

  • DeviceContext: Define el contexto de base de datos para los dispositivos (en caso de usar ORM).
  • DeviceQueryBuilder: Crea consultas optimizadas para recuperar datos de dispositivos según diferentes criterios.

Message Handlers:

  • DeviceCommandPublisher: Publica comandos al bus de mensajes para operaciones asíncronas.
  • DeviceEventPublisher: Publica eventos del dominio a un sistema de mensajería.

Caching:

  • DeviceStateCache: Implementa cache para estados de dispositivos de acceso frecuente, mejorando el rendimiento.
  1. Bounded Context Software Architecture Component Level Diagrams.

Device Context Component Diagram

  1. Bounded Context Software Architecture Code Level Diagrams.
  2. Bounded Context Domain Layer Class Diagrams.

Device Context Class Diagram

  1. Bounded Context Database Design Diagram.

  1. Bounded Context: Security
  2. Domain Layer.

El núcleo del bounded context Security se representa mediante las siguientes clases que capturan la esencia del dominio de seguridad:

Entities:

  • Lock: Entidad principal que representa una cerradura inteligente en el sistema. Contiene identificador único, estado de bloqueo, historial de accesos, configuraciones de bloqueo automático y propiedades relacionadas con la seguridad del acceso.
  • AccessEvent: Entidad que registra cada evento de acceso (exitoso o fallido) con información sobre cuándo, quién y cómo se realizó el intento de acceso.
  • SecurityZone: Entidad que representa un área protegida del hogar con sus propias políticas y dispositivos de seguridad asociados.

Value Objects:

  • LockState: Objeto inmutable que representa el estado actual de una cerradura (bloqueado, desbloqueado, bloqueado parcialmente).
  • AccessMethod: Representa el método de acceso utilizado:
  • ProximityAccess: Acceso por proximidad del smartphone con la app instalada.
  • PinCodeAccess: Acceso mediante código PIN ingresado en la cerradura.
  • AccessCredential: Representa las credenciales específicas utilizadas:
    • En caso de proximidad: identificador único del dispositivo y token de autenticación de la app.
    • En caso de PIN: el código numérico ingresado.
  • AccessPermission: Define los permisos específicos que tiene un usuario, incluyendo:
    • Qué métodos de acceso puede utilizar (proximidad, PIN o ambos)
    • Restricciones temporales (horarios permitidos)
    • Niveles de acceso a diferentes cerraduras o zonas
  • ProximityConfiguration: Contiene configuraciones específicas para el acceso por proximidad:
  • Rango de detección
  • Tiempo de respuesta
  • Requerimientos de verificación adicional

Aggregates:

  • SecurityPerimeter: Actúa como raíz de agregado para coordinar múltiples dispositivos de seguridad que protegen un perímetro común. Mantiene la consistencia al aplicar políticas de seguridad.

Domain Services:

  • AccessControlService: Servicio que evalúa si un intento de acceso debe ser permitido basado en credenciales, permisos y políticas activas.
  • SecurityPolicyEvaluator: Evalúa las políticas de seguridad configuradas contra eventos del sistema para determinar si se deben generar alertas o acciones automáticas.

Repositories (Interfaces):

  • ILockRepository: Define métodos para persistir y recuperar información de cerraduras.
  • IAccessEventRepository: Define métodos para el registro y consulta de eventos de acceso.
  • ISecurityAlertRepository: Define métodos para gestionar alertas de seguridad.

Domain Events:

  • LockStateChanged: Evento emitido cuando cambia el estado de una cerradura.
  • UnauthorizedAccessAttempted: Evento emitido cuando se detecta un intento de acceso no autorizado.
  • SecurityPolicyTriggered: Evento emitido cuando se activa una política de seguridad.
  1. Interface Layer.

La capa de interfaz proporciona los puntos de entrada para interactuar con el dominio de seguridad:

REST API Controllers:

  • LockRestController: API REST que expone endpoints para administrar cerraduras, consultar su estado e historial de accesos.
  • SecurityPolicyRestController: Permite configurar y administrar políticas de seguridad mediante REST.
  • SecurityAlertRestController: Gestiona la consulta y manejo de alertas de seguridad.

Edge API Controllers:

  • LockCommandEdgeController: Implementa endpoints optimizados para operaciones críticas de bloqueo/desbloqueo con mínima latencia.
  • SecurityAlertEdgeController: Proporciona notificaciones inmediatas sobre eventos de seguridad críticos.

DTOs:

  • LockDto: Estructura de datos para transferir información de cerraduras.
  • LockCommandDto: Formato compacto para comandos de bloqueo/desbloqueo optimizado para Edge API.
  • AccessEventDto: Estructura para transferir información sobre eventos de acceso.
  • SecurityAlertDto: Representa alertas de seguridad para transmisión.

API Responses:

  • LockStatusResponse: Respuesta con información sobre el estado actual de una cerradura.
  • AccessLogResponse: Contiene registros de acceso con metadatos asociados.
  • SecurityAlertResponse: Estructura para alertas y eventos de seguridad.

Consumers:

  • SecurityEventConsumer: Escucha eventos de seguridad para propagar cambios en tiempo real.
  • EmergencyAlertConsumer: Procesa alertas de emergencia con alta prioridad.

Middlewares:

  • SecurityOperationAuthorizationMiddleware: Verifica permisos específicos para operaciones de seguridad.
  • CriticalCommandMiddleware: Da prioridad a comandos críticos de seguridad.
  1. Application Layer.

Esta capa orquesta los flujos de trabajo y casos de uso relacionados con la seguridad: Commands:

  • LockDeviceCommand: Comando para bloquear una cerradura específica.
  • UnlockDeviceCommand: Comando para desbloquear una cerradura.
  • ConfigureAutoLockCommand: Comando para configurar el bloqueo automático.
  • CreateSecurityPolicyCommand: Comando para crear una nueva política de seguridad.

Command Handlers:

  • LockDeviceHandler: Procesa el comando de bloqueo, validando permisos y generando eventos correspondientes.
  • UnlockDeviceHandler: Maneja el desbloqueo de cerraduras con verificación de credenciales.
  • ConfigureAutoLockHandler: Aplica configuraciones de bloqueo automático.
  • CreateSecurityPolicyHandler: Crea y valida nuevas políticas de seguridad.

Event Handlers:

  • LockStateChangedHandler: Reacciona a cambios de estado en cerraduras.
  • UnauthorizedAccessHandler: Maneja respuestas a intentos de acceso no autorizados.
  • SecurityAlertHandler: Procesa alertas de seguridad y determina notificaciones necesarias.

Application Services:

  • SecurityMonitoringService: Coordina la monitorización continua de eventos de seguridad.
  • EmergencyResponseService: Orquesta respuestas a situaciones de emergencia de seguridad.
  • AccessLogAnalysisService: Analiza patrones en el registro de accesos para detectar anomalías.
  1. Infrastructure Layer.

Esta capa implementa los detalles técnicos y la comunicación con sistemas externos: Repositories (Implementaciones):

  • LockRepository: Implementa ILockRepository para persistir y recuperar datos de cerraduras.
  • AccessEventRepository: Implementa IAccessEventRepository para registrar eventos de acceso.
  • SecurityAlertRepository: Implementa ISecurityAlertRepository para gestionar alertas.

External Services Integration:

  • EmergencyServiceNotifier: Integración con servicios de emergencia externos.
  • LockProtocolAdapter: Adapta diferentes protocolos de comunicación para cerraduras de distintos fabricantes.
  • BiometricVerificationService: Integración con servicios de verificación biométrica.

Data Access:

  • SecurityContext: Define el contexto de base de datos para el dominio de seguridad.
  • AccessLogQueryBuilder: Crea consultas optimizadas para registros de acceso.

Message Handlers:

  • SecurityCommandPublisher: Publica comandos de seguridad al bus de mensajes.
  • SecurityEventPublisher: Publica eventos del dominio de seguridad a sistemas de mensajería.
  • EmergencyAlertPublisher: Publica alertas de emergencia con alta prioridad.

Caching:

  • LockStateCache: Implementa cache para estados de cerraduras, crítico para respuestas rápidas.
  • AuthorizationCache: Almacena temporalmente información de autorización para mejorar rendimiento.

Security Services:

  • CredentialEncryptionService: Gestiona el cifrado seguro de credenciales de acceso.
  • AccessTokenValidator: Valida tokens de acceso para operaciones de seguridad.
  • AuditLogService: Registra de forma inmutable todas las operaciones críticas de seguridad.
  1. Bounded Context Software Architecture Component Level Diagrams.
  2. Bounded Context Software Architecture Code Level Diagrams.

Security Context Component Diagram**

  1. Bounded Context Domain Layer Class Diagrams.

Security Context Class Diagram

  1. Bounded Context Database Design Diagram.

  1. Bounded Context: ClimateControl
  2. Domain Layer.

El núcleo del bounded context ClimateControl se representa mediante las siguientes clases que capturan la esencia del control climático:

Entities:

  • Thermostat: Entidad principal que representa un termostato inteligente en el sistema. Contiene identificador único, temperatura actual, temperatura objetivo, modo de operación, programación y configuraciones específicas.
  • ClimateSchedule: Entidad que representa las programaciones de temperatura para diferentes momentos del día o semana.
  • ClimateZone: Entidad que define una zona del hogar con control climático independiente, permitiendo agrupar termostatos por áreas.

Value Objects:

  • Temperature: Objeto inmutable que representa una temperatura con su valor numérico y unidad (Celsius/Fahrenheit).
  • OperationMode: Define el modo de operación del termostato (calefacción, refrigeración, automático, eco, apagado).
  • TemperatureRange: Representa un rango de temperaturas permitido o deseado para una zona o período específico.
  • EnergyConsumption: Encapsula los datos de consumo energético asociados al control climático.

Aggregates:

  • ClimateSystem: Actúa como raíz de agregado para coordinar múltiples dispositivos climáticos que operan conjuntamente. Gestiona la consistencia entre dispositivos y zonas.

Domain Services:

  • TemperatureOptimizationService: Servicio que calcula configuraciones óptimas basadas en preferencias del usuario, condiciones externas y eficiencia energética.
  • ClimateComfortCalculator: Evalúa el nivel de confort basado en temperatura, humedad y otros factores ambientales.

Repositories (Interfaces):

  • IThermostatRepository: Define métodos para persistir y recuperar datos de termostatos.
  • IClimateScheduleRepository: Define métodos para gestionar programaciones climáticas.
  • ITemperatureHistoryRepository: Define métodos para registrar y consultar el historial de temperaturas.

Domain Events:

  • TemperatureChanged: Evento emitido cuando cambia la temperatura actual o la configurada.
  • ModeChanged: Evento emitido cuando se modifica el modo de operación del termostato.
  • ScheduleActivated: Evento emitido cuando se activa una programación climática.
  • OptimalTemperatureCalculated: Evento emitido cuando se calcula una temperatura óptima.
  1. Interface Layer.

La capa de interfaz proporciona los puntos de entrada para interactuar con el dominio de control climático:

REST API Controllers:

  • ThermostatRestController: API REST que expone endpoints para administrar termostatos, consultar su estado y modificar configuraciones.
  • ClimateScheduleRestController: Permite configurar y administrar programaciones climáticas.
  • ClimateZoneRestController: Gestiona la configuración y consulta de zonas climáticas.

Edge API Controllers:

  • ThermostatCommandEdgeController: Implementa endpoints optimizados para cambios rápidos de temperatura o modo.
  • TemperatureAlertEdgeController: Proporciona notificaciones inmediatas sobre cambios significativos en temperatura.

DTOs:

  • ThermostatDto: Estructura de datos para transferir información de termostatos.
  • TemperatureCommandDto: Formato compacto para comandos de ajuste de temperatura.
  • ClimateScheduleDto: Estructura para transferir información sobre programaciones climáticas.
  • EnergyConsumptionDto: Representa datos de consumo energético para análisis.

API Responses:

  • ThermostatStatusResponse: Respuesta con información sobre el estado actual de un termostato.
  • TemperatureHistoryResponse: Contiene datos históricos de temperatura con metadatos.
  • EnergyEfficiencyResponse: Estructura con datos de eficiencia energética del sistema.

Consumers:

  • ClimateEventConsumer: Escucha eventos climáticos para propagar cambios en tiempo real.
  • WeatherForecastConsumer: Procesa datos de pronósticos meteorológicos externos.

Middlewares:

  • ClimateControlAuthorizationMiddleware: Verifica permisos para operaciones de control climático.
  • TemperatureCommandMiddleware: Valida y procesa comandos de temperatura.
  1. Application Layer.

Esta capa orquesta los flujos de trabajo y casos de uso relacionados con el control climático: Commands:

  • SetTemperatureCommand: Comando para establecer una temperatura objetivo.
  • ChangeOperationModeCommand: Comando para cambiar el modo de operación.
  • CreateClimateScheduleCommand: Comando para crear una programación climática.
  • OptimizeTemperatureCommand: Comando para optimizar la temperatura basado en diferentes factores.

Command Handlers:

  • SetTemperatureHandler: Procesa los cambios de temperatura, validando rangos y generando eventos.
  • ChangeOperationModeHandler: Maneja los cambios de modo de operación.
  • CreateClimateScheduleHandler: Crea y valida nuevas programaciones climáticas.
  • OptimizeTemperatureHandler: Aplica algoritmos de optimización de temperatura.

Event Handlers:

  • TemperatureChangedHandler: Reacciona a cambios de temperatura registrando datos y evaluando alertas.
  • ModeChangedHandler: Maneja ajustes posteriores al cambio de modo.
  • WeatherForecastReceivedHandler: Ajusta parámetros basados en pronósticos meteorológicos.

Application Services:

  • ClimateControlService: Coordina operaciones complejas del sistema climático.
  • EnergyEfficiencyService: Analiza y optimiza el consumo energético del sistema climático.
  • ComfortProfileService: Gestiona perfiles de confort personalizados para los usuarios.
  • SeasonalAdjustmentService: Adapta configuraciones según las estaciones del año.
  1. Infrastructure Layer.

Esta capa implementa los detalles técnicos y la comunicación con sistemas externos: Repositories (Implementaciones):

  • ThermostatRepository: Implementa IThermostatRepository para persistir datos de termostatos.
  • ClimateScheduleRepository: Implementa IClimateScheduleRepository para programaciones.
  • TemperatureHistoryRepository: Implementa ITemperatureHistoryRepository para historial.

External Services Integration:

  • WeatherApiClient: Integración con servicios externos de pronóstico meteorológico.
  • ThermostatProtocolAdapter: Adapta diferentes protocolos para diversos modelos de termostatos.
  • EnergyUsageAnalyticsService: Integración con servicios de análisis de consumo energético.

Data Access:

  • ClimateControlContext: Define el contexto de base de datos para el dominio climático.
  • TemperatureQueryBuilder: Crea consultas optimizadas para datos de temperatura.

Message Handlers:

  • ClimateCommandPublisher: Publica comandos de control climático al bus de mensajes.
  • ClimateEventPublisher: Publica eventos del dominio climático a sistemas de mensajería.
  • TemperatureAlertPublisher: Publica alertas relacionadas con temperatura.

Caching:

  • ThermostatStateCache: Implementa cache para estados de termostatos para respuestas rápidas.
  • WeatherForecastCache: Almacena temporalmente datos de pronósticos meteorológicos.

Analytics Services:

  • TemperatureTrendAnalyzer: Analiza tendencias de temperatura para recomendaciones.
  • EnergyConsumptionCalculator: Calcula métricas de consumo energético.
  • ComfortIndexService: Evalúa índices de confort basados en múltiples parámetros ambientales.
  1. Bounded Context Software Architecture Component Level Diagrams.
  2. Bounded Context Software Architecture Code Level Diagrams.

Climate Control Context Component Diagram

  1. Bounded Context Domain Layer Class Diagrams.

ClimateControl Context Class Diagram

  1. Bounded Context Database Design Diagram.

  1. Bounded Context: User
  2. Domain Layer.

El núcleo del bounded context User se representa mediante las siguientes clases que capturan la esencia de la gestión de usuarios:

Entities:

  • User: Entidad principal que representa a un usuario del sistema. Contiene identificador único, nombre, email, teléfono, fecha de registro, estado de la cuenta y otra información personal.
  • Group: Entidad que representa un grupo de usuarios, como una familia o un equipo, permitiendo la gestión colectiva de permisos y accesos.
  • Role: Entidad que define un conjunto de permisos y capacidades dentro del sistema.
  • UserDevice: Entidad que representa los dispositivos registrados por un usuario para acceso al sistema.

Value Objects:

  • UserStatus: Define el estado de una cuenta de usuario.
  • UserPreferences: Encapsula las preferencias del usuario en la aplicación.

Aggregates:

  • UserAccount: Raíz de agregado para coordinar la información del usuario y sus datos específicos de la aplicación.
  • GroupMembership: Gestiona las relaciones entre usuarios y grupos.

Domain Services:

  • PermissionEvaluator: Evalúa si un usuario tiene permisos para ciertas acciones.
  • UserProfileManager: Gestiona operaciones relacionadas con el perfil de usuario.

Repositories (Interfaces):

  • IUserRepository: Define métodos para interactuar con datos de usuario en la aplicación.
  • IGroupRepository: Define métodos para gestionar grupos de usuarios.
  • IRoleRepository: Define métodos para gestionar roles y permisos.

Domain Events:

  • UserSignedUp: Evento emitido cuando se registra un nuevo usuario vía Supabase.
  • UserProfileUpdated: Evento emitido cuando se actualiza el perfil del usuario.
  • GroupMembershipChanged: Evento emitido cuando cambia la composición de un grupo.
  1. Interface Layer.

La capa de interfaz proporciona los puntos de entrada para interactuar con el dominio de gestión de usuarios:

REST API Controllers:

  • UserProfileController: Gestiona operaciones de perfil de usuario, interactuando con Supabase para datos específicos.
  • GroupController: Permite la administración de grupos y membresías.
  • UserPreferencesController: Gestiona las preferencias personalizadas.

Edge API Controllers:

  • UserSessionEdgeController: Implementa endpoints optimizados para verificación de sesiones.
  • UserPermissionEdgeController: Proporciona verificación rápida de permisos.

DTOs:

  • UserProfileDto: Estructura para transferir información de perfil de usuario.
  • GroupDto: Representa la información de un grupo para transferencia.

API Responses:

  • UserProfileResponse: Respuesta con información detallada del perfil de usuario.
  • GroupMembersResponse: Estructura con información de miembros de un grupo.

Consumers:

  • UserEventConsumer: Escucha eventos relacionados con usuarios para actualizar cache o realizar acciones derivadas.
  • ExternalIdentityConsumer: Procesa respuestas de sistemas de identidad externos.

Middlewares:

  • SupabaseAuthMiddleware: Verifica y procesa tokens de Supabase para autenticación.
  • UserActionAuditMiddleware: Registra acciones importantes de los usuarios.
  1. Application Layer.

Esta capa orquesta los flujos de trabajo y casos de uso relacionados con la gestión de usuarios:

Commands:

  • UpdateUserProfileCommand: Comando para actualizar información de perfil.
  • CreateGroupCommand: Comando para crear un nuevo grupo.
  • AddUserToGroupCommand: Comando para añadir un usuario a un grupo.

Command Handlers:

  • UpdateUserProfileHandler: Actualiza datos de perfil con las validaciones correspondientes.
  • CreateGroupHandler: Crea y configura nuevos grupos de usuarios.
  • AddUserToGroupHandler: Gestiona la adición de usuarios a grupos existentes.

Event Handlers:

  • UserCreatedHandler: Sincroniza datos tras la creación de un usuario en Supabase.
  • UserUpdatedHandler: Mantiene los datos sincronizados cuando se actualizan en Supabase.
  • GroupMembershipChangedHandler: Actualiza permisos tras cambios en grupos.

Application Services:

  • UserProfileSynchronizationService: Mantiene sincronizados los datos entre la aplicación y Supabase.
  • AuthorizationService: Gestiona la evaluación de permisos para diferentes operaciones.
  • UserPreferenceService: Gestiona las preferencias personalizadas de los usuarios.
  1. Infrastructure Layer.

Esta capa implementa los detalles técnicos y la comunicación con sistemas externos: Repositories (Implementaciones):

  • UserRepository: Implementa IUserRepository para persistir y recuperar datos de usuarios.
  • GroupRepository: Implementa IGroupRepository para gestionar grupos.
  • RoleRepository: Implementa IRoleRepository para gestionar roles y permisos.

External Services Integration:

  • SupabaseAuthAdapter: Adaptador principal para interactuar con la autenticación de Supabase.
  • SupabaseRealTimeAdapter: Integración con las funcionalidades de tiempo real de Supabase.
  • EmailTemplateService: Servicio para gestionar plantillas de correo (usando Supabase o servicios externos).

Data Access:

  • UserManagementContext: Define el contexto de base de datos para el dominio de usuarios.
  • UserQueryBuilder: Crea consultas optimizadas para la estructura de Supabase.

Security Services:

  • SupabaseTokenService: Gestiona la validación de tokens de Supabase.
  • PermissionMappingService: Mapea permisos entre Supabase y la lógica de la aplicación.
  • UserActivityTrackingService: Monitorea actividad de usuarios.

Storage Services:

  • StorageService: Integra con el servicio de almacenamiento de Supabase para archivos de usuario.
  1. Bounded Context Software Architecture Component Level Diagrams.
  2. Bounded Context Software Architecture Code Level Diagrams.

User Context Component Diagram**

  1. Bounded Context Domain Layer Class Diagrams.

User Context Class Diagram

  1. Bounded Context Database Design Diagram.

  1. Bounded Context: Notifications
  2. Domain Layer.

El núcleo del bounded context Notification se representa mediante las siguientes clases que capturan la esencia del sistema de notificaciones:

Entities:

  • Notification: Entidad principal que representa una notificación enviada a un usuario. Contiene identificador único, tipo, mensaje, fecha/hora, prioridad, estado (leída/no leída), destinatario y metadatos relacionados.
  • NotificationChannel: Entidad que representa un canal de envío de notificaciones (push, email, SMS, en-app).
  • AlertCondition: Entidad que define condiciones bajo las cuales se deben generar notificaciones automáticas cuando ocurren ciertos eventos.

Value Objects:

  • NotificationType: Objeto inmutable que clasifica el tipo de notificación (alerta de seguridad, cambio de temperatura, actualización del sistema, etc.).
  • NotificationPriority: Define el nivel de prioridad de una notificación (baja, normal, alta, crítica).
  • NotificationStatus: Representa el estado de una notificación (enviada, entregada, leída, fallida).
  • DeliveryAttempt: Encapsula información sobre un intento de entrega de notificación.

Aggregates:

  • UserNotificationPreferences: Raíz de agregado que gestiona las preferencias de notificación de un usuario para diferentes tipos y canales.

Domain Services:

  • NotificationContentFormatter: Servicio que formatea el contenido de las notificaciones según el tipo y canal.
  • NotificationPriorityResolver: Determina la prioridad de una notificación según su contexto y contenido.
  • AlertEvaluationService: Evalúa si un evento del sistema debe generar una alerta basada en las condiciones configuradas.

Repositories (Interfaces):

  • INotificationRepository: Define métodos para persistir y recuperar notificaciones.
  • INotificationPreferenceRepository: Define métodos para gestionar preferencias de notificación.
  • IAlertConditionRepository: Define métodos para gestionar condiciones de alerta.

Domain Events:

  • NotificationCreated: Evento emitido cuando se crea una nueva notificación.
  • NotificationDelivered: Evento emitido cuando una notificación se entrega correctamente.
  • NotificationRead: Evento emitido cuando un usuario lee una notificación.
  • UserPreferencesChanged: Evento emitido cuando un usuario modifica sus preferencias de notificación.
  1. Interface Layer.

La capa de interfaz proporciona los puntos de entrada para interactuar con el dominio de notificaciones:

REST API Controllers:

  • NotificationController: API REST que expone endpoints para consultar, marcar como leídas y gestionar notificaciones.
  • NotificationPreferencesController: Permite configurar preferencias de notificación por usuario.
  • AlertConditionController: Gestiona las condiciones que generan alertas automáticas.

Edge API Controllers:

  • NotificationStreamEdgeController: Implementa endpoints optimizados para entrega de notificaciones en tiempo real.
  • CriticalAlertEdgeController: Proporciona canal de alta prioridad para alertas críticas.

DTOs:

  • NotificationDto: Estructura de datos para transferir información de notificaciones.
  • NotificationPreferencesDto: Estructura para gestionar preferencias de notificaciones.
  • AlertConditionDto: Representa condiciones de alerta para su configuración.

API Responses:

  • NotificationListResponse: Respuesta con lista paginada de notificaciones.
  • NotificationCountResponse: Estructura con contadores de notificaciones (leídas, no leídas).
  • PreferencesSavedResponse: Confirmación de guardado de preferencias.

Consumers:

  • DomainEventConsumer: Escucha eventos de otros dominios para generar notificaciones correspondientes.
  • PushNotificationStatusConsumer: Recibe actualizaciones sobre el estado de entrega de notificaciones push.

Middlewares:

  • NotificationAuthorizationMiddleware: Verifica permisos para acceder a notificaciones.
  • RealTimeNotificationMiddleware: Gestiona conexiones en tiempo real para recibir notificaciones.
  1. Application Layer.

Esta capa orquesta los flujos de trabajo y casos de uso relacionados con notificaciones: Commands:

  • CreateNotificationCommand: Comando para crear una nueva notificación.
  • MarkNotificationAsReadCommand: Comando para marcar notificaciones como leídas.
  • UpdateNotificationPreferencesCommand: Comando para actualizar preferencias de usuario.
  • CreateAlertConditionCommand: Comando para crear condiciones de alerta automática.

Command Handlers:

  • CreateNotificationHandler: Procesa la creación de notificaciones con priorización y enrutamiento.
  • MarkNotificationAsReadHandler: Actualiza el estado de las notificaciones cuando son leídas.
  • UpdateNotificationPreferencesHandler: Actualiza las preferencias de notificación de un usuario.
  • CreateAlertConditionHandler: Crea y valida nuevas condiciones de alerta.

Event Handlers:

  • DeviceStateChangedHandler: Genera notificaciones basadas en cambios de estado de dispositivos.
  • SecurityAlertHandler: Crea notificaciones para alertas de seguridad.
  • TemperatureThresholdExceededHandler: Notifica cuando se exceden umbrales de temperatura.
  • SystemUpdateHandler: Genera notificaciones para actualizaciones del sistema.

Application Services:

  • NotificationDispatchService: Coordina el envío de notificaciones a través de diferentes canales.
  • UserNotificationService: Gestiona las notificaciones específicas para cada usuario.
  • AlertNotificationService: Procesa alertas y genera notificaciones correspondientes.
  • NotificationBatchingService: Agrupa notificaciones relacionadas para evitar sobrecarga.
  1. Infrastructure Layer.

Esta capa implementa los detalles técnicos y la comunicación con sistemas externos: Repositories (Implementaciones):

  • NotificationRepository: Implementa INotificationRepository para persistir notificaciones.
  • NotificationPreferenceRepository: Implementa INotificationPreferenceRepository para preferencias.
  • AlertConditionRepository: Implementa IAlertConditionRepository para condiciones de alerta.

External Services Integration:

  • PushNotificationService: Integración con servicios de notificaciones push.
  • EmailNotificationService: Envío de notificaciones por correo electrónico.
  • SMSNotificationService: Envío de notificaciones por SMS.
  • WebSocketNotificationService: Entrega de notificaciones en tiempo real mediante WebSockets.

Data Access:

  • NotificationContext: Define el contexto de base de datos para el dominio de notificaciones.
  • NotificationQueryBuilder: Crea consultas optimizadas para notificaciones.

Message Handlers:

  • NotificationCommandPublisher: Publica comandos relacionados con notificaciones.
  • NotificationEventPublisher: Publica eventos del dominio de notificaciones.

Caching:

  • NotificationCountCache: Implementa cache para contadores de notificaciones por usuario.
  • UserPreferencesCache: Almacena temporalmente preferencias de notificación.

Delivery Services:

  • NotificationDeliveryTracker: Rastrea el estado de entrega de notificaciones.
  • RetryService: Gestiona reintentos para notificaciones no entregadas.
  • DeliveryRateLimiter: Aplica límites de tasa para evitar excesivas notificaciones.

Analytics Services:

  • NotificationEngagementAnalyzer: Analiza la interacción de los usuarios con diferentes tipos de notificaciones.
  • NotificationEffectivenessService: Evalúa la efectividad de las notificaciones para diferentes propósitos.
  1. Bounded Context Software Architecture Component Level Diagrams.
  2. Bounded Context Software Architecture Code Level Diagrams.

Notification Context Component Diagram

  1. Bounded Context Domain Layer Class Diagrams.

Notification Context Class Diagram

  1. Bounded Context Database Design Diagram.

Capítulo V: Solution UI/UX Design

  1. Style Guidelines.

En este capítulo se presenta el desarrollo de las interfaces y procesos de la aplicación GeoEntry. El objetivo principal es ofrecer una experiencia visual atractiva y sencilla para el usuario. Para lograrlo, se aplicaron colores que reflejan tecnología y confianza, se aprovechó el espacio de forma eficiente en distintos dispositivos, y se incorporaron imágenes y textos concisos que evitan la sobrecarga informativa. Además, las funcionalidades se organizaron en secciones claramente diferenciadas según su propósito dentro del sistema de automatización residencial.

  1. General Style Guidelines.

Branding

La identidad de TechProtection debe transmitir una visión clara: innovación al servicio del bienestar diario. Nuestro ecosistema tecnológico se presenta como confiable, moderno y centrado en el usuario. La marca se posiciona como el puente entre el confort del hogar y la potencia de la automatización inteligente, apelando tanto al aspecto emocional (seguridad y tranquilidad) como racional (eficiencia energética y control remoto).

El diseño visual debe evocar tecnología accesible pero sofisticada, evitando complejidad innecesaria y resaltando una sensación de orden, precisión y armonía. La consistencia visual a través de todos los canales (app móvil, web y dispositivos físicos) reforzará la recordación y confianza en la marca.

Colors

La paleta de colores busca un balance entre profesionalismo y calidez:

Azul Tecnológico (#0057B7): color primario, transmite innovación, fiabilidad y tecnología.

Verde Activo (#5BC236): color secundario, señala acciones exitosas y estados activos.

Blanco Puro (#FFFFFF): base para interfaces limpias y luminosas.

Gris Neutro (#F0F0F0): fondo y elementos de soporte, suaviza la interfaz y resalta lo importante.

Negro Suave (#1E1E1E): fondo para modo oscuro, utilizado principalmente en la app móvil y web en horarios nocturnos.

Typography

  • Lato: fuente principal de títulos, botones y encabezados. Su estilo geométrico y moderno comunica tecnología limpia y clara.

  • OpenSans: usada para textos secundarios, párrafos y descripciones; ofrece alta legibilidad, especialmente en pantallas pequeñas.

  • En general, se privilegian tipografías sans-serif por su carácter digital, versátil y elegante.

Spacing

El diseño se construye sobre una estructura visual ordenada y aireada, que favorece la navegación intuitiva y reduce la carga cognitiva. Las jerarquías se establecen mediante:

  • Tamaños tipográficos progresivos.
  • Contraste de colores y sombras suaves.
  • Uso de tarjetas, divisores y márgenes uniformes.
  • Botones grandes y accesibles, especialmente para comandos frecuentes como apertura de puerta, encendido de luces o activación de rutinas.
  1. Web, Mobile y IoT Style Guidelines

Aplicación Web

Pensada como un centro de control más técnico y administrativo. Permite la configuración avanzada de dispositivos, visualización de historial de eventos, personalización de rutinas, y ajustes de seguridad.

También está orientada a usuarios que desean un mayor grado de control sobre las automatizaciones y parámetros específicos del hogar. Es ideal para monitoreo desde escritorio o laptop en sesiones más prolongadas.

Spacing:

Se utiliza un diseño modular con tarjetas bien separadas para evitar sobrecarga visual. Las secciones están claramente delimitadas y accesibles desde un menú lateral o superior.

El uso del espaciado refuerza la jerarquía visual, permitiendo que cada tarjeta o bloque informativo respire, haciendo más sencilla su lectura y comprensión.

Typography:

Se mantiene la jerarquía con Montserrat en títulos y botones, y Roboto en listas, historiales y formularios.

Esta combinación genera contraste entre elementos de navegación y contenido, aportando elegancia y claridad a la interfaz.

Extras:

Modo oscuro para uso nocturno.

Permite reducir el cansancio visual, especialmente en ambientes con poca iluminación o durante sesiones prolongadas.

Iconografía representativa (cerradura, luz, temperatura, aroma).

Los íconos ayudan a identificar rápidamente funciones y dispositivos, manteniendo la estética coherente en toda la plataforma.

Layout adaptable a pantallas grandes (responsive).

Garantiza compatibilidad con diferentes resoluciones, desde laptops hasta monitores ultrawide, asegurando una experiencia fluida.

Aplicación Móvil

Diseñada para interacción rápida y cotidiana, con foco en gestos simples y acceso inmediato

a funciones clave.

Es ideal para momentos puntuales como llegar a casa, salir o activar rutinas rápidas, permitiendo control desde cualquier lugar.

Spacing:

Compacto pero táctil, con elementos accesibles con un solo pulgar. Los botones flotantes y el menú inferior permiten operar sin esfuerzo.

El diseño se adapta a manos de distintos tamaños, facilitando la navegación sin depender de ambas manos.

Typography:

Se prioriza Roboto en casi todos los elementos por su claridad en pantallas pequeñas, con Montserrat reservado para secciones destacadas o pantallas de bienvenida.

Esto mejora la legibilidad, reduce errores de lectura y mantiene una estética limpia y moderna.

Extras:

Navegación inferior fija con cuatro íconos: Inicio, Dispositivos, Rutinas, Perfil.

Estos íconos están pensados para que el usuario no tenga que memorizar rutas complejas ni acceder a menús desplegables.

Animaciones suaves para cambios de estado o navegación.

Contribuyen a una experiencia más fluida y agradable, transmitiendo sensación de modernidad sin sobrecargar el sistema.

Diseño responsive adaptable a smartphones y tablets.

La experiencia se mantiene uniforme sin importar el tamaño del dispositivo, promoviendo accesibilidad para todos los usuarios.

Gestos como deslizar para abrir puertas o activar escenas rápidas.

Estos gestos permiten acciones intuitivas sin depender de múltiples toques o botones.

Dispositivos IoT

La línea de productos físicos está diseñada para integrarse visualmente en hogares modernos sin sacrificar identidad tecnológica.

Cada dispositivo busca ser funcional y estéticamente neutro, permitiendo que encaje en distintos estilos de decoración.

Espaciado físico:

Dispositivos con superficies limpias, sin botones visibles innecesarios, manteniendo una estética minimalista y ergonómica.

Este enfoque evita distracciones visuales y simplifica el uso cotidiano, incluso para personas con poca experiencia tecnológica.

Indicadores LED:

Utilización de luces sutiles en azul, verde o rojo suave para comunicar estados como “activo”, “en espera” o “alerta”, sin generar contaminación visual.

Los indicadores están ubicados estratégicamente para ser visibles sin desentonar con el entorno del hogar.

Typography:

En etiquetas físicas (si las hay), se usa tipografía sans-serif clara y legible. El nombre de cada dispositivo puede personalizarse desde la app para reforzar el vínculo con el usuario. Esto permite identificar dispositivos rápidamente, personalizando la experiencia de forma más humana y cercana.

Acabado:

Materiales como plástico texturizado mate o metal cepillado para dar una sensación de calidad y durabilidad.

El diseño transmite confianza y solidez, ayudando a que el usuario perciba el producto como una inversión segura.

  1. Information Architecture
  2. Organization Systems

Aplicación Web

La estructura de la versión web está pensada para facilitar la administración del sistema desde una perspectiva más técnica y detallada, especialmente útil para usuarios avanzados o administradores del hogar.

Cada módulo está diseñado para brindar acceso directo a funciones complejas sin sacrificar claridad visual ni usabilidad.

Jerárquico (Hierarchical):

Se priorizan las funciones principales (Panel de control, Dispositivos, Seguridad) mediante diferencias visuales como tamaños, colores y ubicación.

Esto guía al usuario naturalmente hacia las secciones más importantes del sistema, reduciendo tiempos de búsqueda.

Secuencial (Sequential):

Se aplicará en los flujos de configuración inicial, donde el usuario sigue pasos guiados para conectar dispositivos IoT, definir rutinas y ajustar permisos.

Los pasos están acompañados de ayudas visuales e instrucciones contextuales para facilitar el proceso, incluso a usuarios sin experiencia previa.**

Matriz (Matrix):

Se brindará la opción de navegar entre dispositivos o rutinas según distintas categorías (por habitación, por tipo de dispositivo, por frecuencia de uso), facilitando la personalización.

Esto permite una exploración libre, útil cuando el usuario busca inspiración o desea optimizar la configuración existente.

Aplicación Móvil

La arquitectura de la app móvil está centrada en el uso diario y accesible con una sola mano. Se ha diseñado para que cualquier acción esté a pocos toques de distancia, reforzando la idea de control rápido y desde cualquier lugar.

Las pantallas son intuitivas, mostrando información clara sin requerir navegación profunda o pasos innecesarios.

Inicio de sesión y gestión de usuario:

La app permite autenticación segura, con opciones para ingresar, recuperar contraseña y gestionar perfiles de usuario y hogar.

Se incluye la posibilidad de autenticación biométrica (huella o rostro) para mayor rapidez y seguridad.

Panel principal:

Desde aquí se accede a un resumen del hogar (estado de dispositivos, notificaciones y accesos recientes).

Este panel puede personalizarse según las preferencias del usuario, mostrando lo más relevante primero.

Dispositivos:

Se listan todos los dispositivos conectados, con posibilidad de agruparlos por habitación o función (iluminación, seguridad, ambiente).

Cada dispositivo tiene una tarjeta con acceso a controles rápidos y un botón para configuración avanzada.

Rutinas:

Permite crear, editar y activar rutinas como "Modo noche", "Llegada a casa", o "Vacaciones", combinando múltiples dispositivos.

El usuario puede definir horarios, condiciones y automatizaciones para cada rutina, con una interfaz tipo asistente paso a paso.

Historial y alertas:

Visualización clara de eventos recientes como aperturas de puertas, cambios de temperatura,

  • actividad inusual.

El historial puede filtrarse por fechas o tipo de evento, facilitando la revisión ante incidentes

  • anomalías.

Notificaciones:

Sistema de avisos en tiempo real ante eventos importantes, accesible desde cualquier sección.

Las notificaciones pueden personalizarse por nivel de prioridad, tipo de evento o por usuario.

Configuración:

Permite personalizar preferencias, usuarios secundarios, conexión con asistentes de voz, y ajustes de seguridad.

Incluye control parental, zonas de acceso restringido y opciones de respaldo de configuración.

Soporte y ayuda:

Sección para contactar al equipo técnico, acceder a preguntas frecuentes o solicitar asistencia remota.

Incluye chat en vivo, tutoriales en video y guía paso a paso para la solución de problemas comunes.

Dispositivos IoT

Los dispositivos están organizados lógicamente en la app y en el sistema para facilitar su gestión.

El objetivo es lograr que el usuario sienta que todo está bajo control, sin importar cuántos dispositivos tenga instalados.

Agrupación por ambientes:

Los dispositivos se asignan a habitaciones o zonas del hogar para un control contextualizado. Esto facilita la activación por zonas (“Encender luces del segundo piso”) o rutinas por ambiente.

Categorización funcional:

Ya sea iluminación, seguridad o confort, cada tipo de dispositivo tiene un ícono y color identificable.

Esto permite identificar rápidamente su función incluso en interfaces densas o múltiples dispositivos en una misma habitación.

Estados claros:

Cada dispositivo muestra su estado actual (activo, inactivo, alerta) y permite ajustes rápidos desde su tarjeta.

Además, se pueden visualizar cambios recientes, tiempo desde la última activación y condiciones actuales.

Compatibilidad:

La interfaz permite integrar nuevos dispositivos fácilmente, manteniendo una estructura uniforme para que todo el ecosistema se sienta como una unidad.

El sistema detecta nuevos equipos automáticamente y guía al usuario en su configuración paso a paso.

  1. Labeling Systems

Web Application

Las etiquetas utilizadas en la interfaz web son simples y directas. Se agrupan por funcionalidades como: “Inicio”, “Dispositivos”, “Rutinas”, “Historial” y “Configuración”. El objetivo es evitar ambigüedades y permitir una navegación clara, incluso para nuevos usuarios sin experiencia técnica.

Mobile Application

En la aplicación móvil, se utilizan etiquetas breves acompañadas de íconos representativos para cada sección. Por ejemplo, un ícono de casa para “Inicio”, un rayo para “Rutinas” y un reloj para “Historial”.

La combinación de texto e iconografía mejora la comprensión y usabilidad, incluso en condiciones de uso apresurado o con poca atención visual.

IoT Devices

Los dispositivos IoT no requieren etiquetas complejas. Al estar pensados para activarse automáticamente mediante la geolocalización del usuario, se muestran solo los estados relevantes (por ejemplo: “Activado”, “Apagado”, “Modo Bienvenida”).

Esto evita sobrecargar las interfaces de los dispositivos, y permite que los usuarios los identifiquen fácilmente en entornos reales.

  1. SEO Tags and Meta Tags

Web Application

<title>GeoEntry – Automatización inteligente del hogar</title>

Estas etiquetas mejoran la visibilidad en motores de búsqueda, alineando el contenido con términos usados por el público objetivo.

Mobile Application (AndroidManifest.xml)

<application

android:label="GeoEntry - Hogar Inteligente"

android:description="Tu casa se prepara para ti automáticamente con GeoEntry" >

Estas etiquetas refuerzan la identidad de la app y su funcionalidad en tiendas de aplicaciones, facilitando su descubrimiento.

IoT Devices

No utilizan etiquetas SEO tradicionales, pero los dispositivos que se identifican en la red local usan nombres entendibles como “Puerta Entrada”, “Sensor Aromas”, “Luz Recibidor”, para facilitar la gestión desde el sistema o app si fuera necesario.

Esto también mejora la experiencia del usuario cuando hay múltiples dispositivos en el hogar.

  1. Searching Systems

Web Application

Incluye un sistema de búsqueda sencillo para localizar dispositivos o eventos pasados. El usuario puede escribir “puerta”, “sensor aroma” o “rutina noche” y recibir resultados filtrados de forma clara.

Esto reduce el tiempo de interacción y permite encontrar información específica de manera eficiente, incluso si el usuario no recuerda el nombre exacto.

Mobile Application

La app permite buscar dispositivos o rutinas por nombre, tipo o ubicación. Por ejemplo: “baño”, “climatización”, o “modo mañana”. También permite revisar el historial usando filtros por fecha o tipo de acción.

Esto da al usuario control total desde su teléfono, sin necesidad de navegar por múltiples menús o secciones.

  1. Navigation Systems

Web Application

La navegación se basa en una barra fija en la parte superior, con accesos directos a: “Inicio”, “Dispositivos”, “Rutinas”, “Historial”, “Configuración”.

Toda la estructura busca reducir la cantidad de clics necesarios para realizar acciones comunes, mejorando la eficiencia del sistema.

Mobile Application

Navegación mediante una barra inferior con íconos. La app está optimizada para uso ocasional, ya que la mayoría de funciones se activan automáticamente. Aun así, el usuario puede acceder rápidamente a cada sección si desea realizar cambios.

La estructura está pensada para responder rápidamente al contexto del usuario, favoreciendo

la simplicidad y el control en todo momento.

  1. Landing Page UI Design.

La propuesta de diseño de la landing page de GeoEntry refleja directamente las decisiones tomadas en torno a la arquitectura de información y los principios de diseño centrado en el usuario. Se buscó una estructura limpia, con una jerarquía visual clara y accesible desde cualquier dispositivo. La navegación está anclada a una barra superior fija que contiene el logo y cuatro botones principales: “Características”, “Cómo funciona”, “Contacto” y “Solicitar demo”. Cada uno dirige a la sección correspondiente dentro de la misma página, asegurando una experiencia fluida y sin distracciones.

La landing page fue pensada como el primer punto de contacto entre los usuarios potenciales y nuestra solución de automatización inteligente. Por ello, el diseño equilibra lo estético con lo funcional: se utilizaron contrastes accesibles, iconografía representativa, textos concisos y llamadas a la acción bien posicionadas. Se integraron principios de diseño inclusivo como tipografía legible, botones táctiles, estructura semántica clara y compatibilidad con lectores de pantalla.

  1. Landing Page Wireframe.

Introducción a las decisiones de diseño y arquitectura de información

Los wireframes de la landing page fueron elaborados para visualizar la estructura y disposición funcional del contenido antes de su diseño final. Se desarrollaron versiones específicas tanto para Desktop como para Mobile Web Browser, aplicando principios como consistencia, visibilidad de opciones, y simplicidad cognitiva.

Versión Desktop Web Browser:

  • Header: App bar con logo alineado a la izquierda y botones de navegación a la derecha. Siempre visible (sticky).
  • Hero Section: Eslogan principal y un botón de acción (“Solicitar Demo”), acompañado de una imagen que refuerza el mensaje de bienvenida automatizada.
  • Características: Cards con icono, título y breve descripción, dispuestas en una grilla simétrica de tres columnas.
  • Cómo funciona: Sección vertical con pasos numerados que describen el proceso de integración y uso de GeoEntry.
  • Solicitar demo: Tres beneficios destacados de solicitar una demo, con énfasis visual en claridad y brevedad.
  • Contacto: Formulario simple con campos de nombre, correo y mensaje. Destacado en color y accesible.
  • Footer: Redes sociales y aviso de derechos reservados, alineado al branding general.

Apartado de Características:

Apartado de Solicitar Demo:

Apartado de Contacto:

Versión Mobile Web Browser:

  • Las secciones se reorganizan en una columna vertical con desplazamiento natural (scroll), optimizando la lectura y navegación en pantallas pequeñas.
  • Cards e íconos son más grandes para permitir una interacción táctil cómoda.
  • El menú de navegación se transforma en un hamburger menu accesible desde la esquina superior derecha.
  • Los formularios y botones tienen suficiente espaciado para ser utilizados fácilmente con el dedo pulgar.
  • Los textos se adaptan a tamaños legibles sin necesidad de hacer zoom, manteniendo la consistencia visual.

Apartado de Caracteristicas:

Apartado de Solicitar Demo:

Apartado de Contacto:

Apartado de información de contacto:

  1. Landing Page Mock-up.

Los mock-ups desarrollados para la landing page de GeoEntry representan la versión visual definitiva del diseño, aplicando todos los lineamientos del sistema de diseño establecido para la marca. Este Design System incluye uso de tipografías Montserrat y Roboto, paleta de colores institucional (azules, blancos y verdes suaves), y componentes reutilizables como cards, botones, iconografía y formularios.

Versión Desktop Web Browser:

  • Se mantiene un layout amplio, con un uso efectivo del espacio negativo para evitar sobrecarga visual.
  • Las cards de características presentan íconos representativos de iluminación, seguridad, aroma y confort, enmarcadas dentro de bloques elevados con sombras suaves.
  • El CTA “Solicitar Demo” se resalta con un color primario contrastante y un hover state animado.
  • El formulario de contacto respeta los estándares de accesibilidad: etiquetas visibles, validación básica y botones de envío bien definidos.

Versión Mobile Web Browser:

  • El mock-up móvil prioriza la legibilidad y la facilidad de uso con una mano.
  • Las secciones se apilan verticalmente con espaciado consistente y tipografía legible.
  • Se incluyen microinteracciones para transiciones suaves, y el botón de “Solicitar Demo” permanece siempre visible en la parte inferior como botón flotante.
  • Los formularios tienen campos accesibles, compatibles con teclado predictivo y controles nativos del sistema operativo móvil.

Ambos mock-ups fueron diseñados siguiendo los principios de diseño inclusivo, manteniendo coherencia visual con los demás productos de TechProtection y asegurando una experiencia fluida, accesible y efectiva para distintos perfiles de usuario.

Apartado de Hero Section:

Apartado de Características:**

Apartado de Solicitar Demo:**

Apartado de Contacta con Nosotros:**

Apartado de Información de Contacto:**

  1. Applications UX/UI Design.
  2. Applications Wireframes.

En esta parte se explora el diseño de la experiencia que tendrán los usuarios al interactuar con la aplicación web GeoEntry. Tanto la ubicación de elementos como la selección de fuentes, íconos y colores han sido cuidadosamente pensados para ofrecer una navegación intuitiva, una estructura clara y una experiencia visualmente atractiva y fluida.

La sección de Proyectos es la principal, donde el usuario puede visualizar las automatizaciones creadas y, si lo desea, iniciar una nueva. También se incluye una breve descripción de la solución general, resaltando los beneficios de GeoEntry como sistema de automatización inteligente. Todo el diseño busca reflejar comodidad, seguridad y eficiencia, pilares fundamentales de nuestra propuesta.

Mobile Application Wireframes Home

Devices

Stats y Logs - Device Activity

Groups

Notifications**

Settings

Support

Profile

Web Application Wireframes Home

Devices

Stats & Logs

Group

Notifications

Settings

Support

Profile

Sign in

  1. Applications Wireflow Diagrams. Sign In / Sign Up

    See and Manage Devices

    Manage Logs

    Manage Group

    See Notifications

    Edit Setting

    Obtain Support

    Edit Profile

  2. Applications Mock-ups.

Los siguientes mockups ofrecen una vista previa del diseño y estructura visual de la aplicación web antes de su desarrollo final. Gracias a estos mockups podemos anticipar cómo se dispondrán los diferentes elementos en la interfaz, garantizando que el diseño sea claro, intuitivo y coherente con la identidad de la solución.

La sección de Proyectos es fundamental, ya que permite a los usuarios gestionar sus automatizaciones inteligentes, visualizar el estado de sus dispositivos conectados y crear nuevas reglas basadas en ubicación. Esta vista previa permite validar que la experiencia del usuario sea fluida y centrada en la comodidad, seguridad y eficiencia que ofrece GeoMetry.

Mobile Application MockUps Home

Devices

Notifications

Profile

Settings

Para Mockups de Aplicación Móvil:

"Los mockups de la aplicación móvil dan vida a la visión de una experiencia de usuario inmersiva y atractiva. La paleta de colores cuidadosamente seleccionada busca evocar [menciona la sensación

  • emoción deseada, e.g., dinamismo, calma, profesionalismo], mientras que la tipografía legible y armoniosa asegura una comunicación clara y placentera. La iconografía intuitiva y estilizada facilita la navegación y la comprensión de las funcionalidades de un vistazo. Se ha prestado especial atención a los detalles visuales y las transiciones sutiles, buscando una sensación de cohesión y fluidez en cada interacción. Estos mockups representan una interfaz móvil que aspira a ser visualmente cautivadora y eminentemente usable, invitando a los usuarios a una experiencia rica y satisfactoria en sus dispositivos."

    Para Mockups de Aplicación Web:

    "Los mockups de la aplicación web exploran una estética visual refinada y profesional, donde la disposición armoniosa de los elementos y el uso estratégico del espacio contribuyen a una interfaz limpia y organizada. La paleta de colores considerada busca transmitir [menciona la sensación o emoción deseada, e.g., confianza, innovación, eficiencia], complementada por una tipografía clara y jerárquica que optimiza la legibilidad y la comprensión de la información. La iconografía coherente y expresiva enriquece la navegación y la interacción con las diversas secciones. Se ha puesto énfasis en la consistencia visual y en la creación de un flujo visual intuitivo, buscando una experiencia que sea tanto estéticamente agradable como altamente funcional, facilitando a los usuarios la consecución de sus tareas de manera cómoda y eficiente en un entorno digital atractivo."

    Logs

    Support

    Sign In

    Web Application MockUps Home

    Devices

    Stats y Logs

    Group

    Notifications

    Settings

    Login

    Support

    Profile

  1. Applications User Flow Diagrams. Mobile Application User Flow Diagrams

    Edit Settings

    Obtain Suppport

    Edit Profile

    Sign Up / Sign In

    Manage Devices

    Visualize Logs

    Manage Groups

    Visualize Notifications

    Web Application User Flow Diagrams

    Register-SignIn

    Manage Devices

    Manage Groups

    Manage Logs

    Manage Settings

    Obtain Support

    Edit Profile

  2. Applications Prototyping.

https://www.figma.com/proto/gHjErqfAizdZ6oX3tLViFO/Untitled?node-id=1- 3440&t=oLEiZS406phv2tQp-0&scaling=scale-down&content-scaling=fixed&page- id=0%3A1&starting-point-node-id=1%3A2510&show-proto-sidebar=1

https://www.figma.com/proto/3paifCmo3Uq7KaSUgXRHmo/Personal-Portfolio-Website- Template-%7C-Mobile---Desktop--Community-?node-id=460- 692&p=f&t=rFZqKPbuMUrHsY9N-0&scaling=scale-down&content-scaling=fixed&page- id=0%3A1&starting-point-node-id=460%3A692&show-proto-sidebar=1

Capítulo VI: Product Implementation, Validation & Deployment

  1. Software Configuration Management.
  2. Software Development Environment Configuration. Requirements Management
  • Trello: Herramienta para gestionar flujos de trabajo en proyectos ágiles. Se usará para monitorear y actualizar el estado de tareas e historias de usuario durante el sprint. Referencia: https://trello.com/es

Product UX/UI Design

  • Figma: Plataforma de diseño de prototipos e interfaces digitales. Se empleará para crear los diseños de la aplicación en sus versiones web y móvil. Referencia: https://www.figma.com/login
  • Lucidchart: Aplicación para crear diagramas. Se utilizará para diseñar flujos de usuario, wireflows y el diagrama de clases del sistema. Referencia: https://www.lucidchart.com/

Software Testing

  • Gherkin: Lenguaje para especificar criterios de aceptación en formato Given-When-Then. Ayudará a definir los requerimientos de las user stories. Referencia: https://cucumber.io/docs/gherkin/

Software Development

  • Visual Studio Code: IDE seleccionado para el desarrollo por su versatilidad, soporte multiplataforma y amplia gama de extensiones útiles para proyectos web modernos. Referencia: https://code.visualstudio.com/
  • React: Biblioteca de JavaScript para construir interfaces de usuario basadas en componentes reutilizables. Permite el desarrollo eficiente de aplicaciones web dinámicas. Referencia: https://react.dev/
  • TypeScript: Superset de JavaScript que añade tipado estático, lo que mejora la mantenibilidad y reduce errores durante el desarrollo. Es ampliamente utilizado con React en proyectos modernos. Referencia: https://www.typescriptlang.org/docs/
  • Vite: Herramienta de desarrollo frontend rápida y ligera que permite una experiencia de desarrollo optimizada con soporte nativo para módulos de ES y excelente integración con React y TypeScript. Referencia: https://vitejs.dev/
  • Tailwind CSS: Framework de CSS utilitario que permite crear interfaces modernas y responsivas directamente en el marcado HTML o JSX. Facilita el diseño rápido y coherente sin necesidad de escribir CSS personalizado extensivo. Referencia: https://tailwindcss.com/docs
  • Flutter: Framework de código abierto para desarrollar interfaces de usuario nativas compiladas para móvil, web y escritorio desde una única base de código, utilizando el lenguaje Dart. Referencia: https://docs.flutter.dev/

Software Deployment

  • Git: Sistema de control de versiones diseñado para registrar y administrar las distintas iteraciones del código fuente. Será implementado para conservar un registro detallado de todas las modificaciones realizadas al proyecto, facilitando así la identificación y solución de incidencias. Los desarrolladores interactuarán con esta herramienta mediante terminal o línea de comandos en sus equipos locales. Ruta de referencia https://git-scm.com/

Software Documentation and Project Management

  • Github: Plataforma de alojamiento en la nube que servirá como repositorio centralizado para el código del proyecto. Esta solución permitirá la colaboración simultánea entre los miembros del equipo y el seguimiento detallado de todas las contribuciones individuales. El acceso a la plataforma se realizará mediante navegadores web convencionales. Ruta de referencia: https://github.com/
  1. Source Code Management.

El desarrollo del proyecto adoptará las convenciones del flujo de trabajo GitFlow para la gestión de versiones, empleando GitHub como plataforma principal para el control de versiones. A continuación, se explicará la implementación específica de GitFlow como metodología para el control de versiones, junto con los enlaces correspondientes a los repositorios de GitHub para cada componente: Landing Page, Web Services y Frontend Web Applications.

Flujo de trabajo GitFlow: El flujo de trabajo a utilizar para el desarrollo del proyecto fue el planteado por Vincent Driessen en "A successful Git branching model".

Estructura de branches (Ramas):

  1. Master branch (Rama principal): Constituirá el eje central del proyecto, albergando exclusivamente versiones estables y definitivas del producto. Los cambios sólo se incorporarán tras superar rigurosas pruebas en otras ramas de desarrollo.
  2. Develop branch (Rama de desarrollo): Servirá como núcleo para la evolución continua del proyecto, donde convergerán todas las contribuciones del equipo durante el proceso de desarrollo.
  3. Feature branches (Ramas de funcionalidad): Cada funcionalidad específica contará con una rama independiente. Al completarse su desarrollo, se integrará a la rama principal de desarrollo. La nomenclatura seguirá el formato "feature/descripción-funcionalidad" para garantizar claridad y unicidad.
  4. Release branches (Ramas de lanzamiento): Estas bifurcaciones representarán versiones candidatas de la rama develop, preparadas para su eventual incorporación a master. Su identificación se basará en el Versionamiento Semántico estándar.
  5. Hotfix branches (Ramas de corrección): Se implementarán para resolver de manera ágil errores críticos detectados en producción que afecten directamente la funcionalidad del sistema.

Versionamiento Semántico: El control de versiones aplicará estrictamente los principios del Versionamiento Semántico 2.0.0 (SemVer)

Convenciones de Commits: Los mensajes de confirmación seguirán las directrices de Conventional Commits, inspiradas en Angular Commit Guidelines. La estructura básica será:

git commit -m "[optional scope]:<title>" -m"<description">

  1. Source Code Style Guide & Conventions.

HTML: Algunas de las prácticas que deben de seguirse para alcanzar un código coherente, sostenible y ordenado son las siguientes:

  1. Cerrar todos los elementos HTML: Por ejemplo, Esto es un título.
  2. A pesar de que HTML permite combinar mayúsculas y minúsculas en los nombres de los elementos y atributos, se limitará al uso de minúsculas para mantener el orden y garantizar la legibilidad.
  3. Utilizar comillas en caso de que los atributos contengan espacios entre sí.
  4. Procurar especificar el texto alt y las dimensiones width y height de las imágenes, ya que de esta manera se facilitará la disponibilidad del contenido. Por ejemplo: image name

CSS: Entre las prácticas empleadas se mencionan:

  1. Los identificadores de clases deben ser concisos y descriptivos por sí mismos.
  2. Separar los nombres de las clases y ID con un guión, por ejemplo: #video-id y .hero-shadow{}
  3. Evitar especificar la unidad de medida luego de usar el valor 0, por ejemplo: margin: 0 en lugar de margin: 0px.
  4. Cada selector y declaración CSS debe ubicarse en líneas independientes para facilitar su lectura y mantenimiento.

Gherkin: Es un lenguaje especializado diseñado para abordar un desafío específico: facilitar la comunicación efectiva entre los equipos de negocio y técnicos al implementar Behavior Driven Development (BDD). Para optimizar su uso, se implementaron las siguientes prácticas:

  1. Organización visual: Se emplearon saltos de línea estratégicos para estructurar claramente los diferentes escenarios y mejorar su legibilidad.
  2. Palabras clave: Se utilizaron los términos fundamentales "Given", "When", "Then" y "And" para:
  • Establecer el contexto inicial.
  • Describir las acciones principales.
  • Definir los resultados esperados.
  • Agregar condiciones complementarias cuando fuera necesario.

Este enfoque garantiza que los criterios de aceptación sean:

  • Claros para todos los stakeholders
  • Fáciles de mantener
  • Alienados con los requisitos del negocio
  1. Software Deployment Configuration.

Landing page deployment:

Para desplegar la landing page utilizando Netlify, es necesario cumplir con ciertos prerrequisitos: disponer de una cuenta personal en Netlify, tener un repositorio en GitHub correctamente configurado con los archivos del proyecto y mantener una estructura de carpetas clara. A continuación, se detalla el proceso de implementación paso a paso:

Estructura de directorios:

  • El archivo principal del proyecto debe nombrarse como index.html.
  • La hoja de estilos debe almacenarse bajo el nombre style.css.
  • Crear una carpeta img/ para contener todos los recursos gráficos.

Sincronización con el repositorio:

  • Subir los archivos al repositorio de GitHub mediante un commit, siguiendo las convenciones de mensajes establecidas por el equipo.

Configuración en Netlify:

  • Acceder a la plataforma de Netlify y seleccionar la opción "Add new site" > "Import from Git".
  • Conectar la cuenta de GitHub y seleccionar el repositorio correspondiente.
  • Definir la rama de despliegue (por lo general main o master).

Publicación:

  • Netlify detectará automáticamente el contenido estático y procederá a realizar el primer despliegue.
  • Una vez completado, se generará un enlace público desde donde se podrá visualizar la landing page en producción.
  • Cada nuevo commit en el repositorio desencadenará automáticamente un nuevo despliegue.
  1. Landing Page, Services & Applications Implementation.
  2. Sprint 1
  3. Sprint Planning 1
Sprint # Sprint 1
Sprint Planning Background
Date 12 de Mayo del 2025
Time 6 horas
Location Modalidad remota por Discord
Prepared By TechProtection
Attendees (to planning meeting) Todos los miembros
Sprint 1 Review Summary Reunión de integrantes del grupo para delegar tareas, tanto Landing Page, Web App e informe.
Sprint 1 Retrospective Summary Mejorar comunicación y tiempo de reuniones.
Sprint Goal & User Stories En este sprint se planea desarrollar un avance en el informe así como las correcciones del informe. Además, terminar nuestro landing page para mostrar información pertinente y tener un diseño responsive.
Sprint 1 Velocity 15
Sum of Story Points 18
  1. Aspect Leaders and Collaborators.
Team Members Github Usernames Frontend LandingPag e Figma Corrección de informe Informe
Elías Sanchez, HamesEl C C C L C
Harold MigueL
López Huamán, Rodrigo Adrián RodrLH L L C L L
Meneses Arevalo, Victor Manuel vrokerev C C L L C
Gamboa Delgado, Brayan Stiven GamboaBra yan C C C L C
Salvador Rodríguez, Rodrigo Jesús Rodrigojsr1 2 C C C L C
  1. Sprint Backlog 1

SPRINT SPRINT 1

Work-Item / Task

User Story ID Title id Description Tiemp o (horas) Assigned to Status (to- do/ in process/ To review/ done
US01 Contactar al equipo de soporte 01

Como usuario de GeoEntry, Quiero enviar un mensaje al equipo de soporte desde la app

Para resolver problemas técnicos.

3 Victor Meneses Done
US06 Ver historial de actividad 03

Como usuario, Quiero recibir alertas inmediatas si mi puerta principal queda abierta accidentalmen te,

Para prevenir riesgos de seguridad.**

4 Rodrigo López Done
US19 Redirección desde Landing Page a Login 08 Como usuario visitante de GeoEntry, Quiero hacer clic en el botón "Solicitar Demo" en la landing page Para ser redirigido a la página de login y acceder a la demo de la aplicación.** 1 Rodrigo Salvador Done
  1. Development Evidence for Sprint Review.

A continuación, se presentan los commits realizados en el repositorio de la landing page, Página Web y el Documento en el Github.

https://github.com/TechProtection/Documentation-IOT.git https://github.com/TechProtection/geontry-frontend.git https://github.com/TechProtection/geoentry-smart-hub-control.git

Repository Branch Commit Id Commit Message Commit Message Body Commited on (Date)
geoentry- smart-hub- control main 9c9a627 Add hero image Implement a hero image related to the product. April 4
geoentry- smart-hub- control main 319996f add netlify.toml . April 7
geoentry- smart-hub- control main d11f178 Add GeoEntry buttons Add two new buttons with GeoEntry styling. April 9
geontry- frontend main 3a6887e initial commit . May 9
Documentation -IOT main a6b8293 docs: add cap 1 add cap 1 April 12
Documentation -IOT main be67b4e fix table error fix error April 28
Documentation -IOT main 3df094d Cambios C4 Correcciones C4 May 12
  1. Testing Suite Evidence for Sprint Review.

Para este Sprint N°1 no se realizaron pruebas para el RESTful API ni para el frontend. Solo se verificó el correcto funcionamiento del landing page desplegado.

  1. Execution Evidence for Sprint Review

En esta Sprint 1, el equipo desarrolló el Landing page como la primera versión del Frontend.

LandingPage

FrontEnd

ref3

  1. Services Documentation Evidence for Sprint Review.

En este Sprint 1, los miembros de TechProtection se enfocaron netamente con el diseño y desarrollo de la Landing Page y la primera versión del Frontend, también con el despliegue visual del Landing Page con éxito.

  1. Software Deployment Evidence for Sprint Review.

El equipo ha desplegado de forma exitosa el Landing Page, donde se muestra una página con diseño y colores Soft para la vista del usuario e información relevante.

Landing Page:

https://geoentry-landing.netlify.app/

ref4

FrontEnd: https://geoentry-site.netlify.app/

ref3

  1. Team Collaboration Insights during Sprint.

Aquí se muestra la colaboración del equipo y ramas dentro del proyecto:**

ref5

  1. Sprint 2
  2. Sprint Planning 2.
Sprint # Sprint 2
Sprint Planning Background
Date 16 de Junio del 2025
Time 8 horas
Location Modalidad remota por Discord
Prepared By TechProtection
Attendees (to planning meeting) Todos los miembros
Sprint 1 Review Summary Reunión de integrantes del grupo para delegar tareas, tanto del Backend, Edge Api, Web App, Mobile App e informe.
Sprint 2 Retrospective Summary Mejorar comunicación y tiempo de reuniones.
Sprint Goal & User Stories En este sprint se plantea realizar la primera versión de nuestro sistema como el Backend, Edge Api, Mobile App y Web App, así como completar el informe.
Sprint 2 Velocity 15
Sum of Story Points 18
  1. Aspect Leaders and Collaborators.
Team Member s Github Usernam es REST API Frontend Edge - API Correcci ón de informe Mobile Applicatio n Inform e
Elías Sanchez, Harold MigueL HamesE l C C L L L C
López Huamán, Rodrigo Adrián RodrLH L L C C C C
Meneses Arevalo, Victor Manuel vrokerev C C C L C L
Gamboa Delgado, Brayan Stiven Gamboa Bryan L C C L C C

Salvador Rodrígu

ez, Rodrigo Jesús

Rodrigoj sr12 C C C L C L
  1. Sprint Backlog 2.

SPRINT SPRINT 2

Work-Item / Task

User Story ID Title id Description Tiemp o (horas) Assigned to Status (to-do/ in process/ To review/ done
US05

Invitar a un

familiar

05 Como administrador, quiero compartir acceso temporal con un familiar para que controle dispositivos específicos. 5 Victor Meneses Done
US08 Cambiar idioma de la app 08 Como usuario, Quiero seleccionar el idioma de la interfaz (español/inglés), Para mayor comodidad. 2 Brayan Gamboa Done
US11 Ver estado de dispositiv os 11

Como usuario, Quiero ver rápidamente qué dispositivos están activos/desactivados en mi hogar

Para tener un resumen del estado actual.

4 Harold Elías Done
US13

Revocar acceso a un usuario

invitado

13

Como administrador del hogar,

Quiero retirar permisos a usuarios invitados cuando ya no los necesiten

Para mantener la seguridad de mi hogar.

2 Rodrigo Salvador Done
US10 Editar avatar de perfil 10

Como usuario, Quiero cambiar mi foto de perfil en "Mi Perfil"

Para personalizar mi cuenta.**

2 Rodrigo Lopez Done
US17 Ver preguntas frecuente s (FAQs) 17

Como usuario, Quiero acceder a una sección de preguntas frecuentes dentro de la app

Para resolver dudas básicas sin contactar al soporte.**

2 Victor Meneses Done
US20

Activació n geolocali

zada del hogar inteligent e

20

Como usuario de GeoEntry,

Quiero que mi hogar detecte automáticamente cuando estoy cerca (mediante geolocalización)

Para que se activen los dispositivos configurados sin necesidad de acciones manuales.**

5 Harold Elías Done
  1. Development Evidence for Sprint Review.

A continuación, se presentan los commits realizados en el repositorio de la landing page, Página Web y el Documento en el Github.

https://github.com/TechProtection/geoentry-edge-api https://github.com/TechProtection/geoentry-rest-api https://github.com/TechProtection/geoentry-mobile https://github.com/TechProtection/TechProtect-backend https://github.com/TechProtection/geontry-frontend

Repository Branch Commit Id Commit Message Commit Message Body Commited on (Date)
geoentry-edge- api master 937f4f3 feat: fix created_at in db fix created_at in db June 18
geoentry-edge- api master 261e328 feat: fix db fix db June 19
geoentry-edge- api master a7a24eb chore; config for render deployment config for render deployment June 19
geoentry-edge- api master 4f6c8d7 chore: add swagger-ui add swagger-ui June 19
geoentry-edge- api master bab9f39 fix: fix backend url error fix backend url error June 19
geoentry-edge- api master d882cdd fix: fix host url error fix host url error June 19
geoentry-edge- api master 56301b5 fix: fix backend url fix backend url June 19
geoentry-edge- api master 6868344 fix: fix backend url fix backend url June 19
geoentry-edge- api master 6198264 chore: delete schemas delete schemas June 19
geoentry-rest- api main b4bf5c6 feat: fix cors errors fix cors errors June 16
geoentry-rest- api main 502d3f8 feat: update tables update tables June 17
geoentry-rest- api main 430aba8 fix: CORS errors CORS errors June 17
geoentry-rest- api main 6ef1bac fix: fix baseurl error fix baseurl error June 17
geoentry-rest- api main 0db248b fix: remove local server remove local server June 17
geoentry-rest- api main 529f7d1 chore: update cors update cors June 19
geoentry-rest- api main cdbc4da fix: fix errors fix errors June 19
geoentry-rest- api main ccfd9fb fix: fix errors fix errors June 19
geometry- mobile main c81bdfb feat: change api url change api url June 17
geometry- mobile main 65f66d8 merge: pull request from TechProtectio merge: pull request from TechProtection/ June 17
n/feat/locatio n feat/location
geometry- mobile main 559df2f eas config eas config June 14
geometry- mobile main 2dcc9d2 api integration api integration June 8
geometry- mobile main 464557c feat: location set location set June 8
geometry- mobile main 619821c initial commit: Geometry Mobile app Geometry Mobile app June 8
geometry- mobile main 746fd43 Created a new expo app Created a new expo app May 27
TechProtect- backend main ed30f4b Backend Backend June 15
geometry- frontend main 46d6f52 feat: update types update types June 16
geometry- frontend main 7ed8bf7 feat: updating load states updating load states June 17
geometry- frontend main c90ae91 feat: add password viewer add password June 17
  1. Testing Suite Evidence for Sprint Review.

Para este Sprint N°2 se realizaron pruebas para el RESTful API y para el Edge Api.

  1. Execution Evidence for Sprint Review.

En este Sprint 2, el equipo desarrolló el frontend en su segunda versión, el Mobile Application en su primera versión, primera versión del Edge Api y primera versión del Rest Api.

FrontEnd

ref3

Mobile App

ref6

Edge Api

ref7

Rest Api

ref8

  1. Services Documentation Evidence for Sprint Review.

En este Sprint 2, los miembros de TechProtection se enfocaron en el desarrollo de una segunda versión del FrontEnd Web Application, primera versión del Rest Api y Edge Api además de la primera versión de la Mobile Application.

  1. Software Deployment Evidence for Sprint Review

El equipo ha desplegado de forma exitosa el Landing Page, el Frontend, el Rest Api y el Edge Api, en las cuales se evidencia en las siguientes capturas, además de adjuntar sus respectivos links en donde se puede visualizar de mejor manera el desplegado de cada uno.

Landing Page: https://geoentry-landing.netlify.app/

ref4

FrontEnd: https://geoentry-site.netlify.app/

ref3

Edge Api:

https://geoentry-edge-api-391a.onrender.com/apidocs/

ref9

Rest-Api: https://geoentry-rest-api-5gp7.onrender.com/swagger-ui

ref10

ref11

  1. Team Collaboration Insights during Sprint.

Aquí se muestra la colaboración del equipo y ramas dentro del proyecto:

ref5

  1. Sprint 3
  2. Sprint Planning 3.
Sprint # Sprint 3
Sprint Planning Background
Date 02 de Julio del 2025
Time 8 horas
Location Modalidad remota por Discord
Prepared By TechProtection
Attendees (to planning meeting) Todos los miembros
Sprint 3 Review Summary Reunión de integrantes del grupo para delegar tareas, tanto del Backend, Edge Api, Web App, Mobile App e informe, además de las mejoras y correcciones correspondientes.
Sprint 3 Retrospective Summary Mejorar comunicación, tiempo de reuniones y distribución de partes del trabajo de forma equitativa.
Sprint Goal & User Stories En este sprint se plantea realizar la primera versión de nuestro sistema como el Backend, Edge Api, Mobile App y Web App, así como completar el informe en su totalidad para la presentación final.
Sprint 3 Velocity 15
Sum of Story Points 18
  1. Aspect Leaders and Collaborators.
Team Member s Github Usernam es REST API-v2 Frontend Edge - API-v2 Correcci ón de informe Mobile Applicatio n Inform e
Elías Sanchez, Harold MigueL HamesE l C C L L L C
López Huamán, Rodrigo Adrián RodrLH L L C C C C
Meneses Arevalo, Victor Manuel vrokerev C C C L C L
Gamboa Delgado, Brayan Stiven Gamboa Bryan L C C L C C

Salvador Rodrígu

ez, Rodrigo Jesús

Rodrigoj sr12 C C C L C L
  1. Sprint Backlog 3.

SPRINT SPRINT 3

Work-Item / Task

User Story ID Title id Description Tiem po (hora s) Assigned to Status (to-do/ in process/ To review/ done
US02

Agregar dispositivo para

geolocaliz

ación

02

Como usuario nuevo de GeoEntry,

Quiero agregar un dispositivo desde la sección "Dispositivos" Para comenzar a controlar mi hogar inteligente.

4 Rodrigo Lopez Done
US03 Prender luces inteligente s 03 Como usuario, Quiero que al entrar a mi casa las luces inteligentes se prendan automáticamente Para tener mi casa preparada a lo que quiera hacer 4 Rodrigo Lopez Done
US04 Recibir alerta al llegar a mi ubicación 04 Como usuario, Quiero que la aplicación me notifique al acercarme a mi ubicación configurada Para tener un registro de mi actividad 6 Harold Elias Done
US07 Recibir alerta al salir de la ubicación 07

Como usuario, Quiero ser notificado si salgo de mi ubicación configurada

Para tener un registro de mi actividad.**

8 Brayan Gamboa Done
US09 Desconect ar un dispositivo 09 Como usuario, Quiero remover dispositivos que ya no uso de mi sistema Para mantener mi lista organizada.** 4 Rodrigo Salvador Done
US12 Reportar problema técnico 12 Como usuario, Quiero enviar un mensaje en "Soporte > Contactar Soporte" Para resolver fallos en mis dispositivos.** 4 Rodrigo Salvador Done
US14 Visualizar ubicacione s en el mapa 14

Como usuario,

Quiero ver mis ubicaciones configuradas en el mapa dentro de la página Para poder identificar fácilmente la localización de cada punto.**

6 Brayan Gamboa Done
US15 Revisar historial de eventos 15 Como usuario, Quiero visualizar el historial de eventos en una lista ordenada Para poder consultar fácilmente las acciones realizadas y su fecha 5 Harold Elias Done
US16 Visualizar analíticas de patrones de ubicación y actividad 16

Como usuario,

Quiero visualizar analíticas sobre patrones de ubicación y actividad Para obtener una visión clara y comprensible del comportamiento registrado en el sistema

6 Victor Meneses Done
US17 Visualizar mis ubicacione s configurad as 17

Como usuario,

Quiero visualizar la lista de mis ubicaciones configuradas

Para poder consultarlas y asegurarme de que están correctamente registradas

6 Rodrigo Salvador Done
US18 Visualizar el resumen general del sistema 18

Como usuario

Quiero visualizar un resumen consolidado de mis ubicaciones**,** dispositivos y eventos Para obtener una visión rápida y clara del estado actual de mi cuenta y actividades

5 Victor Meneses Done
  1. Development Evidence for Sprint Review.

A continuación, se presentan los commits realizados en el repositorio de la landing page, Página Web y el Documento en el Github.

https://github.com/TechProtection/geoentry-edge-api https://github.com/TechProtection/geoentry-rest-api https://github.com/TechProtection/geoentry-mobile https://github.com/TechProtection/TechProtect-backend https://github.com/TechProtection/geontry-frontend

Repository Branch Commit Id Commit Message Commit Message Body Commited on (Date)
geoentry-edge- api master 937f4f3 feat: fix created_at in db fix created_at in db June 18
geoentry-edge- api master 261e328 feat: fix db fix db June 19
geoentry-edge- api master a7a24eb chore; config for render deployment config for render deployment June 19
geoentry-edge- api master 4f6c8d7 chore: add swagger-ui add swagger-ui June 19
geoentry-edge- api master bab9f39 fix: fix backend url error fix backend url error June 19
geoentry-edge- api master d882cdd fix: fix host url error fix host url error June 19
geoentry-edge- api master 56301b5 fix: fix backend url fix backend url June 19
geoentry-edge- api master 6868344 fix: fix backend url fix backend url June 19
geoentry-edge- api master 6198264 chore: delete schemas delete schemas June 19
geoentry-rest- api main b4bf5c6 feat: fix cors errors fix cors errors June 16
geoentry-rest- api main 502d3f8 feat: update tables update tables June 17
geoentry-rest- api main 430aba8 fix: CORS errors CORS errors June 17
geoentry-rest- api main 6ef1bac fix: fix baseurl error fix baseurl error June 17
geoentry-rest- api main 0db248b fix: remove local server remove local server June 17
geoentry-rest- api main 529f7d1 chore: update cors update cors June 19
geoentry-rest- api main cdbc4da fix: fix errors fix errors June 19
geoentry-rest- api main ccfd9fb fix: fix errors fix errors June 19
geometry- mobile main c81bdfb feat: change api url change api url June 17
geometry- mobile main 65f66d8 merge: pull request from TechProtectio n/feat/locatio n merge: pull request from TechProtection/ feat/location June 17
geometry- mobile main 559df2f eas config eas config June 14
geometry- mobile main 2dcc9d2 api integration api integration June 8
geometry- mobile main 464557c feat: location set location set June 8
geometry- mobile main 619821c initial commit: Geometry Mobile app Geometry Mobile app June 8
geometry- mobile main 746fd43 Created a new expo app Created a new expo app May 27
TechProtect- backend main ed30f4b Backend Backend June 15
geometry- frontend main 46d6f52 feat: update types update types June 16
geometry- frontend main 7ed8bf7 feat: updating load states updating load states June 17
geometry- frontend main c90ae91 feat: add password viewer add password June 17
  1. Testing Suite Evidence for Sprint Review.

Para este Sprint N°3 se realizaron pruebas para el RESTful API y para el Edge Api, además de la conexión con nuestro dispositivo IoT para comprobar el funcionamiento de las aplicaciones, de esta forma generando eficiencia en el desarrollo de nuestro proyecto.

  1. Execution Evidence for Sprint Review.

Para este Sprint N°3, el equipo desarrolló la versión final del FrontEnd, Mobile App, Rest Api, Edge Api, además de realizar conexiones con nuestro dispositivo IoT para garantizar su funcionamiento total con nuestra app.

FrontEnd

Mobile App

ref6

Edge Api

Rest Api

ref8

  1. Services Documentation Evidence for Sprint Review.

En este Sprint 3, los miembros de TechProtection se enfocaron en el desarrollo de la versión final del FrontEnd Web Application, Rest Api, Edge Api y Mobile Application.

  1. Software Deployment Evidence for Sprint Review

El equipo ha desplegado de forma exitosa el Landing Page, el Frontend, el Rest Api y el Edge Api, en las cuales se evidencia en las siguientes capturas, además de adjuntar sus respectivos links en donde se puede visualizar de mejor manera el desplegado de cada uno.

Landing Page: https://geoentry-landing.netlify.app/

ref4

FrontEnd: https://geoentry-site.netlify.app/

Edge Api:

https://geoentry-edge-api.onrender.com/apidocs**

ref12

Rest-Api: https://geoentry-rest-api.onrender.com/swagger-ui**

ref13

ref11

Diseño en Wokwi: https://wokwi.com/projects/435342416625664001**

Mobile App:

  1. Team Collaboration Insights during Sprint.

Aquí se muestra la colaboración del equipo y ramas dentro del proyecto:

ref5

  1. Validation Interviews
  2. Diseño de Entrevistas

Segmento objetivo: Usuarios residenciales (hogares inteligentes) Preguntas generales:

  1. ¿Cuál es tu nombre?
  2. ¿Cuántos años tienes?
  3. ¿Dónde resides actualmente (distrito y ciudad)?
  4. ¿Vives en casa, departamento u otro tipo de vivienda?

Preguntas de validación:

  1. ¿Te resultó fácil entender cómo funciona GeoEntry desde el primer uso?
  2. ¿Pudiste configurar sin problemas la automatización de funciones como luces, cerradura o climatización?
  3. ¿La activación automática al llegar a casa funcionó como esperabas?
  4. ¿Te pareció útil poder personalizar las rutinas de bienvenida según tus preferencias?
  5. ¿Sientes que la app te ahorra tiempo o esfuerzo en tu día a día?
  6. ¿Qué tan clara fue la navegación dentro de la aplicación?
  7. ¿Tuviste algún problema con la conexión entre la app y tus dispositivos inteligentes?
  8. ¿Consideras que el uso de la app ha mejorado tu experiencia al llegar a casa?
  9. ¿Confías en el sistema desde el punto de vista de la seguridad digital y física?
  10. ¿Qué funcionalidades te gustaría agregar para mejorar tu experiencia con GeoEntry?
  11. ¿Te parece útil que la app esté disponible en tu celular? ¿La usas con frecuencia?

Segmento objetivo: Negocios que buscan experiencias de bienvenida automatizadas Preguntas generales:

  1. ¿Cuál es tu nombre?
  2. ¿Cuántos años tienes?
  3. ¿Dónde resides actualmente (distrito y ciudad)?
  4. ¿Cómo se llama tu local/oficina/empresa?

Preguntas de validación:

  1. ¿Fue sencillo configurar la bienvenida automatizada en tu local/oficina usando GeoEntry?
  2. ¿Qué funciones serían las que más quisieras automatizar (luces, clima, cortinas, fragancias, etc.) y cómo fue la experiencia?
  3. ¿Crees que GeoEntry aporta a la imagen o experiencia que tu negocio brinda a los clientes o visitantes?
  4. ¿La geolocalización funcionó correctamente para activar las funciones al detectar al personal autorizado o clientes?
  5. ¿La aplicación te facilitó la gestión remota del ambiente del local (horarios, personalización de rutinas, etc.)?
  6. ¿Sientes que esta solución ha optimizado recursos como energía o tiempo en tu negocio?
  7. ¿Tuviste alguna dificultad técnica al integrar GeoEntry con los dispositivos del local?
  8. ¿Consideras que el sistema es seguro y confiable para un entorno comercial?
  9. ¿Qué comentarios has recibido de tus clientes o equipo sobre la experiencia de entrada automatizada?
  10. ¿Qué funciones adicionales te gustaría que tenga GeoEntry para tu tipo de negocio?
  11. Registro de Entrevistas

Segmento 1: Usuarios residenciales (hogares inteligentes) Entrevista 1

Alejandro comentó que la aplicación le pareció intuitiva y sencilla de usar desde el primer momento. Destacó la utilidad de las funciones automatizadas al llegar a casa, sobre todo por la comodidad que representa en su rutina diaria. No reportó dificultades significativas en la configuración inicial, aunque mencionó que le gustaría contar con más opciones de personalización. En general, considera que GeoEntry mejora su experiencia al ingresar a su hogar y le brinda una sensación de eficiencia y control.

Entrevista 2

Harold indicó que la navegación de GeoEntry fue clara y la integración con los dispositivos inteligentes de su hogar se realizó sin mayores inconvenientes. Valoró especialmente la activación automática al llegar, ya que le permite ahorrar tiempo y evita acciones manuales repetitivas. También destacó que la app mejora la percepción de seguridad y le resulta conveniente tener acceso desde su smartphone. Sugirió incorporar funciones adicionales para monitorear el estado del hogar en tiempo real.

Segmento 2: Negocios que buscan experiencias de bienvenida automatizadas Entrevista 1

Jenny consideró que la configuración de GeoEntry fue bastante sencilla para su negocio. Logró automatizar luces y música ambiental, lo que generó una atmósfera más acogedora para sus clientas. Señaló que esta funcionalidad contribuye positivamente a la imagen del local. Si bien no reportó problemas técnicos, expresó interés en poder integrar más dispositivos a futuro, como aromatizadores

  • pantallas de bienvenida. Afirmó que la herramienta aporta valor y profesionalismo a su negocio.

Entrevista 2

Viviana encontró que GeoEntry le facilitó la gestión del ambiente en su hotel. Comentó que la automatización del encendido de luces y el ajuste del clima mejora la experiencia del cliente desde su ingreso. La geolocalización funcionó adecuadamente para detectar al personal autorizado, lo cual ayudó a optimizar procesos. Aunque la experiencia fue positiva, recomendó que se añadan funciones de control remoto más detalladas y reportes de uso. En general, ve la solución como una aliada para ofrecer un servicio más moderno y eficiente.

  1. Evaluaciones según heurísticas

Con base en las opiniones recopiladas durante las entrevistas realizadas a usuarios residenciales y representantes de negocios que implementan automatización de bienvenida, se puede concluir lo siguiente:

  • La aplicación GeoEntry fue percibida como intuitiva y fácil de usar, incluso desde el primer contacto.
  • La navegación dentro de la app es clara y fluida, permitiendo al usuario configurar funciones sin dificultad.
  • Las vistas de la aplicación presentan la información relevante de manera organizada, facilitando la personalización de rutinas tanto en hogares como en negocios.
  • GeoEntry aporta valor práctico y emocional: para los hogares, mejora la experiencia de llegada con comodidad y seguridad; para los negocios, refuerza la imagen profesional y la eficiencia operativa.
  • La información que se presenta en pantalla se considera comprensible, completa y útil para la toma de decisiones respecto al ambiente del espacio automatizado.
  • Los participantes expresaron una actitud positiva hacia el uso frecuente de la aplicación y estarían dispuestos a adoptarla como parte de su rutina diaria o como herramienta de mejora para su negocio.
  1. Video About-the-Product

Para este entregable es necesario la presentación del video About The Product

.

Link del Video: https://youtu.be/7qB-bXc-_CU

Conclusiones

El desarrollo de la solución GeoEntry, impulsado por la startup TechProtection, permitió validar de forma efectiva las hipótesis y suposiciones planteadas en el proceso Lean UX. Se identificó que los usuarios, tanto residenciales como comerciales, enfrentan una fuerte fragmentación tecnológica y desean soluciones automatizadas que funcionen de manera fluida, sin requerir múltiples aplicaciones

  • intervención manual constante.

Las entrevistas y herramientas de análisis (Empathy Mapping, User Personas, Journey Mapping, entre otras) confirmaron que los usuarios valoran principalmente la comodidad, eficiencia energética y seguridad. En ese sentido, GeoEntry resolvió los Problem Statements al ofrecer una experiencia de llegada automatizada al hogar o negocio mediante geolocalización, eliminando fricciones comunes como buscar llaves, encender luces o ajustar temperatura.

Los Hypothesis Statements fueron validados exitosamente:

  • Se evidenció un interés real en adoptar automatizaciones por proximidad.
  • Hubo una notable reducción en tareas manuales.
  • Los usuarios manifestaron intención de utilizar estadísticas para optimizar su entorno.
  • La interfaz intuitiva fue bien aceptada, incluso por personas con poca experiencia tecnológica.

En base a los resultados obtenidos, el equipo recomienda:

  1. Desarrollar un roadmap iterativo, priorizando la integración con más dispositivos del ecosistema domótico (Alexa, Google Home, Apple HomeKit) y mejorando funcionalidades como personalización de escenarios y visualización de datos.
  2. Expandir la validación comercial hacia sectores como hotelería, coworking y pequeños negocios, mediante pilotos que permitan adaptar el producto a sus necesidades específicas.
  3. Fortalecer las estrategias de posicionamiento, mediante alianzas con inmobiliarias, arquitectos y showrooms de smart homes, así como campañas de marketing dirigidas a los segmentos objetivo identificados.
  4. Optimizar aspectos técnicos, como la eficiencia del sistema de detección de presencia, el consumo energético de la app y su funcionamiento offline, para asegurar una experiencia robusta.
  5. Escalar la plataforma, diseñando una infraestructura que soporte múltiples usuarios y escenarios sin perder rendimiento, además de establecer un servicio de soporte técnico amigable para usuarios principiantes.

GeoEntry se consolida como una propuesta de alto valor en un mercado en expansión, con potencial para convertirse en referente regional de automatización del hogar y experiencias personalizadas de bienvenida. La validación del modelo de negocio, su enfoque centrado en el usuario y la sólida planificación técnica posicionan al proyecto en una ruta prometedora de crecimiento.

Video About-The-Team Link del video About the team

Bibliografía

Anexos

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors