1. Propósito y Visión General
●
●
●
●
¿Cuál es el objetivo principal de tu proyecto?
¿Para quién está dirigido?
¿Cuáles son las principales funcionalidades de la aplicación?
¿Cómo se relaciona este proyecto con otros productos o servicios?
2. Estructura del Proyecto
● ¿Cómo está organizada la estructura de las carpetas?
● ¿Cómo se distribuyen las responsabilidades entre las distintas capas del proyecto
(UI, lógica de negocio, API, etc.)?
● ¿Existen convenciones de nombres o estructura que deberían seguirse?
3. Instalación y Configuración
● ¿Cuáles son los pasos para instalar y configurar el entorno de desarrollo?
● ¿Qué dependencias externas utiliza el proyecto (paquetes de Dart/Flutter, APIs,
servicios)?
● ¿Existen requisitos previos para levantar el proyecto (versiones de Flutter, SDKs,
etc.)?
4. Arquitectura
● ¿Qué patrón de arquitectura estás utilizando (por ejemplo, MVVM, Redux, Clean
Architecture)?
● ¿Cómo interactúan los componentes clave del sistema?
● ¿Cómo manejas el estado de la aplicación (ej. Riverpod, Provider, etc.)?
5. Gestión de Estado
● ¿Cómo se gestionan los estados globales y locales?
● ¿Cómo se manejan los eventos y las actualizaciones de UI?
● ¿Se utilizan estrategias de caching o de persistencia para el estado de la aplicación?
6. Flujo de Datos
● ¿Cómo se estructuran las llamadas a APIs y la manipulación de datos?
● ¿Hay flujos asíncronos importantes que deban mencionarse (streams, futuros)?
● ¿Cómo se maneja la serialización/deserialización de datos?
7. Seguridad
● ¿Cómo manejas la autenticación y autorización en la aplicación?
● ¿Cómo proteges los datos sensibles, como tokens o información de usuario?
● ¿Utilizas almacenamiento seguro (por ejemplo, Flutter Secure Storage o una
alternativa)?
8. Configuración de Entornos
● ¿Existen configuraciones específicas para diferentes entornos (producción,
desarrollo)?
● ¿Cómo se configuran las variables de entorno o los archivos de configuración?
9. Testing
● ¿Qué tipos de tests existen en el proyecto (unitarios, de integración, de widget)?
● ¿Cómo se corre la suite de pruebas?
● ¿Hay algún entorno de testing o CI/CD configurado?
10. Errores y Logs
● ¿Cómo se manejan los errores y excepciones dentro del proyecto?
● ¿Tienes implementado un sistema de logs o de reporte de errores?
● ¿Cómo depuras la aplicación en caso de errores?
11. Actualización y Mantenimiento
● ¿Cuáles son los pasos para agregar nuevas funcionalidades o realizar
actualizaciones?
● ¿Qué conviene tener en cuenta para evitar romper funcionalidades existentes?
12. Compatibilidad y Soporte
● ¿Qué navegadores y plataformas soporta tu aplicación web?
● ¿Hay diferencias en el soporte para desktop vs. móvil?
● ¿Cómo se maneja la adaptación a distintos tamaños de pantalla o dispositivos?
13. Recursos Adicionales
● ¿Dónde pueden los desarrolladores encontrar documentación adicional sobre las
bibliotecas y tecnologías utilizadas?
● ¿Hay recursos clave o guías que deban consultarse antes de realizar
modificaciones?