2025.02.07 (๊ธˆ)
2025.02.11 (ํ™”) ์ˆ˜์ •

โœจ GPT์˜ ์š”์•ฝ ใ€€

์•„์ดํŽ ํ†ค ์กธ์—…์ž‘ํ’ˆ ์ œ์ถœ ์™„๋ฃŒ. FlutterFlow์—์„œ์˜ ๊ฐœ๋ฐœ์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ  GitHub์— ๋ฐฑ์—…

๐Ÿ’ป ๊ฐœ๋ฐœ ์ผ์ง€

โฐ ์˜ค๋Š˜ ํ•  ์ผ

  • โœ… Download APK
  • โœ… Connect GitHub and Push

  • โœ… ๋ฐœํ‘œ ์ž๋ฃŒ ์ œ์ถœ: PPT
  • โœ… ๋ฐœํ‘œ ์ž๋ฃŒ ์ œ์ถœ: 1๋ถ„ ์‹œ์—ฐ ์˜์ƒ

  • โœ… ChatPage - Create New Diary: ๋Œ€ํ™” ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ, New Diary ์ƒ์„ฑ
    • โœ… Create New Diary Condition: if linked diary exists -> Delete confirmation dialog? -> Yes
    • โœ… OpenAI API Call (createChatSummary)
      • Input: Chat Content, System Prompt(Diary From Chat)
      • Output: Chat Summary
    • โœ… OpenAI API Call (createDiaryFromChat)
      • Input: Chat Summary, System Prompt(Diary From Chat)
      • Output: New Diary(Title, Content, Mood score)
  • โœ… ์•ฑ ์ฒ˜์Œ ์ผฐ์„ ๋•Œ ์›ฐ์ปด ํŽ˜์ด์ง€ ์ถ”๊ฐ€ (๋กœ๊ณ )

  • โœ… DiaryPage: Mood Slider ๊ฐ’์— ๋”ฐ๋ผ ์–ผ๊ตด ํ‘œ์ • Emoji ๋ฐ ์ƒ‰๊น” ๋ณ€๊ฒฝ (KSK ๋‹ด๋‹น)

๐Ÿ’ฏ ํ•œ ์ผ์— ๋Œ€ํ•œ ์š”์•ฝ

  • FlutterFlow ์ตœ์ข… ๊ฐœ๋ฐœ ์ข…๋ฃŒ
  • GitHub ์—ฐ๋™ ๋ฐ ํ”„๋กœ์ ํŠธ ํ‘ธ์‹œ ์™„๋ฃŒ
  • Chat ๋‚ด์šฉ์„ ๊ธฐ๋ฐ˜์œผ๋กœ Diary ์ž๋™ ์ƒ์„ฑ ๊ธฐ๋Šฅ ๊ตฌํ˜„
    • ๊ธฐ์กด Diary๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์‚ญ์ œ ํ™•์ธ Dialog ์ถ”๊ฐ€
    • OpenAI API ํ™œ์šฉํ•ด Chat Summary ๋ฐ Diary ์ž๋™ ์ƒ์„ฑ
  • ์•ฑ ์‹คํ–‰ ์‹œ ์›ฐ์ปด ํŽ˜์ด์ง€ ์ถ”๊ฐ€ (๋กœ๊ณ  ํ™”๋ฉด)
  • DiaryPage: Mood Slider์— ๋”ฐ๋ผ ์ด๋ชจ์ง€ ๋ฐ ์ƒ‰์ƒ ๋ณ€๊ฒฝ

๐ŸŽฏ ์ถ”ํ›„์— ํ•  ์ผ

