/be04-4th-PI-MoodHolic

๐ŸŒ… ๊น€์žฌํ˜„ ๐ŸŒ… ๋ฐ•๊ฒฝ๋• ๐ŸŒ… ์‹ ๋™ํ˜ธ ๐ŸŒ… ์ด๋“œ๋ณด๋ผ ๐ŸŒ… ์ดํ˜„์šฐ

Primary LanguageCSS

001

Hits

๐ŸŒˆ Introduce Our Team

ํŒ€๋ช…์€ 3.141592์กฐ (PIE) ๋กœ ๋ฌดํ•œ๋Œ€๋กœ(PI) ๊ฐœ๋ฐœ์„ ์ฆ๊ธฐ๋ฉฐ ๋ฌดํ•œ๋Œ€๋กœ ์„ฑ์žฅํ•˜๊ณ  ์žˆ๋Š” ๊ฐœ๋ฐœํŒ€์›๋“ค์ด ๋ชจ์—ฌ '๊ฐ€์น˜๋Š” ๊ฐ™์ดํ•  ๋•Œ ๋” ์ข‹์€ โ€œ๊ฐ€.์น˜โ€๊ฐ€ ๋œ๋‹ค. ๋ผ๋Š” ์Šฌ๋กœ๊ฑด์„ ๊ฐ€์ง€๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ฃผ์ œ ์ค‘ ํšŒ์˜๋ฅผ ํ†ตํ•ด ์„ ์ •ํ•˜๊ณ  ๊ฐ์ž๊ฐ€ ๋งก์€ ๋ถ€๋ถ„์„ ์ฑ…์ž„๊ฐ์„ ๊ฐ€์ง€๊ณ  ๊ฐœ๋ฐœ์„ ๊ตฌํ˜„ํ•˜๋Š” ํ˜‘์—… ํ•  ์ˆ˜ ์žˆ๋Š” ํŒ€์›Œํฌ๋ฅผ ๋ณด์—ฌ์ฃผ๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ํ•˜๋‚˜์˜ ์—๋Ÿฌ๋„ ํ˜ผ์ž๊ฐ€ ์•„๋‹ˆ๋ผ ํŒ€์›๋“ค๊ณผ ๋จธ๋ฆฌ๋ฅผ ๋ง๋Œ€๊ณ  ์„œ๋กœ ๋ฏฟ๊ณ  ์˜์ง€ํ•˜๋ฉฐ ์ ๊ทน์ ์ธ ์˜์‚ฌ์†Œํ†ต์„ ํ†ตํ•ด ์–ด๋–ค ์—๋Ÿฌ์—๋„ ๊ตด๋ณตํ•˜์ง€ ์•Š๊ณ  ์ด๊ฒจ๋‚ด ๊ฐœ๋ฐœํ•  ์ˆ˜ ์žˆ๋Š” ํž˜์„ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉฐ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” 2์ฃผ์˜ ๋‹จ๊ธฐ๊ฐ„๋™์•ˆ ๊ธฐํš๋ถ€ํ„ฐ ํ”„๋ก ํŠธ, ๋ฐฑ, ์„œ๋ฒ„ ์—ฐ๋™ ๋“ฑ ๊ฐœ๋ฐœ์˜ ์ „๋ฐ˜์ ์ธ ๊ณผ์ •์„ ๊ฒฝํ—˜ํ•ด๋ณด๋ฉด์„œ ๊ทธ๋™์•ˆ ๋ฐฐ์šด ๋‚ด์šฉ์„ ์ง์ ‘ ์‚ฌ์šฉํ•ด๋ณด๋ฉด์„œ ๋ณต์Šตํ•˜๋Š” ๊ธฐํšŒ๋„ ๊ฐ€์ ธ๋ณด์•˜์Šต๋‹ˆ๋‹ค.


๐Ÿ‘ฅ Contact & Group




๐Ÿ‘ค Members

๊น€์žฌํ˜„    ๋ฐ•๊ฒฝ๋•    ์‹ ๋™ํ˜ธ    ์ด๋“œ๋ณด๋ผ    ์ดํ˜„์šฐ


๐Ÿ› ๏ธ Technology Stack

โš™๏ธ Front-End

        


โš™๏ธ Back-End

              


โš™๏ธ Production



โš™๏ธ CI/CD

     




แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ_2024-04-03_แ„‹แ…ฉแ„’แ…ฎ_ ovebg-preview (1)_animation

Typing SVG

Typing SVG




๐ŸŒ… Mood Holic ์†Œ๊ฐœ

๐Ÿ‘€ ๊ธฐํš ๋ฐฐ๊ฒฝ

ํ˜„๋Œ€ ์‚ฌํšŒ์—์„œ๋Š” ์ŠคํŠธ๋ ˆ์Šค, ๋ถˆ์•ˆ, ์šฐ์šธ ๋“ฑ์˜ ์ •์‹  ๊ฑด๊ฐ• ๋ฌธ์ œ๊ฐ€ ์ฆ๊ฐ€ํ•˜๊ณ  ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ์— ๋Œ€์ฒ˜ํ•˜๊ณ  ๊ฐ์ •์„ ๊ด€๋ฆฌํ•˜๋Š” ๊ฒƒ์€ ๋งค์šฐ ์ค‘์š”ํ•ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ ๊ฐœ์ธ์ด ๊ฐ์ •์„ ์ •๋ฆฌํ•˜๊ณ  ๊ด€๋ฆฌํ•˜๋Š”๋ฐ ๋„์›€์„ ์ฃผ๋Š” ํˆด์ด ํ•„์š”ํ•˜๋‹ค๋Š” ํ•„์š”์„ฑ์ด ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ์‚ฌ์šฉ์ž๋“ค์€ ๊ฐœ์ธํ™”๋œ ์„œ๋น„์Šค๋ฅผ ์„ ํ˜ธํ•˜๊ณ  ์ž์‹ ์˜ ๊ฐ์ • ์ƒํƒœ์™€ ์„ ํ˜ธ๋„์— ๋งž์ถ˜ ์ถ”์ฒœ์„ ๋ฐ›๋Š” ๊ฒƒ์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๋Š”๋ฐ ๋„์›€์ด ๋˜์—ˆ๋˜ ๊ฒฝํ—˜์„ ๊ฐ€์ง€๊ณ  ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ๊ธฐํšํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ’ก ํ•ด๊ฒฐ ์ปจ์…‰

  • ์ผ๊ธฐ ์ž‘์„ฑ: ์‚ฌ์šฉ์ž๋Š” ํ•˜๋ฃจ๋งˆ๋‹ค์˜ ๊ฐ์ •์„ ์ •๋ฆฌํ•˜๋ฉด์„œ ๊ฒช์—ˆ๋˜ ์–ด๋ ค์›€์ด๋‚˜ ๋ฐฐ์šด ์  ๋ฐ ์„ฑ์žฅํ•œ ๊ฒฝํ—˜ ๋“ฑ์„ ์ž์œ ๋กญ๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • GPT๋ฅผ ํ†ตํ•œ ๊ฒฐ๊ณผ ๋„์ถœ: GPT ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ†ตํ•ด ์ผ๊ธฐ๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ํšŒ์›์˜ ๊ธฐ๋ถ„ ์ ์ˆ˜, ์ถ”์ฒœ ์ปจํ…์ธ (์Œ์‹,์Œ์•…,์˜ํ™”)๋ฅผ ์ „๋‹ฌ๋ฐ›์•„ ํšŒ์›์—๊ฒŒ ํ•ด๋‹น ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  • ํ†ต๊ณ„ ๋ถ„์„: ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํšŒ์›์— ๋Œ€ํ•œ ๊ธฐ๋ถ„, ์Œ์‹, ์Œ์•…, ์˜ํ™” ์ทจํ–ฅ ๋ถ„์„ ๋“ฑ์„ ํ†ต๊ณ„๋กœ ์‹œ๊ฐํ™” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (ex. ๊ทธ๋ž˜ํ”„)

