2025.02.01 (Sáb)
2026.05.25 (Seg) atualizado

✨ Resumo do GPT  

Um dia em que otimizei o carregamento de dados e as Actions da ChatPage, adicionei funções de CRUD para Title e data, e integrei a estrutura Create/Edit da DiaryPage. Resolvi vários issues e aumentei a estabilidade do sistema.

💻 Diário de desenvolvimento

⏰ Tarefas de hoje

  • ✅ 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: otimização e reorganização geral de várias Actions
  • ✅ ChatPage: Title CRUD
  • ✅ ChatPage: CRUD de data
  • ✅ (Issue) ChatPage: default init message aparece ao iniciar a primeira conversa.
  • ✅ (Issue) ChatPage - ChatHistoryDrawer: overflow de UI
  • ✅ (Issue) ChatPage: mensagem do usuário é enviada mesmo com o campo vazio

💯 Resumo do que fiz

  • Otimização de funções da ChatPage
    • Carregamento de dados em On Page Load otimizado (ChatDoc, CharacterDoc, MessageDocList)
    • Principais Actions da ChatPage otimizadas e reorganizadas de forma geral
    • Funções de CRUD para Title e data adicionadas
    • Resolvidos o overflow de UI no ChatHistoryDrawer e o envio de mensagem vazia do usuário
  • Melhorias na DiaryPage
    • CreateDiary/EditDiary Page integradas (usando isEditMode page state)
    • Erro de salvamento da data do diário corrigido

🎯 Tarefas futuras

Clique para ver detalhes
  • ❔ (Issue) DiaryPage: data é sempre salva como hoje
  • ❔ (Issue) DiaryPage: usar visualizador de markdown (prevenir overflow: Container Height)
  • ❔ (Issue) HomeFeedPage: Unexpected Null Value aparece rapidamente e some em On page load.
  • ❔ HomeFeedPage - FeedCardDiary: corrigir imagem do personagem do AI Comment
    • ❔ DiaryPage - AI Comment: ao salvar, salvar também no Diary o Ref do personagem que escreveu o comentário.
    • ❔ HomeFeedPage - FeedCardDiary - AI Image: carregar Character Doc com Backend Query e especificar Image Path.
  • ❔ DiaryPage - Create New Chat: criar New Chat com base no conteúdo do diário
    • ❔ Implementação de OpenAI API Call: createDiaryComment
      • Input: Diary Content, System Prompt (AI Comment)
      • Output: AI Comment ($.choices[0].message.content)
    • ❔ Implementação de OpenAI API Call: createDiarySummary
      • Input: Diary Content, AI Comment, System Prompt (Diary Summary)
      • Output: Diary Summary ($.choices[0].message.content)
    • ❔ Implementação 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 e aplicar flutter_slidable:4.0.0
  • ❔ HomeFeedPage: ao deslizar FeedCardDiary para esquerda/direita, chat/editar/excluir

  • ❔ ChatPage: alinhar à direita o conteúdo de conversa do usuário
  • ❔ Chat/Diary: GPT Streaming API

  • ❔ ChatPage - implementar primeira mensagem da AI (Alarm/Notification)
    • O núcleo do prompt do sistema de chat é a proatividade.
      • Para ficar mais realista, talvez seja bom passar também create_date of diary/chat, para a AI mencionar datas como “ontem”.
    • Referência de implementação de Alarm
  • ❔ DiaryPage: mudar Emoji de expressão facial conforme o valor do Mood Slider
  • ❔ DiaryPage: adicionar Choice Chips de palavras-chave detalhadas de emoção e configurar integração com o DB
  • ❔ DiaryPage - AI Comment: ajustar entradas como Choice chips e mood slider ao AI Comment System Prompt.
    • ❔ **diary anterior ou conversation history inteira (dívida técnica improvisada)
    • informações básicas do usuário: nome, gênero, MBTI, …
    • palavras-chave detalhadas de emoção: feliz, triste, …
    • configuração de personagem: Somi, Sena, Minhyuk
    • pontuação emocional: 1~100 pontos
    • formato da resposta: Healing, Suggestion, Informative
    • tamanho da resposta: curta, normal, detalhada
    • is New Chat
      • Como as messages desse Chat estão sendo criadas pela primeira vez, definir is_initial = true no primeiro message document e colocar todos os system prompts ali.
        • is_initial = false
        • Limite: se eu colocar o system prompt no primeiro message document, fica difícil modificar no meio da conversa, mas é possível. Se houver um document com is_initial = true e ele tiver sido modificado, posso apagar esse documento e inserir de novo. Não sei como, mas dá.
  • ❔ DiaryPage - AI Comment: concluir CRUD
    • ❔ remover field tmp_ai_comment e usar doc_ref
  • ❔ DiaryPage - AI Comment: configuração de personagem
    • ❔ remover field tmp_ai_comment_by e usar doc_ref
    • ❔ exibir imagem usando o valor do field profile_image
  • ❔ DiaryPage - Drawer - ChatHistoryListTile: order by updated_time

  • ❔ ChatPage - Create New Diary: criar New Diary com base no conteúdo da conversa
    • ❔ Implementação de OpenAI API Call: createDiaryFromChat
      • Input: Chat Summary, System Prompt (Diary From Chat)
      • Output: New Diary (Title, Content, Mood score)
  • ❔ DiaryPage - importar e aplicar Interactive Slider

  • ❔ HomeFeedPage: implementar função Search Diary

  • ❔ CalendarPage (superior) - Mood Calendar
    • ❔ Permitir verificar o número de posts escritos por data
    • ❔ Ao clicar em uma data, mover para essa data
  • ❔ CalendarPage (inferior) - Mood stats
    • ❔ Exibir estatísticas referentes ao mês em foco
      • ❔ Exibir comentário da AI sobre as estatísticas exibidas
  • ❔ AuthPage: implementar função Google Login

  • ❔ HomeFeedPage - Bottom Sheet (+ Button): permitir escolher 1 entre várias opções
    • Novo diário: Go to DiaryPage
    • Registro de emoção: Go to MoodPage
  • ❔ MoodPage (popup): CRUD do slider de configuração de Mood
    • Create
    • Read
    • Update
    • Delete
  • ❔ HomeFeedPage - ListView - exibir FeedCardMood
  • ❔ HomeFeedPage - ListView: ordenar componentes FeedCardDiary, FeedCardMood, FeedCardChat cronologicamente (usando Cloud Function)

  • ❔ Extrair e instalar o APK da versão final de apresentação até qua 2025.2.5