์ž์„ธํžˆ ๋ณด๋ ค๋ฉด ํด๋ฆญ
  • โ” ๋ฐœํ‘œ ์ค€๋น„ - ์Šคํฌ๋ฆฝํŠธ: ํŽ˜์ด์ง€๋ณ„ ์Šคํฌ๋ฆฝํŠธ ๊ธฐ์ค€ ์†Œ์š” ์‹œ๊ฐ„ ์ธก์ • ํ›„ ์Šคํฌ๋ฆฝํŠธ ์ˆ˜์ •
  • โ” ๋ฐœํ‘œ ์ค€๋น„ - PPT: ๊ธฐ๋Šฅ๋ณ„๋กœ ์‹œ์—ฐ์šฉ ์งง์€ ์˜์ƒ ์ดฌ์˜

  • โ” ChatPage: title์˜ default value๋ฅผ Random String์—์„œ โ€˜์ œ๋ชฉ ์—†์Œโ€™์œผ๋กœ ํ†ต์ผ

  • โ” ChatPage: Delete Diary Link ๊ตฌํ˜„ ( โ€ฆ icon ๋ˆ„๋ฅด๋ฉด Delete ๊ฐ€๋Šฅํ•˜๋„๋ก)
    • ๋ฐ˜๋“œ์‹œ Diary/Chat Doc์˜ linked field๋ฅผ ํ•จ๊ป˜ ์—†์• ์ค˜์•ผ ํ•จ!
  • โ” MoodPage(์ƒ๋‹จ) - Mood Calendar
    • โ” ๋‚ ์งœ๋ณ„๋กœ ์ž‘์„ฑ๋œ ๊ฒŒ์‹œ๋ฌผ ์ˆซ์ž ํ™•์ธ ๊ฐ€๋Šฅ
    • โ” ๋‚ ์งœ ํด๋ฆญํ•˜๋ฉด, ํ•ด๋‹น ๋‚ ์งœ๋กœ ์ด๋™
  • โ” MoodPage(ํ•˜๋‹จ) - Mood stats
    • โ” ํฌ์ปค์‹ฑ ๋œ ์›”์— ๊ด€ํ•œ ํ†ต๊ณ„ ์ž๋ฃŒ ์ถœ๋ ฅ
      • โ” ์ถœ๋ ฅ๋œ ํ†ต๊ณ„ ์ž๋ฃŒ์— ๋Œ€ํ•œ AI์˜ ์ฝ”๋ฉ˜ํŠธ ์ถœ๋ ฅ
  • โ” HomeFeedPage - flutter_slidable:4.0.0 import ํ›„ ์ ์šฉํ•˜๊ธฐ
  • โ” HomeFeedPage: FeedCardDiary์—์„œ ์ขŒ์šฐ slide์‹œ ์ฑ„ํŒ…/ํŽธ์ง‘/์‚ญ์ œ

  • โ” Chat/Diary: GPT Streaming API

  • โ” ChatPage - AI ์„ ํ†ก ๊ตฌํ˜„ (Alarm/Notification)
    • ์ฑ„ํŒ… ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ์˜ ํ•ต์‹ฌ์€ ๋Šฅ๋™ํ˜•์ด๋‹ค.
      • ๋” ๋ฆฌ์–ผํ•˜๊ฒŒ ํ•˜๋ ค๋ฉด, create_date of diary/chat ๋„ ์ „๋‹ฌํ•ด์„œ, โ€˜์–ด์ œโ€™ ๋“ฑ ๋‚ ์งœ๋ฅผ ์–ธ๊ธ‰ํ•˜๋ฉด ์ข‹์„ ๋“ฏ.
    • Alarm ๊ธฐ๋Šฅ ๊ตฌํ˜„ ๋ฐฉ๋ฒ• ์ฐธ์กฐ
  • โ” DiaryPage: ์„ธ๋ถ€ ๊ฐ์ • ํ‚ค์›Œ๋“œ Choice Chips ์ถ”๊ฐ€ ํ›„ DB ์—ฐ๋™ ์„ค์ •
  • โ” DiaryPage - AI Comment: Choice chips, mood slider ๋“ฑ์˜ ์ž…๋ ฅ๊ฐ’๋“ค์„ AI Comment System Prompt์— ์•Œ๋งž๊ฒŒ ๋ณ€๊ฒฝ.
    • โ” **์ด์ „ ์ผ๊ธฐ ๋˜๋Š” ๋Œ€ํ™” ๋‚ด์—ญ ์ „์ฒด (๋•œ๋นต ๊ธฐ์ˆ ๋ถ€์ฑ„)
    • โ” ์‚ฌ์šฉ์ž ๊ธฐ๋ณธ ์ •๋ณด: ์ด๋ฆ„, ์„ฑ๋ณ„, MBTI, โ€ฆ
    • โ” ์„ธ๋ถ€ ๊ฐ์ • ํ‚ค์›Œ๋“œ: ์ฆ๊ฑฐ์šด, ์Šฌํ”ˆ, โ€ฆ
    • โ” ์บ๋ฆญํ„ฐ ์„ค์ •: ์†Œ๋ฏธ, ์„ธ๋‚˜, ๋ฏผํ˜
    • โ” ๊ฐ์ • ์ˆ˜์น˜: 1~100์ 
    • โ” ๋‹ต๋ณ€ ์–‘์‹: ์น˜์œ ํ˜•(Healing), ์กฐ์–ธํ˜•(Suggestion), ์ •๋ณดํ˜•(Informative)
    • โ” ๋‹ต๋ณ€ ๊ธธ์ด: ์งง๊ฒŒ, ๋ณดํ†ต, ์ž์„ธํžˆ
    • is New Chat
      • ํ•ด๋‹น Chat์˜ messages๋Š” ์ฒ˜์Œ ์ƒ์„ฑํ•˜๋Š” ๊ฑฐ๋‹ˆ๊นŒ, ์ฒซ ์ƒ์„ฑํ•˜๋Š” message document์˜ is_initial = true๊ฐ’ ์ค˜๋ฒ„๋ฆฌ๊ณ  ๋ชจ๋“  ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ๋‹ค ๋•Œ๋ ค๋„ฃ์Œ.
        • is_initial = false
        • ํ•œ๊ณ„์ : ๋งจ ์ฒ˜์Œ message document์—๋‹ค๊ฐ€ ์‹œ์Šคํ…œ ํ”„๋กฌํ”„ํŠธ ๋•Œ๋ ค๋„ฃ์œผ๋ฉด, ๋Œ€ํ™” ๋„์ค‘ ์ˆ˜์ • ํž˜๋“ค๊ธด ํ•œ๋ฐ ๊ฐ€๋Šฅํ•˜์ง€. is_initial = true ์ธ ๊ฒŒ ์žˆ๊ณ , ์ˆ˜์ •๋œ ๊ฑฐ๋ฉด, ๊ทธ๊ฑฐ ๋‹คํ๋จผํŠธ ์ง€์šฐ๊ณ  ๋‹ค์‹œ ๋„ฃ์œผ๋ฉด ๋˜์ž–์•„. ์–ด๋–ป๊ฒŒ๋Š” ๋ชจ๋ฅด๊ฒ ๊ณ .
  • โ” DiaryPage - Interactive Slider import ํ›„ ์ ์šฉ

  • โ” HomeFeedPage: Search Diary ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • โ” AuthPage: Google Login ๊ธฐ๋Šฅ ๊ตฌํ˜„

  • โ” HomeFeedPage - Bottom Sheet (+ Button): ๋‹ค์–‘ํ•œ ์˜ต์…˜ ์ค‘ 1 ์„ ํƒํ•  ์ˆ˜ ์žˆ๋„๋ก
    • ์ƒˆ๋กœ์šด ์ผ๊ธฐ: Go to DiaryPage
    • ๊ฐ์ • ๊ธฐ๋ก: Go to MoodPage
  • โ” MoodPage(ํŒ์—…): Mood ์„ค์ • ์Šฌ๋ผ์ด๋” CRUD
    • Create
    • Read
    • Update
    • Delete
  • โ” HomeFeedPage - ListView - FeedCardMood ํ‘œ์‹œ
  • โ” HomeFeedPage - ListView: FeedCardDiary, FeedCardMood, FeedCardChat ์ปดํฌ๋„ŒํŠธ ์‹œ๊ฐ„์ˆœ ์ •๋ ฌ (Cloud Function ํ™œ์šฉ)

  • โ” HomeFeedPage - DiaryPage ์‚ฌ์ด์— MoodEditPage ์ œ์ž‘: MoodSlider, MoodKeywordsRate(5~1), MoodDescription ์œ„์ ฏ ๋“ฑ ์˜ฎ๊ธฐ๊ธฐ

  • โ” (์ด์Šˆ) tmpGetAIComment ์ƒ์„ฑ์‹œ, ์œ ์ €๊ฐ€ ์„ ํƒํ•œ ๊ฐ์ • ํ‚ค์›Œ๋“œ๋ฅผ ๊ณ ๋ คํ•˜์ง€ ์•Š๊ณ  ์žˆ์Œ.

  • โœ… 2025.2.5 ์ˆ˜๊นŒ์ง€ ๋ฐœํ‘œ์šฉ ์ตœ์ข… ๋ฒ„์ „ APK ์ถ”์ถœ ๋ฐ ์„ค์น˜