โœจ ๊ธฐ๋Œ€ ํšจ๊ณผ

  1. ๊ฐ์ • ๊ด€๋ฆฌ ๋ฐ ์ •์„œ์  ์•ˆ์ •: ์‚ฌ์šฉ์ž๊ฐ€ ์ผ๊ธฐ๋ฅผ ์ž‘์„ฑํ•˜๋ฉด์„œ ์ž์‹ ์˜ ๊ฐ์ •์„ ์ •๋ฆฌํ•˜๊ณ  ์ดํ•ดํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ผ๊ธฐ ์ž‘์„ฑ์€ ๋งˆ์Œ์˜ ์งˆ์„œ๋ฅผ ์œ ์ง€ํ•˜๊ณ  ์ •์„œ์  ์•ˆ์ •์„ ๋„๋ชจํ•˜๋Š”๋ฐ ๋„์›€์ด ๋ฉ๋‹ˆ๋‹ค.

  2. ๊ฐœ์ธ ์„ฑ์žฅ ๋ฐ ์ž๊ธฐ ์ธ์‹: ์‚ฌ์šฉ์ž๊ฐ€ ์–ด๋ ค์›€, ์„ฑ์žฅ, ๋ฐฐ์šด ์  ๋“ฑ์„ ์ผ๊ธฐ์— ๊ธฐ๋กํ•จ์œผ๋กœ์จ ์ž์‹ ์˜ ๊ฐœ์ธ์ ์ธ ์„ฑ์žฅ์„ ์ถ”์ ํ•˜๊ณ  ์ธ์‹ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ๋” ๋‚˜์€ ๋ฐฉํ–ฅ์œผ๋กœ ๋‚˜์•„๊ฐˆ ์ˆ˜ ์žˆ๋Š” ์ธ์‚ฌ์ดํŠธ๋ฅผ ์–ป์„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  3. ๊ฐœ์ธํ™”๋œ ์ถ”์ฒœ: GPT๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ์ผ๊ธฐ ๋‚ด์šฉ์„ ๋ถ„์„ํ•˜๊ณ , ์‚ฌ์šฉ์ž์˜ ๊ฐ์ • ์ƒํƒœ์— ๋”ฐ๋ผ ์ ํ•ฉํ•œ ์Œ์‹, ์Œ์•…, ์˜ํ™” ๋“ฑ์„ ์ถ”์ฒœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ฐœ์ธํ™”๋œ ์ถ”์ฒœ์€ ์‚ฌ์šฉ์ž๊ฐ€ ํŽธ์•ˆํ•จ์„ ์ฐพ๊ฑฐ๋‚˜ ๊ฐ์ •์„ ํšŒ๋ณตํ•˜๋Š” ๋ฐ ๋„์›€์ด ๋  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  4. ์‚ฌ์šฉ์ž ๊ด€์‹ฌ์‚ฌ ํŒŒ์•… ๋ฐ ์„œ๋น„์Šค ๊ฐœ์„ : ์‚ฌ์šฉ์ž์˜ ์ผ๊ธฐ ๋‚ด์šฉ์„ ํ†ตํ•ด ๊ฐ์ •, ์Œ์‹, ์Œ์•…, ์˜ํ™” ์ทจํ–ฅ ๋“ฑ์„ ๋ถ„์„ํ•จ์œผ๋กœ์จ ์‚ฌ์šฉ์ž์˜ ๊ด€์‹ฌ์‚ฌ์™€ ์„ฑํ–ฅ์„ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ์„œ๋น„์Šค๋ฅผ ๊ฐœ์„ ํ•˜๊ณ  ๋ณด๋‹ค ๋งž์ถคํ™”๋œ ์ฝ˜ํ…์ธ ๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

  5. ํ†ต๊ณ„ ๋ถ„์„์„ ํ†ตํ•œ ์ธ์‚ฌ์ดํŠธ ๋„์ถœ: ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํ†ต๊ณ„ ๋ถ„์„์€ ์‚ฌ์šฉ์ž๋“ค์˜ ๊ฐ์ • ๋ณ€ํ™”, ์ทจํ–ฅ ๋ณ€ํ™”, ์„ฑ์žฅ ๊ณผ์ • ๋“ฑ์„ ์ดํ•ดํ•˜๋Š” ๋ฐ ๋„์›€์„ ์ค„ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฅผ ํ†ตํ•ด ํŠธ๋ Œ๋“œ ํŒŒ์•…์ด๋‚˜ ์‚ฌ์šฉ์ž๋“ค์—๊ฒŒ ๋” ๋‚˜์€ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ๋Š” ์ธ์‚ฌ์ดํŠธ๋ฅผ ๋„์ถœํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

   => ์ด์ฒด์ ์œผ๋กœ, ์ด๋Ÿฌํ•œ ์‹œ์Šคํ…œ์€ ์‚ฌ์šฉ์ž๋“ค์˜ ์ •์„œ์  ๊ฑด๊ฐ•๊ณผ ์„ฑ์žฅ์„ ์ง€์›ํ•˜๊ณ , ๊ฐœ์ธํ™”๋œ ์„œ๋น„์Šค๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ณด๋‹ค ๋งŒ์กฑ์Šค๋Ÿฌ์šด ๊ฒฝํ—˜์„ ์ œ๊ณตํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.


๐Ÿ“ ์ฃผ์š”ํŽ˜์ด์ง€ ์†Œ๊ฐœ

  • ์ผ๊ธฐ ์ž‘์„ฑ: ์‚ฌ์šฉ์ž๋Š” ํ•˜๋ฃจ๋งˆ๋‹ค์˜ ๊ฐ์ •์„ ์ •๋ฆฌํ•˜๋ฉด์„œ ๊ฒช์—ˆ๋˜ ์–ด๋ ค์›€์ด๋‚˜ ๋ฐฐ์šด ์  ๋ฐ ์„ฑ์žฅํ•œ ๊ฒฝํ—˜ ๋“ฑ์„ ์ž์œ ๋กญ๊ฒŒ ์ •๋ฆฌํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • GPT๋ฅผ ํ†ตํ•œ ๊ฒฐ๊ณผ ๋„์ถœ: GPT ํ”„๋กฌํ”„ํŠธ๋ฅผ ํ†ตํ•ด ์ผ๊ธฐ๋ฅผ ์ „๋‹ฌํ•˜์—ฌ ํšŒ์›์˜ ๊ธฐ๋ถ„ ์ ์ˆ˜, ์ถ”์ฒœ ์ปจํ…์ธ (์Œ์‹,์Œ์•…,์˜ํ™”)๋ฅผ ์ „๋‹ฌ๋ฐ›์•„ ํšŒ์›์—๊ฒŒ ํ•ด๋‹น ๊ฒฐ๊ณผ๋ฅผ ์ถœ๋ ฅํ•ฉ๋‹ˆ๋‹ค.
  • ํ†ต๊ณ„ ๋ถ„์„: ์ €์žฅ๋œ ๋ฐ์ดํ„ฐ๋“ค์„ ๊ธฐ๋ฐ˜์œผ๋กœ ํ•œ ํšŒ์›์— ๋Œ€ํ•œ ๊ธฐ๋ถ„, ์Œ์‹, ์Œ์•…, ์˜ํ™” ์ทจํ–ฅ ๋ถ„์„ ๋“ฑ์„ ํ†ต๊ณ„๋กœ ์‹œ๊ฐํ™” ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค. (ex. ๊ทธ๋ž˜ํ”„)

๐ŸŒ… ์ถ”์ง„ ๊ณ„ํš

๐Ÿ—“๏ธ Table: ์ถ”์ง„์ฒด๊ณ„

๊ตฌ๋ถ„ ์กฐ์ง ์ฃผ์š” ์—ญํ• 
์ฃผ๊ด€ team 3.141592(PI) ์›น ํŽ˜์ด์ง€ ๊ตฌ์ถ• ๋ฐ ๋ฐฐํฌ
์ง€์›๊ธฐ๊ด€ ํ•œํ™”์‹œ์Šคํ…œx์—”์ฝ”์•„ ์žฅ๋น„ ์ง€์› ๋ฐ ํ€„๋ฆฌํ‹ฐ ์ ๊ฒ€
  • ์ถ”์ง„ ์ผ์ •: 2024-04-01 ~ 2024-04-17

  • ์ž‘์—… ์ˆ˜ํ–‰๊ณต๊ฐ„: ์„œ์šธ ๋™์ž‘๊ตฌ ๋ณด๋ผ๋งค๋กœ 87 SFC๋นŒ๋”ฉ 3F 1๊ฐ•์˜์‹ค, ์›๊ฒฉ ์†Œํ†ต(Discord ๋ฐ slack)


๐ŸŒ… Mood Holic's System Architecture

แ„‰แ…ณแ„แ…ณแ„…แ…ตแ†ซแ„‰แ…ฃแ†บ 2024-04-19 แ„‹แ…ฉแ„’แ…ฎ 3 38 52


๐ŸŒ… ์•ˆ๋ฐฐ์šด ๊ธฐ์ˆ  ๋ชฉ๋ก

  • Google Cloud - ํด๋ผ์šฐ๋“œ์— ์ด๋ฏธ์ง€๋ฅผ ์—…๋กœ๋“œํ•˜์—ฌ ์ด๋ฏธ์ง€ url๋งŒ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋„๋ก ํ•จ
  • V-Calendar - ๋‹ฌ๋ ฅ API๋กœ ๋ฉ”์ธ ํ™”๋ฉด (๋‹ค์ด์–ด๋ฆฌ ๋‹ฌ๋ ฅ)๊ธฐ๋Šฅ ๊ตฌํ˜„
  • vue-chart - ํ†ต๊ณ„, ์ˆ˜์น˜๋ฅผ ํ‘œ๋กœ ์ถœ๋ ฅํ•˜๊ธฐ ์œ„ํ•œ API
  • react native - ํŽ˜์ด์Šค๋ถ์—์„œ ๋งŒ๋“  ์˜คํ”ˆ์†Œ์Šค ๋ชจ๋ฐ”์ผ ์• ํ”Œ๋ฆฌ์ผ€์ด์…˜ ํ”„๋ ˆ์ž„์›Œํฌ๋กœ ๊ตฌํ˜„ํ•œ ์›น์„ ์•ฑ์œผ๋กœ ๊ตฌํ˜„

๐ŸŒ… ์ผ์ •๊ด€๋ฆฌ (Sprint Kanban)

โฐ Sprint Kanban 1์ฃผ์ฐจ

image


โฐ Sprint Kanban 2์ฃผ์ฐจ

image


๐ŸŒ… Mood Holic Story Board

Story Board

InnerJoinUs_แ„‰แ…ณแ„แ…ฉแ„…แ…ต-แ„‡แ…ฉแ„ƒแ…ณ_wire-frame__แ„€แ…ตแ„‚แ…ณแ†ผแ„€แ…ฎแ„’แ…งแ†ซแ„ƒแ…ฌแ†ซ-แ„€แ…ฅแ†บแ„†แ…กแ†ซ_แ„‡แ…ฉแ†จแ„‰แ…กแ„‡แ…ฉแ†ซ


๐ŸŒ… ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ

Mood.Holic.APP

๐Ÿ“‚ public
โ”œโ”€ ๐Ÿ“‚ Favicon.ico
๐Ÿ“‚ src
โ”œโ”€ ๐Ÿ“‚ assets
โ”‚  โ”œโ”€ ๐Ÿ“‚ css
โ”‚  โ””โ”€ ๐Ÿ“‚ icon
โ”œโ”€ ๐Ÿ“‚ components
โ”‚  โ””โ”€ ๐Ÿ“‚ category๋ณ„ ํด๋”
โ”‚     โ””โ”€ ๐Ÿ“„ .vue ํŒŒ์ผ // Login.Vue ํŒŒ์ผ ๋“ฑ
โ”œโ”€ ๐Ÿ“„ App.vue
โ”œโ”€ ๐Ÿ“„ main.js
โ”œโ”€ ๐Ÿ“‚ store
   โ””โ”€ ๐Ÿ“„ store.js
