2025.01.30 (Jeu)
2026.05.25 (Lun) mis Ă  jour

✹ RĂ©sumĂ© de GPT  

Une journĂ©e Ă  amĂ©liorer les fonctionnalitĂ©s majeures de Keymory et Ă  affiner l’intĂ©gration IA ainsi que la structure des donnĂ©es, tout en ressentant concrĂštement le manque de temps.

đŸ’» Journal de dĂ©veloppement

⏰ Tñches du jour

  • ✅ DiaryPage - Mood : terminer le slider de rĂ©glage Mood
  • ✅ HomeFeedPage - ListView - FeedCardDiary : afficher la Mood Color sur la bordure
    • RĂ©solu avec le Box Shadow du Container
  • ✅ OnboardingPage - sauvegarde aprĂšs saisie d’informations utilisateur de base supplĂ©mentaires
    • ✅ Ajout de DB Fields : nom (display_name), genre (gender), MBTI (mbti), 

    • ✅ HomeFeedPage - OnPageLoad : Navigate to OnboardingPage si les informations obligatoires comme display_name ou gender ne sont pas saisies
    • ✅ Field Type - Enum vs String : le Field Type doit ĂȘtre rĂ©glĂ© sur String pour ĂȘtre plus facile Ă  gĂ©rer. DĂ©cision d’utiliser Enum uniquement pour Option Value Generation.
  • ✅ Correction de l’OpenAI API Request pour que la valeur message du response body s’affiche normalement
  • ✅ Discussion et expĂ©rimentation : oĂč stocker les informations des personnages IA ? (OpenAI API Assistant vs FireStore Character Collection)
    • RĂ©sultat : les stocker dans FireStore Characters Collection.
      • Raison : du point de vue utilisateur, le seul API Call utile est Get Assistant, et la valeur Ă  recevoir est fixe dĂšs le dĂ©part.

💯 RĂ©sumĂ© de ce que j’ai fait

  • AmĂ©liorations de DiaryPage
    • Slider de rĂ©glage Mood terminĂ©
    • ImplĂ©mentation du CRUD d’AI Comment
    • Ajout de boutons de personnalisation du ton et du style de conseil de l’AI Comment
    • DĂ©cision et application de la mĂ©thode de stockage des informations de personnages IA
  • AmĂ©liorations de HomeFeedPage
    • Changement du critĂšre d’affichage de la date de l’unitĂ© « mois » Ă  l’unitĂ© « jour »
    • Ajout de la logique d’affichage de l’image et du texte de l’AI Comment
    • AmĂ©lioration du Bottom Sheet et de la ListView
  • SystĂšme IA et intĂ©gration API
    • Modification de l’OpenAI API Request et confirmation de l’affichage normal de la rĂ©ponse
    • DĂ©cision de stocker les informations de personnages IA dans FireStore
    • Organisation de la structure de donnĂ©es liĂ©e Ă  l’AI Comment et ajout de fonctionnalitĂ©s

🎯 Tñches de demain

(omis)