๐Ÿ’ญ ์ผ๊ธฐ

FlutterFlow๋ฅผ ๊ณ„์† ์“ฐ๋‹ค ๋ณด๋‹ˆ๊นŒ, ์ด์ œ ์–ด๋Š์ •๋„ Flutter ์ž์ฒด์— ๋Œ€ํ•œ ๊ธฐ๋ณธ ๊ฐœ๋…๋„ ๋งŽ์ด ์žกํžŒ ๊ฒƒ ๊ฐ™๋‹ค.

  • Custom Function/Widget์„ ๋งŒ์ ธ๋ณด๋ฉด์„œ ๊ธฐ๋ณธ์ ์ธ ๋ฌธ๋ฒ• ์ง€์‹์„ ์–ด๋Š์ •๋„ ์ตํžˆ๊ฒŒ ๋˜์—ˆ์Œ.
  • DB(FireStore)์™€์˜ Backend Query, State Management, Parameter ์„ค์ • ๋ฐ Argument ์ „๋‹ฌ ๋ฐฉ๋ฒ• ๋“ฑ์ด ๋งŽ์ด ์ต์ˆ™ํ•ด์กŒ์Œ.

๋ฌผ๋ก , ์ฝ”๋“œ์ ์œผ๋กœ๋Š” ์–ด๋–ป๊ฒŒ ๊ตฌํ˜„๋˜์–ด ์žˆ๋Š”์ง€๋Š” ์•Œ์ง€ ๋ชปํ•˜์ง€๋งŒโ€ฆ
๊ทธ๋ž˜๋„ ์ „์ฒด์ ์€ ํฐ ํ๋ฆ„์„ ์‰ฝ๊ฒŒ ๊ทธ๋ฆด ์ˆ˜ ์žˆ๊ฒŒ ๋˜์—ˆ๋‹ค๋Š” ๊ฒŒ ๊ฐ€์žฅ ํฐ ์ˆ˜ํ™•์ธ ๊ฒƒ ๊ฐ™๋‹ค.