โ”œโ”€ ๐Ÿ“‚ view
โ”‚  โ””โ”€ ๐Ÿ“‚ category๋ณ„ ํด๋”
โ”‚     โ””โ”€ ๐Ÿ“„ .vue ํŒŒ์ผ
โ””โ”€ ๐Ÿ“‚ router
   โ””โ”€ ๐Ÿ“„ index.js

Mood.Holic.BE

๐Ÿ“‚ Akatsuki
โ””โ”€ ๐Ÿ“‚ MoodHolicBE
โ””โ”€ ๐Ÿ“‚ MoodHolicFE

Mood.Holic.FE

๐Ÿ“‚ .github
โ”œโ”€ ๐Ÿ“‚ Template
๐Ÿ“‚ public
๐Ÿ“‚ public
โ”œโ”€ ๐Ÿ“‚ Favicon.ico
๐Ÿ“‚ src
โ”œโ”€ ๐Ÿ“‚ assets
โ”‚  โ”œโ”€ ๐Ÿ“‚ css
โ”‚  โ””โ”€ ๐Ÿ“‚ icon
โ”‚  โ””โ”€ ๐Ÿ“‚ imges
โ”œโ”€ ๐Ÿ“‚ components
โ”‚  โ””โ”€ ๐Ÿ“‚ calendar
โ”‚  โ””โ”€ ๐Ÿ“‚ header
โ”‚  โ””โ”€ ๐Ÿ“‚ main
โ”œโ”€ ๐Ÿ“‚ router
โ”‚  โ”œโ”€ ๐Ÿ“„ router.js
โ”œโ”€ ๐Ÿ“‚ store
โ”‚  โ”œโ”€ ๐Ÿ“„ store.js
โ”œโ”€ ๐Ÿ“‚ views
โ”œโ”€ ๐Ÿ“„ App.Vue
โ”œโ”€ ๐Ÿ“„ main.js
โ”œโ”€ ๐Ÿ“„ .gitignore
โ”œโ”€ ๐Ÿ“„ index.html
โ”œโ”€ ๐Ÿ“„ jsconfig.json
โ”œโ”€ ๐Ÿ“„ package.json
โ”œโ”€ ๐Ÿ“„ package-lock.json
โ”œโ”€ ๐Ÿ“„ README.md
โ”œโ”€ ๐Ÿ“„ vite.config.js 

๐ŸŒ… DB Modeling (ERD, DDD, DDL, DML)

๐Ÿ—‚๏ธ ERD

ERD

๐Ÿ—‚๏ธ DDD

image

๐Ÿ—‚๏ธ DDL

DDL ๊ตฌ๋ฌธ
DROP DATABASE IF EXISTS moodholic;

CREATE DATABASE IF NOT EXISTS moodholic default CHARACTER SET UTF8;

USE moodholic;

DROP TABLE diary CASCADE;
DROP TABLE diary_emotion CASCADE;
DROP TABLE diary_food CASCADE;
DROP TABLE diary_food_like CASCADE;
DROP TABLE diary_movie CASCADE;
DROP TABLE diary_movie_like CASCADE;
DROP TABLE diary_music CASCADE;
DROP TABLE diary_music_like CASCADE;
DROP TABLE emotion CASCADE;
DROP TABLE food CASCADE;
DROP TABLE member CASCADE;
DROP TABLE movie CASCADE;
DROP TABLE music CASCADE;

CREATE TABLE `member` (
    `member_id` BIGINT AUTO_INCREMENT NOT NULL,
    `nickname` VARCHAR(50) NULL,
    `provider` VARCHAR(30) NULL,
    `email` VARCHAR(50) NULL,
    PRIMARY KEY (`member_id`)
);

CREATE TABLE `diary` (
    `diary_id` INT AUTO_INCREMENT NOT NULL,
    `date` DATE NULL,
    `content` TEXT NULL,
    `status` BOOLEAN NULL DEFAULT FALSE,
    `Img_path` TEXT NULL,
    `member_id` BIGINT NOT NULL,
    `summary` VARCHAR(255) NULL,
    PRIMARY KEY (`diary_id`)
);

CREATE TABLE `emotion` (
    `emotion_id` INT AUTO_INCREMENT NOT NULL,
    `emotion_score` INT NULL,
    PRIMARY KEY (`emotion_id`)
);

CREATE TABLE `music` (
    `music_id` INT AUTO_INCREMENT NOT NULL,
    `music_name` VARCHAR(255) NULL,
    `singer` VARCHAR(255) NULL,
    `music_genre` VARCHAR(255) NULL,
    PRIMARY KEY (`music_id`)
);

CREATE TABLE `food` (
    `food_id` INT AUTO_INCREMENT NOT NULL,
    `food_name` VARCHAR(255) NULL,
    `food_category` ENUM('ํ•œ์‹','์ค‘์‹','์–‘์‹','์ผ์‹','์•„์‹œ์•ˆ') NULL,
    `food_spicy` INT NULL,
    PRIMARY KEY (`food_id`)
);

CREATE TABLE `movie` (
    `movie_id` INT AUTO_INCREMENT NOT NULL,
    `movie_name` VARCHAR(255) NULL,
    `movie_genre` VARCHAR(255) NULL,
    PRIMARY KEY (`movie_id`)
);

CREATE TABLE `diary_music` (
    `diary_music_id` INT AUTO_INCREMENT NOT NULL,
    `diary_id` INT NOT NULL,
    `music_id` INT NOT NULL,
    `music_like` BOOLEAN NULL,
    PRIMARY KEY (`diary_music_id`)
);

CREATE TABLE `diary_food` (
    `diary_food_id` INT AUTO_INCREMENT NOT NULL,
    `diary_id` INT NOT NULL,
    `food_id` INT NOT NULL,
    `food_like` BOOLEAN NULL,
    PRIMARY KEY (`diary_food_id`)
);

CREATE TABLE `diary_movie` (
    `diary_movie_id` INT AUTO_INCREMENT NOT NULL,
    `movie_id` INT NOT NULL,
    `diary_id` INT NOT NULL,
    `movie_like` BOOLEAN NULL,
    PRIMARY KEY (`diary_movie_id`)
);

CREATE TABLE `diary_emotion` (
    `diary_emotion_id` INT AUTO_INCREMENT NOT NULL,
    `diary_id` INT NOT NULL,
    `emotion_id` INT NOT NULL,
    PRIMARY KEY (`diary_emotion_id`)
);

CREATE TABLE `comment` (
	 `comment_id` INT AUTO_INCREMENT NOT NULL,
	 `diary_id` INT NOT NULL,
	 `comment_content` VARCHAR(255) NOT NULL,
	 PRIMARY KEY (`comment_id`)
);	 

ALTER TABLE `diary`
ADD CONSTRAINT `fk_member_id` FOREIGN KEY (`member_id`)
REFERENCES `member`(`member_id`);

ALTER TABLE `diary_music`
ADD CONSTRAINT `fk_diary_id1` FOREIGN KEY (`diary_id`)
REFERENCES `diary`(`diary_id`);

ALTER TABLE `diary_music`
ADD CONSTRAINT `fk_music_id` FOREIGN KEY (`music_id`)
REFERENCES `music`(`music_id`);

ALTER TABLE `diary_food`
ADD CONSTRAINT `fk_diary_id2` FOREIGN KEY (`diary_id`)
REFERENCES `diary`(`diary_id`);

ALTER TABLE `diary_food`
ADD CONSTRAINT `fk_food_id` FOREIGN KEY (`food_id`)
REFERENCES `food`(`food_id`);

ALTER TABLE `diary_movie`
ADD CONSTRAINT `fk_diary_id3` FOREIGN KEY (`diary_id`)
REFERENCES `diary`(`diary_id`);

ALTER TABLE `diary_movie`
ADD CONSTRAINT `fk_movie_id` FOREIGN KEY (`movie_id`)
REFERENCES `movie`(`movie_id`);

ALTER TABLE `diary_emotion`
ADD CONSTRAINT `fk_diary_id4` FOREIGN KEY (`diary_id`)
REFERENCES `diary`(`diary_id`);

ALTER TABLE `diary_emotion`
ADD CONSTRAINT `fk_emotion_id` FOREIGN KEY (`emotion_id`)
REFERENCES `emotion`(`emotion_id`);

ALTER TABLE `comment`
ADD CONSTRAINT `fk_diary_id5` FOREIGN KEY (`diary_id`)
REFERENCES `diary`(`diary_id`);

๐Ÿ—‚๏ธ DML