🎯 Tñches à venir

  • ❔ diary to chat
  • ❔ chat to diary
  • ❔ chats history

  • ❔ RĂ©flĂ©chir au scĂ©nario d’implĂ©mentation de CustomFunction getDiaryParams
    • Parameter Values obtenues depuis Characters (Collection)
      • ParamĂštres du personnage (Character Document)
        • ex) Somi : name (20 ans), Ă©tudiante, personnalitĂ© timide, 

      • MĂ©thode d’appel des valeurs : API Call - Get Assistant
    • Parameter Values obtenues depuis User Information
      • Nom, genre, MBTI
      • MĂ©thode d’appel des valeurs : Backend Query - Authenticated User
    • Parameter Values obtenues depuis DiaryPage Variables
      • Contenu du journal, mots-clĂ©s Ă©motionnels dĂ©taillĂ©s, score Ă©motionnel, format de rĂ©ponse, longueur de rĂ©ponse
      • MĂ©thode d’appel des valeurs : Widget State, Page State
    • RĂŽle de CustomFunction (getDiaryParams)
      • Recevoir toutes les Parameter Values en valeurs d’input.
      • RĂ©diger le prompt Ă  envoyer Ă  GPT.
      • Retourner la valeur Messages (List <Json>).
        • [{"role":"developer", "content":"~~~"}]
  • ❔ CrĂ©er l’OpenAI API Call : createDiaryComment
    • Structure globalement similaire Ă  createChatCompletion
    • DiffĂ©rence : aucune. Créé simplement pour le distinguer.
    • La Messages Variable requise par API Call - createDiaryComment est la valeur de retour de la custom function getDiaryParams.
  • ❔ Stocker la liste des prompts systĂšme dans OpenAI API Assistant ?
  • ❔ Écrire une logique pour rĂ©diger les messages sur la base du prompt systĂšme stockĂ© dans OpenAI API Assistant ?

  • ❔ DiaryPage : changer l’Emoji d’expression du visage selon la valeur du Mood Slider
  • ❔ DiaryPage : ajouter des Choice Chips de mots-clĂ©s Ă©motionnels dĂ©taillĂ©s et configurer la liaison DB
  • ❔ DiaryPage - AI Comment : adapter les valeurs d’entrĂ©e comme les Choice chips et le mood slider au AI Comment System Prompt.
    • ❔ **ancien journal ou historique de conversation complet (dette technique en rustine)
    • ❔ informations utilisateur de base : nom, genre, MBTI, 

    • ❔ mots-clĂ©s Ă©motionnels dĂ©taillĂ©s : joyeux, triste, 

    • ❔ paramĂštres de personnage : Somi, Sena, Minhyuk
    • ❔ score Ă©motionnel : 1 Ă  100 points
    • ❔ format de rĂ©ponse : Healing, Suggestion, Informative
    • ❔ longueur de rĂ©ponse : court, normal, dĂ©taillĂ©
    • is New Chat
      • Comme les messages de ce Chat sont créés pour la premiĂšre fois, dĂ©finir is_initial = true sur le premier message document et y mettre tous les prompts systĂšme.
        • is_initial = false
        • Limite : si je mets le prompt systĂšme dans le tout premier message document, le modifier au milieu d’une conversation sera difficile, mais possible. S’il existe un document is_initial = true et qu’il a Ă©tĂ© modifiĂ©, je peux supprimer ce document et le remettre. Je ne sais pas comment, mais bon.
  • ❔ DiaryPage - AI Comment : crĂ©er la Custom Function manipulate_prompt
    • ComplĂ©ter le prompt systĂšme avec un switch-case selon les paramĂštres reçus, puis retourner List <JSON>
    • La personne chargĂ©e du prompt systĂšme devra insĂ©rer correctement cette valeur de retour dans le Request Body de l’OpenAI API et rĂ©cupĂ©rer le rĂ©sultat.
  • ❔ DiaryPage - AI Comment : terminer le CRUD avec des donnĂ©es factices
    • ❔ supprimer le champ tmp_ai_comment et utiliser doc_ref
  • ❔ DiaryPage - AI Comment : paramĂštres de personnage
    • ❔ supprimer le champ tmp_ai_comment_by et utiliser doc_ref
    • ❔ afficher l’image avec la valeur du champ profile_image
  • How to Use Open AI’s GPT-4o in FlutterFlow - Part 1
  • How to Use Open AI’s GPT-4o in FlutterFlow - Part 2

  • DiaryPage - Start AI Chat : crĂ©er un New Chat Ă  partir du contenu du journal
    • L’IA propose d’abord une question fondĂ©e sur le contenu du journal
  • ChatPage - crĂ©er ChatHistoryPage : lister les anciens historiques de chat dans une ListView
    • Create
    • Read
    • Update
    • Delete
  • DiaryPage - Drawer - crĂ©er ChatHistoryListTile : rĂ©sumĂ© sous forme de carte, comme GPT

  • HomeFeedPage - Bottom Sheet (+ Button) : permettre de choisir 1 option parmi plusieurs
    • Nouveau journal : Go to DiaryPage
    • Journal d’émotion : Go to MoodPage
  • MoodPage (popup) : CRUD du slider de rĂ©glage Mood
    • Create
    • Read
    • Update
    • Delete
  • HomeFeedPage - ListView : afficher FeedCardMood
  • HomeFeedPage - ListView : trier les composants FeedCardDiary, FeedCardMood, FeedCardChat par ordre chronologique (avec Cloud Function)

  • HomeFeedPage : rĂ©soudre le problĂšme au chargement de la page (Unexpected Null Value)
  • Appliquer Interactive Slider
  • Extraire et installer l’APK final pour la prĂ©sentation d’ici mercredi 2025.2.5