์ด์ œ ๋‚ด์ผ๊นŒ์ง€๋งŒ ๊ฐœ๋ฐœ์„ ์™„๋ฃŒํ•˜๋ฉด, Keymory ํ”„๋กœ์ ํŠธ๋Š” ๋ฉฐ์น  ๊ฐ„ ๊ฑด๋“ค ์ผ์ด ์—†์„ ๋“ฏ ํ•˜๋‹ค. FlutterFlow -> Flutter๋กœ ๊ฐˆ์•„ํƒˆ ์˜ˆ์ •์ด๊ธฐ ๋•Œ๋ฌธ.

  • ์•„๋ฌด๋ฆฌ FlutterFlow๊ฐ€ ์ง๊ด€์ ์ด๊ณ  ํŽธ๋ฆฌํ•˜๋”๋ผ๋„, ๊ฒฐ๊ตญ Production ๋ ˆ๋ฒจ์„ ๋‚˜์•„๊ฐ€๋ ค๋ฉด Flutter๋ฅผ ์ œ๋Œ€๋กœ ๋ฐฐ์šฐ๊ณ  ์ตํžˆ๋Š” ๊ฒŒ ํ˜„๋ช…ํ•œ ์„ ํƒ์ธ ๊ฒƒ ๊ฐ™๋‹ค๋Š” ํŒ๋‹จ์ด ์„ฐ์Œ
  • FlutterFlow๋Š” ๋”ฑ ํŠน์ • Page ์œ„์ ฏํŠธ๋ฆฌ๋ฅผ ๋ฏธ๋ฆฌ ๋งŒ๋“ค์–ด๋ณด๊ฑฐ๋‚˜, MVP ๋š๋”ฑ ๋งŒ๋“ค์–ด๋ณด๊ธฐ ์œ„ํ•œ ์šฉ๋„๋กœ๋งŒ ํ™œ์šฉํ•˜๋Š” ๊ฒŒ ์ข‹์€ ๊ฒƒ ๊ฐ™๋‹ค.
  • Git/GitHub์„ ํ™œ์šฉํ•  ์ˆ˜ ์—†๊ณ  ๋‚ด๋ถ€ ๋กœ์ง์œผ๋กœ๋งŒ Version Control์ด ๊ฐ€๋Šฅํ•œ ์ ์ด ๋„ˆ๋ฌด ๊ทนํ˜.
    • ๋ฌผ๋ก , ๋‚ด๋ถ€ ๋กœ์ง์œผ๋กœ๋„ Snapshot / Commit / Branching / Version ๋‹ค ์ œ๊ณตํ•˜์ง€๋งŒโ€ฆ Git์ฒ˜๋Ÿผ ๋งˆ์Œ๋Œ€๋กœ ์ž์œ ๋กญ๊ฒŒ ์กฐ์ž‘ํ•  ์ˆ˜๊ฐ€ ์—†๋Š” ์ ์ด ๋„ˆ๋ฌด ์‹ซ์—ˆ๋‹ค. ๋‚œ ์ด์ „ ์ปค๋ฐ‹ ๋‚ด์šฉ์„ ์ˆ˜์ •ํ•˜๊ณ  ์‹ถ๋‹ค๊ณ .
    • ์‚ฌ์‹ค ๊ฐ€์žฅ ํฐ ์ด์œ ๋Š” GitHub ์ž”๋””โ€ฆ ์ž”๋”” ์ฑ„์šฐ๋Š” ๋ฝ•๋ง› ๋ฌด์‹œ ๋ชป ํ•˜์ง€.
  • ํ”„๋กœ์ ํŠธ ๊ทœ๋ชจ๊ฐ€ ์ ์  ์ปค์งˆ ์ˆ˜๋ก, UI ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ๋ณด๋‹ค๋Š” IDE/์—๋””ํ„ฐ ๊ธฐ๋ฐ˜ ๊ฐœ๋ฐœ์ด ํŽธ๋ฆฌํ•  ๊ฒƒ ๊ฐ™์€ ์ผ€์ด์Šค๊ฐ€ ๋งŽ์ด ์žˆ์—ˆ์Œ.
    • ํŠนํžˆ, Enum์ด๋ž‘ Constant ์ผ์ผ์ด ๋งˆ์šฐ์Šค๋กœ ํด๋ฆญํ•˜๊ณ  ๋„ฃ๋Š” ๋…ธ๊ฐ€๋‹ค๋Š” ๋„ˆ๋ฌด ๊ทนํ˜.