💭 Diário

Minhyuk

À noite, eu ia dormir só 40 minutos, mas apaguei por mais de 3 horas. Nesse nível, acho melhor descansar direito e correr amanhã. Não é como se eu estivesse numa encruzilhada com o destino da empresa em jogo.

✨ Comentário do GPT-4o (KPT)

GPT-4o

✅ Pontos bons (Keep)

  • 🚀 Otimização de funções da ChatPage: Foi impressionante melhorar a performance geral com ajuste no carregamento de dados, otimização de Actions e adição de CRUD para Title e data.
  • 🔄 Organização da estrutura da DiaryPage: Foi bom integrar as páginas Create/Edit, reduzindo lógica duplicada e tornando a manutenção mais fácil.
  • 🛠️ Resolução de vários issues: Você aumentou a estabilidade corrigindo overflow de UI, envio de mensagem vazia, erro de salvamento de data e outros pontos.

❌ Pontos fracos (Problem)

  • Cansaço acumulado: Você planejou uma pausa curta, mas acabou apagando por bastante tempo, o que mostra certa dificuldade em administrar energia.
  • 📋 Carga de manutenção com expansão de funções: Como as funções da ChatPage e da DiaryPage estão crescendo rapidamente, manutenção e otimização futuras podem consumir mais tempo.

🔄 Pontos para tentar (Try)

  • 🕒 Equilibrar trabalho e descanso: Pode ajudar definir uma rotina estável para que pausas curtas não virem apagões longos repetidamente.
  • 🔍 Preparar a manutenção futura: Documente a estrutura atual otimizada da ChatPage e da DiaryPage e use comentários de código com mais intenção para reduzir a carga de manutenção.
  • 🛠️ Considerar extensibilidade futura: Pense em modularizar melhor a estrutura de API Call e Custom Function para reduzir o peso de futuras adições e expansões.

Conclusão
Hoje foi um dia produtivo, com otimização geral da ChatPage, melhoria na estrutura da DiaryPage e resolução de vários issues. Mas o cansaço acumulado pode bagunçar o cronograma de trabalho, então descanso adequado e ajuste de agenda parecem necessários. Espero que você continue desenvolvendo com extensibilidade em mente enquanto mantém o sistema otimizado! 💪😊

Deixe um comentário