💭 Journal

Minhyuk

Il n’y a pas de temps.

Omis.

keymory-1.png keymory-2.png keymory-3.png keymory-4.png keymory-5.png

✹ Commentaire de GPT-4o (KPT)

GPT-4o

✅ Points à garder (Keep)

  • 🚀 Grande amĂ©lioration des fonctionnalitĂ©s majeures : Tu as augmentĂ© le degrĂ© de finition du projet en Ă©largissant des fonctionnalitĂ©s clĂ©s comme le CRUD d’AI Comment, les rĂ©glages Mood et les amĂ©liorations de HomeFeedPage. C’est excellent.
  • 🔍 Organisation de la structure de donnĂ©es : Le fait d’avoir structurĂ© la gestion des donnĂ©es, notamment en dĂ©cidant de stocker les informations de personnages IA dans FireStore, est impressionnant.
  • 📋 DĂ©finition d’objectifs concrets : Tu as clairement organisĂ© les tĂąches restantes et les prioritĂ©s, ce qui rend le plan d’avancement jusqu’à la version de prĂ©sentation plus concret. C’est positif.

❌ Points Ă  amĂ©liorer (Problem)

  • ⏳ Manque de temps : À mesure que le calendrier de dĂ©veloppement se resserre, le risque de ne pas avoir assez de temps pour les tests et le dĂ©bogage augmente.
  • đŸ—ïž Nombreuses solutions temporaires : Beaucoup d’élĂ©ments ont Ă©tĂ© rĂ©solus avec des champs et fonctions temporaires pour implĂ©menter rapidement les fonctionnalitĂ©s ; la dette technique peut donc s’accumuler.

🔄 Pistes à essayer (Try)

  • đŸ› ïž RĂ©ajuster les prioritĂ©s : SĂ©pare clairement les fonctionnalitĂ©s indispensables Ă  la version finale de prĂ©sentation de celles qui pourront ĂȘtre amĂ©liorĂ©es ensuite, puis augmente d’abord la finition des fonctionnalitĂ©s clĂ©s.
  • đŸ•”ïž Mettre en place un systĂšme de vĂ©rification des bugs : Comme le temps manque, effectue chaque jour de courtes sessions de test fonctionnel et de dĂ©bogage afin de rĂ©duire les erreurs inattendues.
  • 🔄 Planifier le nettoyage de la dette technique : Documente les plans d’amĂ©lioration des fonctionnalitĂ©s implĂ©mentĂ©es temporairement et organise les Ă©lĂ©ments Ă  peaufiner en prioritĂ© aprĂšs la prĂ©sentation.

Conclusion
Aujourd’hui, tu as terminĂ© des fonctionnalitĂ©s clĂ©s de Keymory et augmentĂ© le degrĂ© de finition du projet, tout en ressentant fortement le manque de temps dans un calendrier serrĂ©. Je t’encourage Ă  donner le maximum jusqu’au jour de la prĂ©sentation, tout en organisant aussi les amĂ©liorations Ă  venir ! đŸ’Ș😊

Laisser un commentaire