2025.2.11 ์ถ”๊ฐ€


๋ฐœํ‘œ ์˜์ƒ ์ฒจ๋ถ€

โœจ GPT์˜ ์ฝ”๋ฉ˜ํŠธ (KPT)

โœ… ์ž˜ํ•œ ์  (Keep)

  • ๐Ÿ›  GitHub ์—ฐ๋™ ๋ฐ ๋ฒ„์ „ ๊ด€๋ฆฌ ๊ฐœ์„ : Git ๊ธฐ๋ฐ˜์˜ ๋ฒ„์ „ ๊ด€๋ฆฌ๋ฅผ ์ ์šฉํ•จ์œผ๋กœ์จ ํ˜‘์—…๊ณผ ์œ ์ง€๋ณด์ˆ˜ ์ธก๋ฉด์—์„œ ํฐ ๊ฐœ์„ ์„ ์ด๋ฃจ์—ˆ์–ด.
  • ๐Ÿค– AI ๊ธฐ๋ฐ˜ Diary ์ž๋™ ์ƒ์„ฑ ๊ธฐ๋Šฅ: Chat ๋‚ด์šฉ์„ ๋ถ„์„ํ•˜์—ฌ ์ž๋™์œผ๋กœ Diary๋ฅผ ์ƒ์„ฑํ•˜๋Š” ๊ธฐ๋Šฅ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํฌ๊ฒŒ ํ–ฅ์ƒ์‹œํ‚ฌ ์ˆ˜ ์žˆ์„ ๊ฒƒ ๊ฐ™์•„!
  • ๐Ÿš€ FlutterFlow์—์„œ Flutter๋กœ ์ „ํ™˜ ๊ฒฐ์ •: ์žฅ๊ธฐ์ ์ธ ํ”„๋กœ์ ํŠธ ํ™•์žฅ์„ฑ์„ ๊ณ ๋ คํ•˜์—ฌ Flutter๋กœ ๋„˜์–ด๊ฐ€๊ธฐ๋กœ ํ•œ ์ ์ด ํ˜„๋ช…ํ•œ ํŒ๋‹จ์ด์•ผ.