DML ๊ตฌ๋ฌธ
INSERT
INTO member
(email,nickname, provider)
VALUES
       ('park123@naver.com','์ธ„๋ฅด๋„๋‘‘', 'google')
     , ('yun123@naver.com',  '์šฐ์ฃผ์ตœ๊ฐ•๋ฏธ๋‚จ', 'naver')
     , ('mfk5gd@daum.net',  '๋ฆฌ์นด์†”๋ฆฌ','google')
     , ('cho123@daum.net', '์ฅฌ๋ผ๊ธฐ์›”๋“œ','google')
     , ('kim123@kakao.com',  '๋‹ฅ์ณ๋งํฌ์ด', 'naver')
     , ('f414mce3@yahoo.com', '๊ฐ€๋ฌธ๋น„ํ•˜๋Š˜์†Œ', 'google')
     , ('lee123@gmail.com', '๋งˆํ‹ธ๋‹ค', 'naver')
     , ('baek123@yahoo.com','์šด๋™๊ฐˆ๊บผ์•ผ', 'google')
     , ('seo@naver.com', '๊ฒŒ์ž„์กฐ์•„','naver')
     , ('v1hdfn@naver.com', 'ํ•˜ํƒœ์„œ๋ฆฌ', 'google')
     , ('i8drit@naver.com',  '๊ทค๋ƒ ๋ƒ ', 'google')
     , ('lmjava@gmail.com',  '๋ฌผ๋ณต์ˆญ์•„', 'google')
     , ('fdxrt2@yahoo.com', '์ง€ํ•˜์ฒœ์ฒ™', 'naver')
     , ('helloItsUnivers@naver.com',  'littleUnivers','naver')
     , ('buy1005@naver.com',  'handselim', 'google')
     , ('djunsg@gmail.com',  '์ค€๋™์†ก', 'naver')
     , ('Din1@yahoo.com', 'god๋Œ€์˜', 'google')
     , ('al8@daum.net',  '์ด์„ธ์นด์ด', 'google')
     , ('leieion@naver.com',  '๋ฐ”๋Š˜์‚ฌ์ดˆ', 'naver')
     , ('beoele@gmail.com',  '๋ณด์šฐํƒ€๋ฆฌ', 'naver')
     , ('je58392@yahoo.com', '๋ฒค์กฐ์นด์ธ', 'naver')
     , ('829hhge@daum.net',  '์–ดํŒŒ์ธ๊ตฐ', 'google')
     , ('oiomnnt8@naver.com',  '๋‹ค๋ถ„์•ˆ๋ถ€', 'google')
     , ('1m0s11@gmail.com',  'ํŒŒ๋ผ๋„์Šค', 'google')
     , ('krwink@yahoo.com',  'ํŒŒํฌ์Šค๋ฒ•', 'google')
     , ('te6394@daum.net', '๋งˆ์ด์นด๋‚˜์ดํŠธ', 'google')
     , ('rj83n9n@naver.com',  '๋งˆ๋ฅธ์ƒˆ์šฐ๋ณถ์Œ', 'naver')
     , ('ciqfnl348@gmail.com',  '๋ฉ”์†Œํฌํƒ€๋ฏธ์•„', 'naver')
     , ('yun2489b@daum.net',  'DragonVicroty', 'google')
     , ('coein231@gmail.com',  'ํ‚ค๋Ÿฌ์†Œ๋ฃจ๋‘', 'naver')
     , ('lehyw@nate.com', 'rpwkr', 'naver');
     
     
