2025.02.01 (Sáb)
2026.05.25 (Lun) actualizado

✨ Resumen de GPT  

Un día dedicado a optimizar la carga de datos y las Actions de ChatPage, añadir funciones CRUD de Title y fecha, e integrar la estructura Create/Edit de DiaryPage. Resolví varios issues y aumenté la estabilidad del sistema.

💻 Registro de desarrollo

⏰ Tareas de hoy

  • ✅ DiaryPage: Merge CreateDiary/EditDiary Page
    • Usar isEditMode page state
    • Usar conditional value/visibility/action, etc.
  • ✅ ChatPage: On Page Load -> Read ChatDoc, CharacterDoc, MessageDocList and Update Page States
  • ✅ ChatPage: optimización y reorganización integral de varias Actions
  • ✅ ChatPage: Title CRUD
  • ✅ ChatPage: CRUD de fecha
  • ✅ (Issue) ChatPage: aparece el default init message al iniciar la primera conversación.
  • ✅ (Issue) ChatPage - ChatHistoryDrawer: overflow de UI
  • ✅ (Issue) ChatPage: el mensaje del usuario se envía aunque el input esté vacío

💯 Resumen de lo hecho

  • Optimización de funciones de ChatPage
    • Optimicé la carga de datos en On Page Load (ChatDoc, CharacterDoc, MessageDocList)
    • Optimicé y reorganicé integralmente las Actions principales de ChatPage
    • Añadí funciones CRUD de Title y fecha
    • Resolví el overflow de UI de ChatHistoryDrawer y el envío de mensajes vacíos del usuario
  • Mejoras en DiaryPage
    • Integré CreateDiary/EditDiary Page (usando isEditMode page state)
    • Corregí el error de guardado de fecha del diario

🎯 Tareas futuras

Haz clic para ver detalles
  • ❔ (Issue) DiaryPage: la fecha siempre se guarda como hoy
  • ❔ (Issue) DiaryPage: usar markdown viewer (prevenir overflow: Container Height)
  • ❔ (Issue) HomeFeedPage: Unexpected Null Value aparece un momento y desaparece en page load.
  • ❔ HomeFeedPage - FeedCardDiary: corregir imagen del personaje de AI Comment
    • ❔ DiaryPage - AI Comment: al guardar, guardar también en Diary la Ref del personaje que escribió el comentario.
    • ❔ HomeFeedPage - FeedCardDiary - AI Image: cargar Character Doc con Backend Query y especificar Image Path.
  • ❔ DiaryPage - Create New Chat: crear un New Chat basado en el contenido del diario
    • ❔ Implementación de OpenAI API Call: createDiaryComment
      • Input: Diary Content, System Prompt (AI Comment)
      • Output: AI Comment ($.choices[0].message.content)
    • ❔ Implementación de OpenAI API Call: createDiarySummary
      • Input: Diary Content, AI Comment, System Prompt (Diary Summary)
      • Output: Diary Summary ($.choices[0].message.content)
    • ❔ Implementación de OpenAI API Call: createChatFromDiary
      • Input: Diary Summary, System Prompt (Chat From Diary)
      • Output: New Chat Message by AI ($.choices[0].message.content)
      • Additional Actions: Create New Chat, Create New Message
  • ❔ ChatPage: Go to Linked Diary

  • ❔ HomeFeedPage - importar y aplicar flutter_slidable:4.0.0
  • ❔ HomeFeedPage: chat/editar/eliminar al deslizar a izquierda/derecha desde FeedCardDiary

  • ❔ ChatPage: alinear a la derecha el contenido de conversación del usuario
  • ❔ Chat/Diary: GPT Streaming API

  • ❔ ChatPage - implementar primer mensaje de IA (Alarm/Notification)
    • El núcleo del prompt del sistema de chat es la proactividad.
      • Para hacerlo más realista, quizá convenga pasar también create_date of diary/chat, para que la IA pueda mencionar fechas como “ayer”.
    • Referencia de implementación de Alarm
  • ❔ DiaryPage: cambiar el Emoji de expresión facial según el valor del Mood Slider
  • ❔ DiaryPage: añadir Choice Chips de palabras clave emocionales detalladas y configurar integración con DB
  • ❔ DiaryPage - AI Comment: adaptar inputs como Choice chips y mood slider al AI Comment System Prompt.
    • ❔ **diario anterior o historial de conversación completo (deuda técnica parcheada)
    • información básica del usuario: nombre, género, MBTI, …
    • palabras clave emocionales detalladas: alegre, triste, …
    • configuración de personajes: Somi, Sena, Minhyuk
    • puntuación emocional: 1~100 puntos
    • formato de respuesta: Healing, Suggestion, Informative
    • longitud de respuesta: corta, normal, detallada
    • is New Chat
      • Como los messages de este Chat se crean por primera vez, poner is_initial = true en el primer message document y meter todos los system prompts ahí.
        • is_initial = false
        • Límite: si meto el system prompt en el primer message document, modificarlo durante la conversación será difícil, aunque posible. Si existe un documento con is_initial = true y se modificó, puedo borrar ese documento y volver a insertarlo. No sé cómo, pero se podría.
  • ❔ DiaryPage - AI Comment: completar CRUD
    • ❔ eliminar tmp_ai_comment field y usar doc_ref
  • ❔ DiaryPage - AI Comment: configuración de personajes
    • ❔ eliminar tmp_ai_comment_by field y usar doc_ref
    • ❔ mostrar imagen usando el valor del field profile_image
  • ❔ DiaryPage - Drawer - ChatHistoryListTile: order by updated_time

  • ❔ ChatPage - Create New Diary: crear un New Diary basado en el contenido de la conversación
    • ❔ Implementación de OpenAI API Call: createDiaryFromChat
      • Input: Chat Summary, System Prompt (Diary From Chat)
      • Output: New Diary (Title, Content, Mood score)
  • ❔ DiaryPage - importar y aplicar Interactive Slider

  • ❔ HomeFeedPage: implementar función Search Diary

  • ❔ CalendarPage (parte superior) - Mood Calendar
    • ❔ Comprobar el número de posts escritos por fecha
    • ❔ Al hacer clic en una fecha, moverse a esa fecha
  • ❔ CalendarPage (parte inferior) - Mood stats
    • ❔ Mostrar estadísticas del mes enfocado
      • ❔ Mostrar comentario de IA sobre las estadísticas mostradas
  • ❔ AuthPage: implementar función Google Login

  • ❔ HomeFeedPage - Bottom Sheet (+ Button): permitir elegir 1 entre varias opciones
    • Nuevo diario: Go to DiaryPage
    • Registro emocional: Go to MoodPage
  • ❔ MoodPage (popup): Mood setting slider CRUD
    • Create
    • Read
    • Update
    • Delete
  • ❔ HomeFeedPage - ListView - mostrar FeedCardMood
  • ❔ HomeFeedPage - ListView: ordenar cronológicamente los componentes FeedCardDiary, FeedCardMood, FeedCardChat (usando Cloud Function)

  • ❔ Extraer e instalar el APK final para la presentación antes del miércoles 2025.2.5