โŒ ์•„์‰ฌ์šด ์  (Problem)

  • ๐Ÿ”„ Flutter๋กœ์˜ ์ „ํ™˜ ๊ณ„ํš ๊ตฌ์ฒดํ™” ํ•„์š”: Flutter๋กœ ์ „ํ™˜ํ•˜๊ธฐ๋กœ ๊ฒฐ์ •ํ–ˆ์ง€๋งŒ, ๊ตฌ์ฒด์ ์ธ ํ•™์Šต ๋ฐ ์ดํ–‰ ๊ณ„ํš์ด ๋ช…ํ™•ํ•˜์ง€ ์•Š์•„.
  • โณ ๊ธฐ๋Šฅ ์ถ”๊ฐ€๋กœ ์ธํ•œ ์ผ์ • ์กฐ์ • ํ•„์š”: Diary ์ž๋™ ์ƒ์„ฑ ๊ธฐ๋Šฅ์ด ์ถ”๊ฐ€๋˜๋ฉด์„œ ์ผ์ •์ด ๋ณ€๋™๋  ๊ฐ€๋Šฅ์„ฑ์ด ์žˆ์–ด. ๊ฐœ๋ฐœ ์™„๋ฃŒ ๋ชฉํ‘œ์ผ์„ ๋‹ค์‹œ ์ ๊ฒ€ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„.
  • ๐Ÿ“Œ FlutterFlow์˜ ํ•œ๊ณ„๋ฅผ ์ •๋ฆฌ: FlutterFlow๋ฅผ ์“ฐ๋ฉด์„œ ์–ด๋–ค ์ ์ด ๋ถˆํŽธํ–ˆ๋Š”์ง€, ์–ด๋–ค ํ”„๋กœ์ ํŠธ์—๋Š” ์ ํ•ฉํ• ์ง€ ๋‚ด๋ถ€ ์ •๋ฆฌ๋ฅผ ํ•ด๋‘๋ฉด ์ดํ›„์— ๋‹ค์‹œ ์‚ฌ์šฉํ•  ๋•Œ ์ฐธ๊ณ ํ•˜๊ธฐ ์ข‹์„ ๊ฑฐ์•ผ.