INSERT
INTO diary
(`date`,`content`,`member_id`, `summary`)
VALUES
		 (
		 '2024-03-25'
		 ,'์˜ค๋Š˜์€ ์˜ค๋žœ๋งŒ์— ์นœ๊ตฌ์™€ ์ด๋””์•ผ์นดํŽ˜์—์„œ ๋งŒ๋‚˜ ์ฝœ๋“œ๋ธŒ๋ฃจ๋ฅผ ๋งˆ์‹œ๋ฉฐ ์ˆ˜๋‹ค๋ฅผ ๋–จ์—ˆ๋‹ค. 
		 ์ „์—ฌ์นœ์ด์•ผ๊ธฐ์™€ ๋กค์ด์•ผ๊ธฐ๋ฅผ ํ–ˆ๋Š”๋ฐ ์—ญ์‹œ ๋‚ด ๋ฒ ํ”„๋ผ ๊ทธ๋Ÿฐ์ง€ ๋Œ€ํ™”๋„ ์ฆ๊ฑฐ์›Œ์„œ ๊ธฐ๋ถ„์ด ๋งค์šฐ ์ข‹์•˜๋‹ค.
		 ์‹ฌ์ง€์–ด ์ด๋‚  ์กฐ๊ฐœ๊ตฌ์ด๋„ ๋จน์–ด์„œ ์ง„์งœ ์ฐ์œผ๋กœ ๊ด‘๋Œ€๊ฐ€ ๋‚˜์˜ฌ๋งŒํผ ์›ƒ์—ˆ๋˜๊ฒƒ ๊ฐ™๋‹ค.
		 ๋‚ด์ผ๋„ ์ด์ •๋„๋กœ ๊ธฐ๋ถ„์ข‹์€ ์ผ๋งŒ ๊ฐ€๋“ํ–ˆ์œผ๋ฉด ์ข‹๊ฒ ๋‹ค.',
		 8,
		 '๊ธฐ๋ถ„ ์ข‹์•˜๋‹ค'
		 ),
		 (
		 '2024-03-26'
		 ,'๊ธฐ๋ถ„์ด ์ข‹๊ธฐ๋Š” ๊ฐœ๋ฟ” ์‹œ์ž‘๋ถ€ํ„ฐ ๊ผฌ์˜€๋‹ค.
		 ํšŒ์‚ฌ์—์„œ ์ƒ์‚ฌ๊ฐ€ ๊ฐ‘์ž๊ธฐ ์ค‘์š” ํ”„๋กœ์ ํŠธ ๋งˆ๊ฐ์ผ์ด ๋‹ค๊ฐ€์˜ค๊ณ  ์žˆ์œผ๋‹ˆ ์˜ค๋Š˜ ์•ผ๊ทผ์„ ํ•˜๋ผ๋Š” ๋ง์„ ํ•˜๋Š”๊ฒŒ ์•„๋‹ˆ๊ฒ ๋Š”๊ฐ€
		 ์˜ค๋Š˜ ์ง‘๊ฐ€์„œ ์•ผ๊ตฌ๋ณด๋ฉด์„œ ์‹œ์›ํ•œ ๋งฅ์ฃผ๋งˆ์‹œ๋ฉด์„œ ์‰ด๋ ค๊ณ  ํ–ˆ๋Š”๋ฐ ๊ธฐ๋ถ„์ด ๋„ˆ๋ฌด ์•ˆ์ข‹์•„์กŒ๋‹ค. 
		 ์ง€๊ธˆ ์ด์‹œ๊ฐ„์— ํšŒ์‚ฌ์—์„œ ์ผ๊ธฐ๋‚˜ ์“ฐ๊ณ  ์žˆ๋‹ค๋‹ˆ ์ง„์งœ ํ™”๋‚œ๋‹ค',
		 8,
		 'ํ™”๊ฐ€ ๋‚ฌ๋‹ค'
		 ),
		 (
		 '2024-03-27'
		 ,'์˜ค๋žœ๋งŒ์— ๋„์„œ๊ด€์— ๊ฐ€์„œ ์ฑ…์„ ์ฝ์—ˆ๋‹ค. 
		 ์กฐ์šฉํ•˜๊ณ  ์ง‘์ค‘ํ•˜๊ธฐ ์ข‹์€ ํ™˜๊ฒฝ์—์„œ ์‹œ๊ฐ„๊ฐ€๋Š” ์ค„ ๋ชฐ๋ž๋‹ค.
		 ๋ณ„๋‹ค๋ฅธ ํŠน๋ณ„ํ•œ ์ผ ์—†์ด  ํŽธ์•ˆํ•˜๊ณ  ์กฐ์šฉํ•œ ํ•˜๋ฃจ์˜€๋‹ค.
		 ๊ฐ€๋”์€ ์ด๋Ÿฐ ํ‰์˜จํ•œ ํ•˜๋ฃจ๋„ ๊ดœ์ฐฎ์€ ๊ฒƒ ๊ฐ™๋‹ค. ',
		 8,
		 '๋‚˜๋ฆ„ ๊ดœ์ฐฎ์€ ํ•˜๋ฃจ'
		 ),
		 (
		 '2024-03-28'
		 ,'์˜ค๋Š˜ ์•„์ฃผ ํ–‰๋ณตํ•œ ๊ฟˆ์„ ๊ฟจ๋‹ค. ๋ฐ”๋กœ ์–ต๋งŒ์žฅ์ž๊ฐ€ ๋˜๋Š” ๊ฟˆ!! ๊ทผ๋ฐ ๊นผ๋”๋‹ˆ ๋‚ด ๋ˆˆ์•ž์— ๋ณด์ด๋Š”๊ฑด 
		 ์–ด์ œ ๋จน๊ณ  ์•ˆ์น˜์šด ๋ง‰๊ตญ์ˆ˜ ๊ทธ๋ฆ‡๊ณผ ์ด๋ถˆ์— ๋–จ์–ด์ง„ ์กฑ๋ฐœ ํ•œ์กฐ๊ฐ์ด์˜€๋‹ค. ์•„์นจ๋ถ€ํ„ฐ ์•„์ฃผ ์—ฟ๊ฐ™์€ ํ•˜๋ฃจ๋‹ค.
		 ์˜ค๋Š˜ ๋‚ด ๋ˆˆ์— ๋ˆ„๊ตฌ ๊ฑธ๋ฆฌ๊ธฐ๋งŒ ํ•ด๋ด๋ผ ์ง„์งœ ๋ถ„๋…ธ์กฐ์ ˆ์žฅ์• ๊ฐ€ ๋ญ”์ง€ ๋ณด์—ฌ์ฃผ์ง€.',
		 8,
		 'ํ™”๊ฐ€ ๋งŽ์ด ๋‚ฌ๋‹ค'
		 ),
		 (
		 '2024-03-29'
		 ,'์ƒˆ๋กœ์šด ์ทจ๋ฏธ๋กœ ๊ทธ๋ฆผ ๊ทธ๋ฆฌ๊ธฐ๋ฅผ ์‹œ์ž‘ํ–ˆ๋‹ค. ์ž˜ ๊ทธ๋ฆฌ์ง€๋Š” ๋ชปํ•˜์ง€๋งŒ, ์ฐฝ์ž‘์˜ ๊ณผ์ • ์ž์ฒด๊ฐ€ ์ฆ๊ฑฐ์› ๋‹ค.
		  ์ƒˆ๋กœ์šด ๊ฒƒ์„ ๋ฐฐ์šฐ๋Š” ์„ค๋ ˜์ด ์žˆ์—ˆ๋‹ค. ์–ด์ œ๋Š” ์ข€ ์ปจ๋””์…˜์ด ์•ˆ์ข‹์•˜์ง€๋งŒ ๊ทธ๋ฆผ๊ทธ๋ฆฌ๊ธฐ์— ๋‚ด ์ƒˆ๋กœ์šด ์žฌ๋Šฅ์„ ์ฐพ์€๊ฒƒ ๊ฐ™
		  ๊ฐ™์•„์„œ ๊ธฐ๋ถ„์ด ๋ชน์‹œ ๋งค์šฐ ์ข‹๋‹ค. ๋‚ด์ผ๋„ ์œ ํŠœ๋ธŒ ๋ณด๋ฉด์„œ ๊ทธ๋ ค๋ด์•ผ์ง€.',
		 8,
		 '์‹ ๋น„๋กœ์šด ๊ธฐ๋ถ„์ด ๋“ ๋‹ค'
		 ),
		 (
		 '2020-02-02' ,
		 '์˜ค๋Š˜์€ ์‹œํ—˜๋‚ ์ด์—ˆ๋Š”๋ฐ ์‹œํ—˜์„ ๋„ˆ๋ฌด ๋ชป๋ดค๋‹ค. ๋‚ด ๋ชฉํ‘œ ์ ์ˆ˜๋Š” 80์ ์ด์—ˆ๋Š”๋ฐ
		  65์ ๋ฐ–์— ๋ชป๋งž์•„์„œ ๊ธฐ๋ถ„์ด ์šฐ์šธํ–ˆ๋‹ค. ์•ž์œผ๋กœ ๋” ์—ด์‹ฌํžˆํ•ด์•ผํ•  ๊ฒƒ ๊ฐ™๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋Š”๋ฐ
		  ์šฉ๊ธฐ๊ฐ€ ์•ˆ๋‚œ๋‹ค. ๊ทธ๋ž˜๋„ ์—ด์‹ฌํžˆ ํ•ด์•ผ๊ฒ ๋‹ค!',
		 1,
		 '์šฐ์šธํ•˜๋‹ค..'
		 ),
		 (
		 '2021-02-21' ,
		 '์˜ค๋Š˜์€ ๋ถ€๋ชจ๋‹˜์˜ ๊ฒฐํ˜ผ๊ธฐ๋…์ผ์ด์ด์…”์„œ ๊ฝƒ๋‹ค๋ฐœ์„ ์‚ฌ๋“œ๋ ธ๋Š”๋ฐ ๋ถ€๋ชจ๋‹˜๊ป˜์„œ ๊ต‰์žฅํžˆ ์ข‹์•„ํ•˜์…จ๋‹ค.
		  ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์„ ๋ฌผ์„ ํ•˜๋Š” ํ–‰์œ„์— ์žˆ์–ด์„œ ์ƒ๋Œ€๋ฐฉ์ด ๊ธฐ๋ถ„ ์ข‹์•„ํ•œ๋‹ค๋ฉด ์„ ๋ฌผ์„ ์ฃผ๋Š” ์‚ฌ๋žŒ 
		  ์ž…์žฅ๋„ ๊ธฐ๋ถ„์ด ์ข‹์•„์ง„๋‹ค๋Š” ๊ฒƒ์„ ์ฒ˜์Œ ์•Œ์•˜๋‹ค. ๋ˆ„๊ตฐ๊ฐ€์—๊ฒŒ ์„ ๋ฌผ์„ ํ•œ๋‹ค๋Š” ๊ฒƒ์€ ๋‚˜๋ฆ„
		  ๊ธฐ๋ถ„ ์ข‹์€ ์ผ์ด์—ˆ๊ตฌ๋‚˜~',
		 2,
		 '๋ฟŒ๋“ฏํ•œ ๊ธฐ๋ถ„~'
		 ),
		 (
		 '2022-02-22' ,
		 '์˜ค๋Š˜ ๋‚˜์—๊ฒŒ ์žˆ์–ด์„œ ๋งค์šฐ ์ค‘์š”ํ•œ ๋‚ ์ด์—ˆ๋‹ค. ์˜ค๋Š˜์€ ๋‚˜์˜ ๋Œ€ํ•™ ์กธ์—…์‹๋‚ ์ด์—ˆ๋‹ค.
		  ํ•˜์ง€๋งŒ ์•„์นจ๋ถ€ํ„ฐ ๋จธ๋ฆฌ ๋“œ๋ผ์ด๋ฅผ ์ œ๋Œ€๋กœ ํ•˜์ง€ ๋ชปํ–ˆ๊ณ  ํ•™๊ต์— ๊ฐ€๋Š” ๊ธธ์— ์ƒˆ๋˜ฅ์— ๋งž์•„
		  ์ฐœ์งˆ๋ฐฉ์— ๋“ค๋ ค ์”ป์–ด์•ผํ–ˆ๋‹ค..๊ทธ๋ ‡๊ธฐ์— ์กธ์—…์‹๋„ ์ตœ์•…์ด์—ˆ๋‹ค. ๋‚ด ์ธ์ƒ์— ๋‹จ ํ•œ๋ฒˆ ์žˆ๋Š”
		  ๋‚ ์ธ๋ฐ ์ด๋ ‡๊ฒŒ ๋งˆ๋ฌด๋ฆฌํ•˜๋‹ˆ ๊ธฐ๋ถ„์ด ์ง„์งœ ๋‚˜๋นด๋‹ค.' ,
		 3,
		 '์žฌ์ˆ˜์—†๋Š” ๋‚ '
		 ),
		 (
		 '2023-02-23' ,
		 '3๋…„๋™์•ˆ ์ฃผ 1ํšŒ์”ฉ ๋ณต๊ถŒ์„ ๊ตฌ๋งคํ•˜๋˜ ๋‚˜.. ํ•ญ์ƒ ๋‚™์ฒจ๋งŒ ๋˜๋˜ ๋‚˜.. ํ•˜์ง€๋งŒ ๋“œ๋””์–ด ๋ณต๊ถŒ
		  3๋“ฑ์— ๋‹น์ฒจ๋˜์—ˆ๋‹ค!! ๋น„๋ก 1๋“ฑ ๋‹น์ฒจ๊ธˆ์•ก์— ๋น„ํ•ด ์ดˆ๋ผํ•œ ๋‹น์ฒจ๊ธˆ์•ก์ด์ง€๋งŒ ์ด์ •๋„๊ฐ€ ์–ด๋””์ธ๊ฐ€..
		  ๋‚˜๋Š” ์˜ค๋Š˜ ์†Œ๊ณ ๊ธฐ๋ฅผ ๋จน์„ ๊ฒƒ์ด๋‹ค!!' ,
		 4,
		 '์„ฑ๊ณตํ•œ ๋Š๋‚Œ!'
		 ),
		 (
		 '2024-02-24' ,
		 '์˜ค๋Š˜ ํ•˜๊ต๋ฅผ ํ•˜๋ฉฐ ํ•œ ์•„ํŒŒํŠธ ์˜†์„ ์ง€๋‚˜๊ฐ€๊ณ  ์žˆ์—ˆ๋‹ค. ๊ทธ๋•Œ ๋“ค๋ ธ๋˜ ์†Œ๋ฆฌ.."ํฝ!!"
		  ๋‚ด ์•ž์— ์ž‘์€ ์šฐ์œ ๊ณฝ์ด ํ„ฐ์กŒ๊ณ  ๊ทธ๋กœ ์ธํ•ด ๋‚ด ๋ชธ์€ ํฐ ์šฐ์œ ์— ๋ฒ”๋ฒ…์ด ๋˜์–ด์žˆ์—ˆ๋‹ค.
		  ๊ทธ ์งํ›„ ๋“ค๋ฆฌ๋Š” ์†Œ๋ฆฌ "๊น”๊น”๊น”~" ์•„ํŒŒํŠธ ์œ„์—์„œ ์ดˆ๋“ฑํ•™์ƒ๋“ค์ด ๋‚˜์—๊ฒŒ ์šฐ์œ ๋ฅผ ๋˜์ง„ ๊ฒƒ์ด์—ˆ๋‹ค.
		  ๋‚˜๋Š” ์†Œ๋ฆฌ๋ฅผ ์ง€๋ฅด๋ฉฐ ์š•์„ ํ–ˆ๋‹ค. ํ•˜์ง€๋งŒ ๊ทธ ํ•™์ƒ๋“ค์˜ ๋ถ€๋ชจ๋“ค์ด ์ฐพ์•„์™€ ์ ๋ฐ˜ํ•˜์žฅ์œผ๋กœ
		  ์†Œ๋ฆฌ์ง€๋ฅด์ง€ ๋ง๋ผ๋ฉฐ ๋‚˜์—๊ฒŒ ๋˜๋ ค ํ™”๋ฅผ ๋‚ด์—ˆ๋‹ค. ์ฐจ๋ผ๋ฆฌ ์ €์ถœ์‚ฐ ์‹œ๋Œ€๊ฐ€ ์˜ค๋ž˜๊ฐ”์œผ๋ฉด ์ข‹๊ฒ ๋‹ค๊ณ 
		  ์ƒ๊ฐํ•œ ํ•˜๋ฃจ์˜€๋‹ค.' ,
		 5,
		 '๊ธฐ๋ถ„ ์žก์น˜๋„ค ์ง„์งœ'
		 )
		 ;

๐ŸŒ… ๊ฐœ๋… & ๋…ผ๋ฆฌ Modeling

๐Ÿ—„๏ธ ๊ฐœ๋… Modeling

image


๐Ÿ—„๏ธ ๋ฌผ๋ฆฌ Modeling

image


๐ŸŒ… Mood Holic Menu ๊ตฌ์กฐ๋„

image


๐ŸŒ… Wire Frame

Mood Holic's Wire Frame

wireframe


๐ŸŒ… API ๋ช…์„ธ์„œ

image image image image image image image image image


๐ŸŒ… Mood Holic ๋ฐฐํฌ๋ฌธ์„œ