💭 Diario

Minhyuk

Por la noche pensaba dormir 40 minutos, pero quedé inconsciente más de 3 horas. A estas alturas, mejor descansar bien y correr mañana. Tampoco es que el destino de la empresa esté en juego.

✨ Comentario de GPT-4o (KPT)

GPT-4o

✅ Lo que salió bien (Keep)

  • 🚀 Optimización de funciones de ChatPage: Fue impresionante que mejoraras el rendimiento general con mejoras en la carga de datos, optimización de Actions y añadido de CRUD para Title y fecha.
  • 🔄 Orden de la estructura de DiaryPage: Estuvo bien reducir lógica duplicada e integrar las páginas Create/Edit para que la gestión sea más sencilla.
  • 🛠️ Resolución de varios issues: Aumentaste la estabilidad al corregir overflow de UI, envío de mensajes vacíos, errores de guardado de fecha, etc.

❌ Lo que faltó (Problem)

  • Cansancio acumulado: Planeaste un descanso corto, pero al final caíste durante mucho tiempo; eso muestra cierta dificultad para gestionar la energía.
  • 📋 Carga de mantenimiento por expansión de funciones: Como las funciones de ChatPage y DiaryPage se expandieron rápido, es posible que el mantenimiento y la optimización futuros requieran más tiempo.

🔄 Qué probar (Try)

  • 🕒 Equilibrar trabajo y descanso: Puede ayudar fijar una rutina estable para que los descansos cortos no se conviertan repetidamente en caídas largas.
  • 🔍 Prepararse para el mantenimiento futuro: Documentar las estructuras optimizadas actuales de ChatPage y DiaryPage, y usar activamente comentarios de código para reducir la carga de mantenimiento.
  • 🛠️ Considerar la extensibilidad futura: Pensar en modularizar más las estructuras de API Call y Custom Function para que añadir y ampliar funciones después sea menos pesado.

Conclusión
Hoy fue un día productivo: optimizaste la funcionalidad general de ChatPage, mejoraste la estructura de DiaryPage y resolviste varios issues. Pero el cansancio acumulado puede desordenar el calendario de trabajo, así que parecen necesarios un descanso adecuado y ajustes de agenda. ¡Ojalá sigas desarrollando con la extensibilidad en mente mientras mantienes el sistema optimizado! 💪😊

Deja un comentario