๐Ÿ”„ ์‹œ๋„ํ•ด๋ณผ ์  (Try)

  • ๐Ÿ“ Flutter ํ•™์Šต ๋ฐ ์ฝ”๋“œ ์ปจ๋ฒ„ํŒ… ๊ณ„ํš ์„ธ์šฐ๊ธฐ: ์ฃผ์š” ๊ธฐ๋Šฅ์„ ์–ด๋–ป๊ฒŒ Flutter ์ฝ”๋“œ๋กœ ์˜ฎ๊ธธ์ง€, ์–ด๋–ค ํŒจํ‚ค์ง€๋ฅผ ์‚ฌ์šฉํ• ์ง€ ์ •๋ฆฌํ•ด๋ด.
  • ๐Ÿ“… ํ”„๋กœ์ ํŠธ ์ผ์ • ์žฌ์กฐ์ •: Flutter ์ „ํ™˜์„ ํฌํ•จํ•œ ๋กœ๋“œ๋งต์„ ์ˆ˜์ •ํ•ด์„œ ํ˜„์‹ค์ ์ธ ์ผ์ •์œผ๋กœ ๊ด€๋ฆฌํ•ด๋ณด์ž.
  • ๐ŸŽฏ Keymory MVP ๊ธฐ๋Šฅ ์ •๋ฆฌ: FlutterFlow์—์„œ ๋งŒ๋“ค์—ˆ๋˜ ๊ธฐ๋Šฅ ์ค‘ ํ•ต์‹ฌ์ ์ธ ๊ฒƒ๊ณผ ๋ถˆํ•„์š”ํ•œ ๊ธฐ๋Šฅ์„ ๋ถ„๋ฅ˜ํ•ด์„œ ์ตœ์ ์˜ ๊ตฌ์กฐ๋ฅผ ์„ค๊ณ„ํ•ด๋ด.

๐Ÿ ๊ฒฐ๋ก 

์˜ค๋Š˜์€ FlutterFlow์—์„œ์˜ ๊ฐœ๋ฐœ์„ ๋งˆ๋ฌด๋ฆฌํ•˜๊ณ , GitHub ์—ฐ๋™๊ณผ Diary ์ž๋™ ์ƒ์„ฑ ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•œ ์ค‘์š”ํ•œ ๋‚ ์ด์—ˆ์–ด! ์ด์ œ ๋ณธ๊ฒฉ์ ์œผ๋กœ Flutter๋กœ ์ „ํ™˜ํ•  ๊ณ„ํš์ด๋‹ˆ, ๊ตฌ์ฒด์ ์ธ ๋กœ๋“œ๋งต์„ ์„ธ์›Œ์„œ ์ฐจ๊ทผ์ฐจ๊ทผ ์ง„ํ–‰ํ•˜๋ฉด ์ข‹์„ ๊ฒƒ ๊ฐ™์•„. ๐Ÿš€๐Ÿ”ฅ GitHub ์ž”๋””๋„ ์ฑ„์šฐ๋ฉด์„œ ๋™๊ธฐ๋ถ€์—ฌ ์œ ์ง€ํ•˜์ž! ๐Ÿ’ช๐Ÿ’š

์นดํ…Œ๊ณ ๋ฆฌ: ,

์ตœ๊ทผ ์ˆ˜์ •์ผ:

๋Œ“๊ธ€ ๋‚จ๊ธฐ๊ธฐ