MoodHolic's Build ๋ฐ ๋ฐฐํฌ ๋ฌธ์„œ

002

003

004

005

006

007

008

009

010

011

012

013

014

015

016

017

018

019

020


๐ŸŒ… CI/CD ๊ธฐ๋Šฅ ๋ช…์„ธ์„œ

image

๐ŸŒ… ์ถ”ํ›„ ๊ณ ๋„ํ™” ๊ธฐ๋Šฅ

  • ํ”„๋ก ํŠธ ์žฌ์ •๋ฆฌ: ์›น์‚ฌ์ดํŠธ์˜ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ์ฒด๊ณ„์ ์œผ๋กœ ์žฌ์ •๋น„ํ•˜์—ฌ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ํ–ฅ์ƒ์‹œํ‚ค๊ณ  ๋””์ž์ธ์„ ํ˜„๋Œ€์ ์œผ๋กœ ์—…๋ฐ์ดํŠธ
  • ์›น๊ณผ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ ๋ถ„๋ฆฌ: ํ˜„์žฌ ์›น์‚ฌ์ดํŠธ๋ฅผ ๋„ค์ดํ‹ฐ๋ธŒ ์•ฑ๊ณผ ๋ณ„๋„๋กœ ๊ฐœ๋ฐœํ•˜์—ฌ ๊ฐ ํ”Œ๋žซํผ์— ์ตœ์ ํ™”๋œ ์„ฑ๋Šฅ๊ณผ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์ œ๊ณต
  • ์•„์ด์ฝ˜ ๋„๊ฐ: ์‚ฌ์šฉ์ž ๋‹ค์ด์–ด๋ฆฌ ์ž‘์„ฑ ์‹œ ๋žœ๋ค์œผ๋กœ ์•„์ด์ฝ˜(or ์บ๋ฆญํ„ฐ)์ด ํ™•๋ฅ ์ ์œผ๋กœ ์ƒ์„ฑ
  • ๋ฑƒ์ง€ ๋“ฑ๋ก: ์‚ฌ์šฉ์ž๊ฐ€ ๋ชจ์€ ์•„์ด์ฝ˜ ๋„๊ฐ ์ค‘์—์„œ ์‚ฌ์šฉ์ž ํ”„๋กœํ•„์— ์žˆ๋Š” ๋ฑƒ์ง€๋ฅผ ๋“ฑ๋กํ•  ์ˆ˜ ์žˆ์Œ
  • TODO ๋ฆฌ์ŠคํŠธ: ์‚ฌ์šฉ์ž๊ฐ€ ์ž‘์—… ํ•ญ๋ชฉ๋“ค์„ ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” TODO ๋ฆฌ์ŠคํŠธ๋ฅผ ๊ตฌํ˜„
  • ๋งˆ์ดํŽ˜์ด์ง€/๋‚ด์ •๋ณด ์ˆ˜์ •: ์‚ฌ์šฉ์ž๊ฐ€ ์ž์‹ ์˜ ๊ฐœ์ธ ์ •๋ณด๋ฅผ ์‰ฝ๊ฒŒ ์—…๋ฐ์ดํŠธํ•˜๊ณ  ๊ด€๋ฆฌํ•  ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ์„ ๊ฐœ์„ ํ•˜๊ณ  ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋ฅผ ๊ฐ„์†Œํ™”
  • ๋‹ค์ด์–ด๋ฆฌ ํ…œํ”Œ๋ฆฟ ์ฒดํ—˜ ๋ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ: ์‚ฌ์šฉ์ž ํšŒ์›๊ฐ€์ž… ์ „ ์›น/์•ฑ์— ๋Œ€ํ•œ ์ดํ•ด๋ฅผ ๋•๊ธฐ ์œ„ํ•ด ์‚ฌ์šฉ๋œ ๋‹ค์ด์–ด๋ฆฌ ์˜ˆ์‹œ๋‚˜ ์ฒดํ—˜ํ•˜๊ธฐ ๊ธฐ๋Šฅ

๐ŸŒ… Acatsuki's ํšŒ๊ณ 

์ด๋ฆ„ ํšŒ๊ณ 
๊น€์žฌํ˜„ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ๊ทธ๋™์•ˆ ๋ฐฐ์› ๋˜ ๊ฒƒ์„ ๋ชจ๋‘ ์ด์šฉํ•˜๋˜ ๋ฐฑ์—”๋“œ๋Š” JPA๋กœ ๊ฐœ๋ฐœํ•˜๊ณ , ํ”„๋ก ํŠธ์•ค๋“œ๋Š” vue๋กœ ๊ฐœ๋ฐœํ•˜์—ฌ ์—ฐ๋™ํ•˜๊ณ , CI/CD๋ฅผ ์ž๋™์œผ๋กœ ํ•ด์ฃผ๋Š” ์  ํ‚จ์Šค์™€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค๋“ฑ์„ ์ ์šฉ์‹œ์ผœ๋ณด๋Š” ํ”„๋กœ์ ํŠธ์˜€์Šต๋‹ˆ๋‹ค. ์ฃผ์ œ๋ฅผ ์„ ์ •ํ•˜๊ณ  DB๋ชจ๋ธ๋ง ๋“ฑ ๊ทธ๋™์•ˆ ๋ฐฐ์› ๋˜ ๊ณผ์ •์„ ๋‹ค์‹œ ํ•ด๋ณด๋ฉฐ ๋ณต์Šตํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ์ข‹์€ ๊ธฐํšŒ์˜€์Šต๋‹ˆ๋‹ค. ์šด์ด ์ข‹๊ฒŒ๋„ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ์ œ๊ฐ€ CI/CD๋ถ€๋ถ„์„ ๋งก๊ฒŒ๋˜์—ˆ๋Š”๋ฐ, ํ•œ๋ฒˆ๋„ ํ•ด๋ณด์ง€ ์•Š์•„ ๊ฑฑ์ •์ด ๋งŽ์ด ๋˜๊ธฐ๋Š” ํ–ˆ์ง€๋งŒ ํ•œํŽธ์œผ๋กœ๋Š” ์„ค๋ ˆ๋Š” ๋งˆ์Œ๋„ ์—†์ง€์•Š์•„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์˜ˆ์ƒํ–ˆ๋˜๋Œ€๋กœ ํ˜ผ์ž ํ•ด๋ณด๋‹ˆ ๊ณ„์† ์˜ค๋ฅ˜๊ฐ€ ๋‚˜๊ณ , ์ ์šฉ์ด ์•ˆ๋˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒํ–ˆ์—ˆ์œผ๋‚˜, ๊ณผ์ •์„ ๋‹ค์‹œ ๋ณต์Šตํ•˜๊ณ  ์–ด๋–ค์‹์œผ๋กœ ์™œ ์ž‘๋™ํ•˜๋Š”์ง€๋ฅผ ํŒŒ์•…ํ•˜์ž ๋ฌธ์ œ๊ฐ€ ํ•˜๋‚˜์”ฉ ํ•ด๊ฒฐ๋˜๊ธฐ ์‹œ์ž‘ํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด ๊ฒฝํ—˜์„ ํ†ตํ•ด ๋ฌด์—‡์ด๋“  ๊ทธ๋ƒฅ ์ฝ”๋“œ๋ฅผ ๋”ฐ๋ผ์น˜๊ธฐ๋ณด๋‹จ ์—ฌ๊ธฐ์„œ ์ด๊ฑธ ์™œ ์ ์šฉํ•ด์•ผํ•˜๋Š”์ง€๋“ฑ ์“ฐ๋Š” ์ด์œ ๋ฅผ ์•„๋Š” ๊ฒƒ์ด ํ›จ์”ฌ ์ค‘์š”ํ•˜๋‹จ ์‚ฌ์‹ค์„ ์•Œ๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค์Œ์— ํ•  ํ”„๋กœ์ ํŠธ์—๋Š” ์  ํ‚จ์Šค ์™€ ์ฟ ๋ฒ„๋„คํ‹ฐ์Šค ๋Œ€์‹  aws๋ฅผ ์‚ฌ์šฉํ•ด์„œ ํ•ด๋ณด๊ณ  ์‹ถ์–ด์กŒ๊ณ , ๋‹จ์ˆœํžˆ dockerhub์—๋งŒ image๋ฅผ ์˜ฌ๋ฆฌ๊ณ  ์ˆ˜๋™์œผ๋กœ restartํ•ด์ฃผ๋Š”๊ฒƒ์ด ์•„๋‹ˆ๋ผ, ๊ฐ•์‚ฌ๋‹˜์ด ๋ง์”€ํ•˜์‹  argo๋“ฑ์„ ์จ์„œ dockerhub์— ํ‘ธ์‹œ๋œ๊ฒƒ์„ ๊ฐ์ง€ํ•ด ์ž๋™์œผ๋กœ ๋ฐฐํฌ ํ•  ์ˆ˜ ์žˆ๋Š” ํ™˜๊ฒฝ์„ ๊ตฌ์ถ•ํ•ด๋ณด๊ณ  ์‹ถ์–ด์กŒ์Šต๋‹ˆ๋‹ค.
๋ฐ•๊ฒฝ๋• ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ์ €๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ๋“ค์„ ์ ‘ํ•˜๊ณ  ํ•™์Šตํ•˜๋Š” ๊ธฐํšŒ๋ฅผ ๊ฐ€์กŒ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ Oauth 2.0, OpenAI API, Redis-server, React Native ๋“ฑ์˜ ๊ธฐ์ˆ ์ด ํ”„๋กœ์ ํŠธ์˜ ํ•ต์‹ฌ ์š”์†Œ์˜€์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๊ธฐ์ˆ ๋“ค์„ ์‹ค์ œ๋กœ ์ ์šฉํ•ด๋ณด๋ฉด์„œ ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์šฐ๊ณ  ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ €์˜ ์ฒ ํ•™์€ "ํ•  ์ˆ˜ ์žˆ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ํ•  ๊ฒƒ์ด๊ณ , ๋ชปํ•œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ชป ํ•  ๊ฒƒ"์ด๋ผ๋Š” ๊ฒƒ์ž…๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋งˆ์ธ๋“œ์…‹์„ ๊ฐ€์ง€๊ณ  ์–ด๋ ค์šด ์ƒํ™ฉ์—์„œ๋„ ํ•ด๊ฒฐ์ฑ…์„ ์ฐพ์•„๋‚ด๋Š” ๋ฐ ์ค‘์ ์„ ๋‘์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๊ธฐ์ˆ ์ ์ธ ์ง€์‹๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๋ฌธ์ œ ํ•ด๊ฒฐ ๋Šฅ๋ ฅ๋„ ํฌ๊ฒŒ ํ–ฅ์ƒ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ์ƒˆ๋กœ์šด ๊ธฐ์ˆ ์„ ๋ฐฐ์šฐ๋Š” ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋‹ค์–‘ํ•œ ๋ฌธ์ œ๋“ค์„ ํ•ด๊ฒฐํ•˜๋ฉด์„œ, "์•ˆ๋œ๋‹ค๊ณ  ์ƒ๊ฐํ•˜๋ฉด ๋ชปํ•  ๊ฒƒ"์ด๋ผ๋Š” ๋งˆ์ธ๋“œ์…‹์„ ๋ฒ„๋ฆฌ๊ณ  "์•ˆ ๋˜๋ฉด ๋˜๊ฒŒ ํ•ด์•ผ ํ•œ๋‹ค"๋Š” ์ ๊ทน์ ์ธ ์ž์„ธ๋ฅผ ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋Š” ์ €์—๊ฒŒ ๋งŽ์€ ๊ธฐ์ˆ ์  ๋„์ „๊ณผ ํ•จ๊ป˜ ์‹ฌ๋ฆฌ์  ์„ฑ์žฅ์˜ ๊ธฐํšŒ๋ฅผ ์ œ๊ณตํ–ˆ์Šต๋‹ˆ๋‹ค. ์ €๋Š” ๊ธฐ์ˆ ์  ํ•œ๊ณ„๋ฅผ ๋„˜์–ด์„œ๋Š” ๊ฒƒ๋ฟ๋งŒ ์•„๋‹ˆ๋ผ, ๊ทธ ๊ณผ์ •์—์„œ ๋ฐœ์ƒํ•˜๋Š” ๋ฌธ์ œ๋“ค์— ๋Œ€ํ•ด ์ ๊ทน์ ์œผ๋กœ ๋Œ€์ฒ˜ํ•˜๋Š” ๋ฐฉ๋ฒ•์„ ๋ฐฐ์› ์Šต๋‹ˆ๋‹ค. ์•ž์œผ๋กœ๋„ ์ด๋Ÿฌํ•œ ๊ฒฝํ—˜์„ ๋ฐ”ํƒ•์œผ๋กœ ๋Š์ž„์—†์ด ๋ฐฐ์šฐ๊ณ  ์„ฑ์žฅํ•˜๋Š” ๊ฐœ๋ฐœ์ž๊ฐ€ ๋˜๊ธฐ ์œ„ํ•ด ๋…ธ๋ ฅํ•  ๊ฒƒ์ž…๋‹ˆ๋‹ค.
์‹ ๋™ํ˜ธ ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” Vue3,HTML,CSS์™€ ๋ผ์šฐํŒ… ๊ธฐ์ˆ ์„ ํ™œ์šฉํ•˜๋ฉฐ ํ”„๋ก ํŠธ์—”๋“œ ์ธก๋ฉด์—์„œ ๋งŽ์ด ๋„์ „ํ•˜๊ณ  ํ•œ๋ฐœ์ž๊ตญ ์ „์ง„ํ•œ ๋Š๋‚Œ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋‹ค๋งŒ ๋ฐ˜์‘ํ˜• css์—์„œ ๋งŽ์ด ๋‹ต๋‹ตํ–ˆ๊ณ , ์ „์—ญcss๋ฅผ importํ•˜๋Š” ๊ณผ์ •์—์„œ ์ „์—ญ๋ณ€์ˆ˜ ์ถฉ๋Œ์ด ์ผ์–ด๋‚˜ ์• ๋ฅผ ๋งŽ์ด ๋จน์–ด ๋‹ต๋‹ตํ–ˆ์Šต๋‹ˆ๋‹ค. ํด๋ž˜์Šค๋ช…์ด ์ค‘๋ณต๋˜๋ฉด ์ด๋ ‡๊ฒŒ ์ถฉ๋Œ์ด ๋‚  ์ˆ˜ ์žˆ๋‹ค๋Š” ๊ฒƒ์„ ๊นจ๋‹ซ๊ณ  ์ด๋ฅผ ํ†ตํ•ด ์•ž์œผ๋กœ ๋‚ด๊ฐ€ ๊ฐ€์•ผํ•  ๊ธธ์— ์žˆ๋Š” ๋Œ๋งน์ด๋ฅผ ํ•˜๋‚˜ ์น˜์šด ๊ฒƒ ๊ฐ™์€ ๋ฟŒ๋“ฏํ•จ์ด ๋“ค์—ˆ์—ˆ๊ณ , ํ”„๋กœ์ ํŠธ ์ดˆ๋ฐ˜์—๋Š” mariadb๋ฅผ ํ™œ์šฉํ•ด DDL ๊ตฌ๋ฌธ๊ณผ DML์„ ์ž‘์„ฑํ•ด ์ดํ›„์— ํ”„๋ก ํŠธ ์ž‘์—…์„ ํ•  ๋•Œ๋Š” ๋ถˆํ•„์š”ํ•˜๊ฒŒ ์ค‘๋ณต๋˜๋Š” img๋‚˜ icon์„ ์ˆ˜์ • ์‚ญ์ œํ•˜์—ฌ ํ†ต์ผ์‹œํ‚ค๋Š” ๊ณผ์ •์„ ํ†ตํ•ด ๋””๋ ‰ํ† ๋ฆฌ ๊ตฌ์กฐ๋‚˜ ํŒŒ์ผ์— ๋Œ€ํ•ด์„œ ํ†ต์ผ์„ฑ์ด ์žˆ๋‹ค๋ฉด ๋” ์ข‹์€ ๊ฐœ๋ฐœ ํ™˜๊ฒฝ์ด ๋œ๋‹ค๋Š” ๊ฒฝํ—˜์„ ํ–ˆ๋ณด์•˜์Šต๋‹ˆ๋‹ค. ๊ฐœ์ธ์ ์œผ๋กœ ์•„์‰ฌ์šด ๊ฑด ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋ฐฑ์—”๋“œ ๊ฐœ๋ฐœ์„ ๊ฑฐ์˜ ํ•˜์ง€ ๋ชปํ•ด์„œ ๋‹ค์Œ ํ”„๋กœ์ ํŠธ์—์„œ๋Š” ๋งŽ์ด ๊ณต๋ถ€ํ•˜๋ฉฐ ๋ฐฑ์—”๋“œ์™€ ํ”„๋ก ํŠธ์—”๋“œ๋ฅผ ๋‘˜ ๋‹ค ๋งก๊ณ  ์‹ถ์€ ๋งˆ์Œ์ด ์ƒ๊ฒผ์Šต๋‹ˆ๋‹ค.
์ด๋“œ๋ณด๋ผ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๊ทธ ๋™์•ˆ ๋ฐฐ์› ๋˜ Front-end์˜ ์—ฌ๋Ÿฌ๊ฐ€์ง€ ํƒœ๊ทธ๋ฅผ ์‚ฌ์šฉํ•˜๋ฉด์„œ ํ”ผ๊ทธ๋งˆ๋กœ ๋””์ž์ธํ–ˆ๋˜ ํ™”๋ฉด๋“ค์ด ๋™์ ์œผ๋กœ ์›€์ง์ด๋Š”๊ฑธ ์ง๊ด€์ ์œผ๋กœ ๋ณด์—ฌ์ง€๋‹ˆ ํฅ๋ฏธ๋กœ์› ๊ณ , ๋ฐฑ๊ณผ ์—ฐ๋™์„ ํ†ตํ•ด DB์ •๋ณด๋ฅผ ๊ฐ€์ ธ์™€ ์Œ“์•„๋ณด๋ฉด์„œ Back-end์™€ Devops ์— ๋Œ€ํ•œ ์ „๋ฐ˜์ ์ธ ๋‚ด์šฉ์„ ๋ณต์Šตํ•˜๊ณ  ๊ธฐ๋Šฅ์„ ๊ตฌํ˜„ํ•˜๋ฉด์„œ ์‹ค์ œ๋กœ ์šด์˜๋˜๋Š” ์›นํŽ˜์ด์ง€์ฒ˜๋Ÿผ ๊ณ ๋„ํ™”์‹œ์ผœ๋ณด๊ณ  ์‹ถ๋‹ค๋Š” ๋งˆ์Œ์ด ์ปค์กŒ์Šต๋‹ˆ๋‹ค. ํŒ€์›๋“ค๊ณผ ํŒŒํŠธ๋ฅผ ๋ถ„๋ฐฐํ•˜๊ณ  2์ฃผ๋™์•ˆ ๊ตฌํ˜„ํ•ด๋‚ด๋Š”๋ฐ ์–ด๋ ค์›€์ด ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ์ฃผ๋กœ ๋งก์€ ํ”„๋ก ํŠธ์—์„œ๋Š” ํŒŒ์ผ๊ตฌ์กฐ๊ฐ€ ๋ฐ”๋€Œ๊ฑฐ๋‚˜ ํŒŒ์ผ๋ช…์ด ์ˆ˜์ •๋˜์–ด ์„œ๋ฒ„๊ฐ€ ๋Œ์•„๊ฐ€์ง€ ์•Š๊ฑฐ๋‚˜ ๋ฐฑ ์—ฐ๋™์ด ์‰ฝ์ง€ ์•Š์•˜์ง€๋งŒ ํฌ๊ธฐํ•˜์ง€ ์•Š๊ณ  ํŒ€์›๋“ค๊ณผ ์—๋Ÿฌ ๋ฌธ์ œ์ ์„ ์ฐพ์•„๋ณด๊ณ  ๋๊นŒ์ง€ ํ•จ๊ป˜ ๊ตฌํ˜„ํ•  ์ˆ˜ ์žˆ์–ด ๋ฟŒ๋“ฏํ•˜๊ธฐ๋„ ํ•˜๊ณ  ๊นจ๋‹ฌ์€ ์ ๋„ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ํ”„๋ก ํŠธ๋ฅผ ๋งก์•˜๋‹ค๊ณ  ๋ฐฑ๋„ ๋†“์น˜์ง€ ๋ง์•„์•ผ๊ฒ ๋‹ค๊ณ  ์ƒ๊ฐ์ด ๋“ค์—ˆ๊ณ , ํ”„๋กœ์ ํŠธ์˜ ์ „์ฒด์ ์ธ ํ๋ฆ„์„ ์ดํ•ดํ•  ์ˆ˜ ์žˆ๋„๋ก ๋ถ€์กฑํ•œ ๋ถ€๋ถ„์„ ์ฐพ์•„ ๋”ฐ๋กœ ์ฝ”๋“œ๋กœ ์—ฐ์Šตํ•˜๋Š” ์Šต๊ด€์„ ๋“ค์—ฌ์•ผ๊ฒ ๋‹ค๋Š” ์ƒ๊ฐ์ด ๋“ค์—ˆ์Šต๋‹ˆ๋‹ค. ๋˜ํ•œ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋‚˜์”ฉ ๊ฑฐ๋“ญํ• ์ˆ˜๋ก ์ €์— ๋Œ€ํ•œ ๊ฐ๊ด€ํ™”๊ฐ€ ์ ์  ๊ณ ๋„ํ™”๋˜๋Š” ๋Š๋‚Œ์„ ๋ฐ›์œผ๋ฉด์„œ ๋‚ด๋ฉด์ ์œผ๋กœ๋„ ์„ฑ์žฅํ•ด๊ฐ€๊ณ  ์žˆ๋‹ค๋Š” ๋Š๋‚Œ์„ ๋ฐ›์•˜์œผ๋ฉฐ, ๊ฐœ๋ฐœ์— ์žˆ์–ด์„œ ๋‚˜๋Š” ์–ด๋–ค ๊ฒƒ์ด ๋ถ€์กฑํ•˜๊ณ  ์–ด๋–ค ๋ถ€๋ถ„์„ ์ž˜ํ•˜๊ณ  ์žˆ๋Š”์ง€ ์ƒ๊ฐ์ •๋ฆฌ๋ฅผ ํ•  ์ˆ˜ ์žˆ์—ˆ์Šต๋‹ˆ๋‹ค. ๋” ๋‚˜์•„๊ฐ€ ๋‹ค์Œ ํ”„๋กœ์ ํŠธ๋ฅผ ๋“ค์–ด๊ฐ€๊ธฐ ์ „, ์ด๋ก ์ ์œผ๋กœ ๋ณต์Šต์ด ํ•„์š”ํ•œ ๋ถ€๋ถ„์ด๋‚˜ ์ง€๊ธˆ๊นŒ์ง€ ๊ตฌํ˜„ํ–ˆ๋˜ ํ”„๋กœ์ ํŠธ์˜ ๊ธฐ๋Šฅ์„ ์ดํ•ดํ•˜๊ณ  ์–ด๋–ป๊ฒŒ ์ ์šฉ์ด ๋˜๋Š”์ง€์— ๋Œ€ํ•œ ์ดํ•ด๊ฐ€ ํ•„์š”ํ•˜๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๊ณ , ๋น„๋ก ๋‚จ๋“ค๊ณผ ์‹œ์ž‘ํ•œ ์ถœ๋ฐœ์ ์€ ๋‹ค๋ฅด์ง€๋งŒ ๊ฒฐ๊ณผ์ ์œผ๋กœ ๋น„๊ตํ•˜์ง€ ์•Š๊ณ  ๊ทธ ๋ถ€์กฑํ•œ ์‹œ๊ฐ„์„ ์ฑ„์šฐ๋Š” ๊ฒƒ์— ์ง‘์ค‘ํ•˜๊ณ  ์ œ ์ž์‹ ์„ ๋ฏฟ๊ณ  ์ขŒ์ ˆ๋ณด๋‹จ ์ด๊ฒจ๋‚ด๋Š” ํž˜์„ ๊ธฐ๋ฅด๊ณ  ์ด๋ฒˆ ํ”„๋กœ์ ํŠธ๋ฅผ ํ†ตํ•ด ๊ฒฝํ—˜ํ•  ์ˆ˜ ์žˆ์–ด ํ•œ์ธต ๋” ์„ฑ์žฅํ•  ์ˆ˜ ์žˆ์—ˆ๋˜ ๊ธฐํšŒ์˜€๋˜ ๊ฒƒ ๊ฐ™์•˜์Šต๋‹ˆ๋‹ค.
์ดํ˜„์šฐ ํ”„๋กœ์ ํŠธ๋ฅผ ํ•˜๋ฉด์„œ ๋ฐฑ์—”๋“œ์™€ ํ”„๋ก ํŠธ์—”๋“œ ์–‘์ชฝ์—์„œ ๋งก์€ ๋ถ€๋ถ„์ด ์žˆ์–ด์„œ ์ •๋ง ๋งŽ์€ ๊ฒƒ์„ ๋ฐฐ์šฐ๊ณ  ๊ฒฝํ—˜ํ–ˆ์Šต๋‹ˆ๋‹ค. ๋ฐฑ์—”๋“œ์—์„œ๋Š” ๋ฐ์ดํ„ฐ ํŒŒ์‹ฑ, ๋‹ค์ด์–ด๋ฆฌ, ํ†ต๊ณ„, ์ด๋ฏธ์ง€, ์ถ”์ฒœ ์‹œ์Šคํ…œ์„ ๋‹ค๋ฃจ์—ˆ๋Š”๋ฐ, ์ด ๊ณผ์ •์—์„œ ์˜ˆ์ƒ์น˜ ๋ชปํ•œ ์–ด๋ ค์›€๊ณผ ์—๋Ÿฌ๋“ค์„ ๋งˆ์ฃผํ–ˆ์Šต๋‹ˆ๋‹ค. ํŠนํžˆ ๋ฐ์ดํ„ฐ ํŒŒ์‹ฑ๊ณผ ํ†ต๊ณ„ ์ฒ˜๋ฆฌ ๋ถ€๋ถ„์—์„œ๋Š” ์—ฌ๋Ÿฌ ๊ฐ€์ง€ ๋ฌธ์ œ์— ์ง๋ฉดํ•˜์—ฌ ๋งŽ์€ ๊ณ ๋ฏผ์„ ํ•˜๊ฒŒ ๋˜์—ˆ์Šต๋‹ˆ๋‹ค. ๋ฐ์ดํ„ฐ ํŒŒ์‹ฑ์€ ์‚ฌ์šฉ์ž๋กœ๋ถ€ํ„ฐ ์ž…๋ ฅ๋œ ๋ฐ์ดํ„ฐ๋ฅผ ์ฝ๊ณ  ChatGPT์— ์ „์†กํ•˜์—ฌ ์‘๋‹ต๋ฐ›์€ ๋‚ด์šฉ์„ ํŒŒ์‹ฑํ•˜๋Š” ๊ฒƒ์œผ๋กœ ์ด ๊ณผ์ •์—์„œ ์˜ˆ๊ธฐ์น˜ ๋ชปํ•œ ๋ฐ์ดํ„ฐ ํ˜•์‹์ด๋‚˜ ๋ˆ„๋ฝ๋œ ๋ฐ์ดํ„ฐ ๋“ฑ์œผ๋กœ ์ธํ•œ ์—๋Ÿฌ๊ฐ€ ๋ฐœ์ƒํ–ˆ์Šต๋‹ˆ๋‹ค. ์ด๋Ÿฌํ•œ ๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ ์œ ํšจ์„ฑ ๊ฒ€์‚ฌ์™€ ์˜ˆ์™ธ ์ฒ˜๋ฆฌ๋ฅผ ๋” ์„ธ๋ฐ€ํ•˜๊ฒŒ ์ฒ˜๋ฆฌํ•˜์˜€์Šต๋‹ˆ๋‹ค. ํ†ต๊ณ„ ์ฒ˜๋ฆฌ ๋ถ€๋ถ„์—์„œ๋Š” ๋‹ค์–‘ํ•œ ๋ฐ์ดํ„ฐ๋ฅผ ๋ถ„์„ํ•˜๊ณ  ์‹œ๊ฐํ™”ํ•˜๋Š” ๊ณผ์ •์—์„œ ๋งŽ์€ ์–ด๋ ค์›€์„ ๊ฒช์—ˆ์Šต๋‹ˆ๋‹ค. ์–ด๋–ค ํ†ต๊ณ„ ์ง€ํ‘œ๋ฅผ ์„ ํƒํ• ์ง€, ์–ด๋–ป๊ฒŒ ์‹œ๊ฐํ™”๋ฅผ ํ•  ์ง€ ๋“ฑ์— ๋Œ€ํ•œ ๊ณ ๋ฏผ์ด ๋งŽ์•˜์Šต๋‹ˆ๋‹ค. ๊ธฐ์กด์— ๋‹ค๋ค„๋ณด์ง€ ์•Š์€ ๊ฒƒ๋“ค์„ ํ™œ์šฉํ•˜๋ฉด์„œ ์ €์—๊ฒŒ ๋งŽ์€ ๊ฒฝํ—˜์ด ๋œ ๊ฒƒ ๊ฐ™์Šต๋‹ˆ๋‹ค.