Skip to content

๐ŸฆŠ ๊ณฝ์šฐ์„ ๐Ÿฟ๏ธ๊น€์„ํฌ ๐Ÿง์„œ๋ฏผ์ข… ๐Ÿฑ์ด์ƒ๋ชจ ๐Ÿถ์ตœํ˜œ๋ฏผ

Notifications You must be signed in to change notification settings

yehang218/ondam

ย 
ย 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๐Ÿ’• ON:DAM

๐Ÿ‘จโ€๐Ÿ’ป DEVELOPERS

๐Ÿ‘‘๊ณฝ์šฐ์„ ๊น€์„ํฌ ์„œ๋ฏผ์ข… ์ด์ƒ๋ชจ ์ตœํ˜œ๋ฏผ


๐Ÿ”– ๋ชฉ์ฐจ



๐Ÿ“ข ํ”„๋กœ์ ํŠธ ๊ฐœ์š”

1. ํ”„๋กœ์ ํŠธ ์†Œ๊ฐœ

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

2. ํ”„๋กœ์ ํŠธ ํ•„์š”์„ฑ

  • ์ƒ๋‹ด ๊ธฐ๋ก๊ณผ ์ •๋ฆฌ์— ๋Œ€ํ•œ ์ƒ๋‹ด์‚ฌ์˜ ๋ถ€๋‹ด
  • ๋‚ด๋‹ด์ž์˜ ๊ฐ์ •์„ ๊ฐ๊ด€์ ์œผ๋กœ ํŒŒ์•…ํ•˜๊ธฐ ์–ด๋ ค์›€
  • ์ƒ๋‹ด์‚ฌ ๊ฐ„ ๊ต๋ฅ˜ ๋ถ€์กฑ์œผ๋กœ ์ธํ•œ ์ •์„œ์  ์†Œ์ง„
  • ์ƒ๋‹ด ๊ธฐ๋ก์„ ํšจ๊ณผ์ ์œผ๋กœ ๊ด€๋ฆฌํ•˜๊ณ  ํ™œ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์‹œ์Šคํ…œ ํ•„์š”

3. ์œ ์‚ฌ ์„œ๋น„์Šค์™€ ์ฐจ๋ณ„์ 

ํ•ญ๋ชฉ
ON:DAM

๋งˆ์Œ์ฃผ์˜ Hub

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

4. ON:DAM์˜ ์ฐจ๋ณ„ํ™” ํฌ์ธํŠธ

  • AI ์ƒ๋‹ด ์š”์•ฝ ๋ฐ ๊ฐ์ • ๋ถ„์„
    ์ƒ๋‹ด ๋‚ด์šฉ์„ AI๊ฐ€ ์ž๋™์œผ๋กœ ์š”์•ฝํ•˜๊ณ  ๊ฐ์ •์„ ๋ถ„์„ํ•ด ๋‚ด๋‹ด์ž์˜ ๊ฐ์ • ํ๋ฆ„์„ ์‹œ๊ฐํ™”ํ•˜๋ฉฐ, ๋ฆฌํฌํŠธ๋กœ ์ œ๊ณตํ•ด ์ƒ๋‹ด์‚ฌ์˜ ์ดํ•ด์™€ ์ƒ๋‹ด ์ค€๋น„๋ฅผ ์ง€์›

  • ์ •์„œ์  ๊ต๋ฅ˜๋ฅผ ์œ„ํ•œ ๋žœ๋ค ์ผ๊ธฐ
    ์ƒ๋‹ด์‚ฌ ๊ฐ„ ์ต๋ช… ์ผ๊ธฐ๋ฅผ ํ†ตํ•ด ์„œ๋กœ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ๊ต๋ฅ˜ํ•˜๊ณ  ์ •์„œ์  ์ง€์ง€๋ฅผ ์ฃผ๊ณ ๋ฐ›์„ ์ˆ˜ ์žˆ๋Š” ๊ธฐ๋Šฅ ์ œ๊ณต

  • ์ธ์ฆ๋œ ์ƒ๋‹ด์‚ฌ๋งŒ ์‚ฌ์šฉ ๊ฐ€๋Šฅ
    ์ž๊ฒฉ์ฆ ํ™•์ธ ์ ˆ์ฐจ๋ฅผ ํ†ตํ•ด ๊ฒ€์ฆ๋œ ์ƒ๋‹ด์‚ฌ๋งŒ ํ”Œ๋žซํผ์„ ์ด์šฉ ๊ฐ€๋Šฅ

5. ๊ธฐ๋Œ€ ํšจ๊ณผ

  • ์ƒ๋‹ด์‚ฌ์˜ ์—…๋ฌด ํšจ์œจํ™” ๋ฐ ์ƒ๋‹ด ํ’ˆ์งˆ ํ–ฅ์ƒ
  • ๋‚ด๋‹ด์ž์˜ ์ƒ๋‹ด ๋ฐ์ดํ„ฐ ๊ธฐ๋ฐ˜ ๋งž์ถคํ˜• ์ƒ๋‹ด ๊ฐ€๋Šฅ
  • ์ƒ๋‹ด์‚ฌ ๊ฐ„ ๊ต๋ฅ˜๋ฅผ ํ†ตํ•œ ์†Œ์ง„ ๋ฐฉ์ง€ ๋ฐ ๋™๋ฃŒ ์ง€์› ๊ฐ•ํ™”
  • ์ƒ๋‹ด ๋ฐ์ดํ„ฐ ์ž์‚ฐํ™”๋ฅผ ํ†ตํ•œ ์„œ๋น„์Šค ๊ณ ๋„ํ™” ๊ธฐ๋ฐ˜ ๋งˆ๋ จ



๐Ÿ› ๏ธ๊ธฐ์ˆ  ์Šคํƒ

FrontEnd

Vue JavaScript HTML CSS JSON Server

BackEnd

Java SpringBoot

DataBase

MariaDB

Tool

GitHub Visual Studio Code Figma Docker



๐Ÿช„ ์‹œ์Šคํ…œ ์•„ํ‚คํ…์ฒ˜



๐Ÿ’ก ์ฃผ์š” ๊ธฐ๋Šฅ

1. ์ƒ๋‹ด ๊ธฐ๋ก ๋ณด์กฐ

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

2. AI ์ƒ๋‹ด ์š”์•ฝ ๋ฐ ๊ฐ์ • ๋ถ„์„

  • ์ €์žฅ๋œ ์ƒ๋‹ด ๊ธฐ๋ก์„ AI๊ฐ€ ์ž๋™์œผ๋กœ ์š”์•ฝํ•ฉ๋‹ˆ๋‹ค.
  • AI๋Š” ์ƒ๋‹ด ๋‚ด์šฉ์„ ๋ฐ”ํƒ•์œผ๋กœ ๊ฐ์ • ํ‚ค์›Œ๋“œ๋ฅผ ์ถ”์ถœํ•˜๊ณ  ๊ฐ์ •์„ ๋ถ„์„ํ•ฉ๋‹ˆ๋‹ค.
  • ๋ถ„์„ ๊ฒฐ๊ณผ๋Š” ์‹œ๊ฐํ™”๋˜์–ด ๋‚ด๋‹ด์ž์˜ ๊ฐ์ • ํ๋ฆ„์„ ํ•œ๋ˆˆ์— ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ๋„๋ก ์ง€์›ํ•ฉ๋‹ˆ๋‹ค.

3. ๊ฐ์ • ํ๋ฆ„ ์‹œ๊ฐํ™”

  • AI๊ฐ€ ๋ถ„์„ํ•œ ๊ฐ์ • ๋ฐ์ดํ„ฐ๋ฅผ ์ฐจํŠธ ํ˜•ํƒœ๋กœ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.
  • ์ƒ๋‹ด์‚ฌ๋Š” ๋‚ด๋‹ด์ž์˜ ์ƒ๋‹ด ๊ณผ์ • ์ค‘ ๊ฐ์ • ๋ณ€ํ™”๋ฅผ ์‰ฝ๊ฒŒ ํŒŒ์•…ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ์ƒ๋‹ด์˜ ๋ฐฉํ–ฅ์„ฑ์„ ์„ค์ •ํ•˜๊ณ  ๋ณด๋‹ค ํšจ๊ณผ์ ์ธ ์ƒ๋‹ด์„ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. ๋žœ๋ค ์ผ๊ธฐ

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

5. ์ธ์ฆ๋œ ์ƒ๋‹ด์‚ฌ ์ „์šฉ

  • ON:DAM์€ ์ธ์ฆ๋œ ์ƒ๋‹ด์‚ฌ๋งŒ ์‚ฌ์šฉํ•  ์ˆ˜ ์žˆ๋Š” ์ „์šฉ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.
  • ์ž๊ฒฉ์ฆ ํ™•์ธ ์ ˆ์ฐจ๋ฅผ ํ†ตํ•ด ์ „๋ฌธ์„ฑ์„ ๊ฒ€์ฆํ•ฉ๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ์•ˆ์ „ํ•˜๊ณ  ์‹ ๋ขฐํ•  ์ˆ˜ ์žˆ๋Š” ์ƒ๋‹ด ํ™˜๊ฒฝ์„ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.



๐Ÿ™†โ€โ™€๏ธ ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ

๐Ÿ”— ์š”๊ตฌ์‚ฌํ•ญ ๋ช…์„ธ์„œ ์ž์„ธํžˆ ๋ณด๊ธฐ



๐Ÿ“… WBS

๐Ÿ”— WBS ์ž์„ธํžˆ ๋ณด๊ธฐ



๐Ÿ’ญ DDD ์„ค๊ณ„

DDD 1์ฐจ
DDD 2์ฐจ
DDD 3์ฐจ
DDD 4์ฐจ
Context Mapping



๐Ÿ—ƒ๏ธ DB ๋ชจ๋ธ๋ง

๋…ผ๋ฆฌ ๋ชจ๋ธ๋ง

๋ฌผ๋ฆฌ ๋ชจ๋ธ๋ง



๐Ÿ–ผ๏ธ ํ™”๋ฉด ์„ค๊ณ„

์™€์ด์–ด ํ”„๋ ˆ์ž„

UI ์„ค๊ณ„

0. Main

๋ฉ”์ธ ํ™”๋ฉด

1. Member

๋กœ๊ทธ์ธ / ํšŒ์›๊ฐ€์ž…
๊ด€๋ฆฌ์ž ํ”„๋กœํ•„ / ํšŒ์› ๊ด€๋ฆฌ
ํšŒ์› ํ”„๋กœํ•„

2. Counselee

๋‚ด๋‹ด์ž ๋“ฑ๋ก
๋‚ด๋‹ด์ž๋ณ„ ์ƒ๋‹ด ์ผ์ง€ ์กฐํšŒ

3. Counsel

์ƒ๋‹ด ์ผ์ง€ ์ž‘์„ฑ
์ƒ๋‹ด ์ผ์ง€ ์ž‘์„ฑ ์ทจ์†Œ

4. Analysis

์ƒ๋‹ด ์ผ์ง€ ์ƒ์„ธ ํ™•์ธ

5. Diary

๋‚ด ์ผ๊ธฐ ๋ชฉ๋ก
๋‚ด ์ผ๊ธฐ ์กฐํšŒ
๋ฐ›์€ ๋‹ต์žฅ ์กฐํšŒ
์ผ๊ธฐ ์ž‘์„ฑ์ฐฝ
๋‚ด๊ฐ€ ๋ฐ›์€ ์˜ค๋Š˜์˜ ์ผ๊ธฐ ๋ชฉ๋ก
์˜ค๋Š˜์˜ ์ผ๊ธฐ

6. Reply

๋‹ต์žฅ ์ž‘์„ฑ์ฐฝ
๋‚ด๊ฐ€ ๋ณด๋‚ธ ๋‹ต์žฅ ๋ชฉ๋ก
๋‚ด๊ฐ€ ๋ณด๋‚ธ ๋‹ต์žฅ

7. Report

์ผ๊ธฐ ์‹ ๊ณ 
์‹ ๊ณ ๋œ ์ผ๊ธฐ ์ฒ˜๋ฆฌ
๋‹ต์žฅ ์‹ ๊ณ 
์‹ ๊ณ ๋œ ๋‹ต์žฅ ์ฒ˜๋ฆฌ



๐Ÿ“‘ API ๋ช…์„ธ์„œ

1. Member

์ „์ฒด ํšŒ์› ์กฐํšŒ
id๋กœ ํšŒ์› ์กฐํšŒ
id ์ฐพ๊ธฐ
๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
๋กœ๊ทธ์ธ
๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ
ํšŒ์› ํƒˆํ‡ด

2. Counselee

id๋กœ ๋‚ด๋‹ด์ž ์กฐํšŒ
์ƒ๋‹ด์žid๋กœ ๋‚ด๋‹ด์ž ์กฐํšŒ
๋‚ด๋‹ด์ž ์ƒ์„ฑ
๋‚ด๋‹ด์ž ์‚ญ์ œ
๋‚ด๋‹ด์ž ์ด๋ฆ„ ๊ฒ€์ƒ‰
์ƒ๋‹ด์žid๋กœ ๋‚ด๋‹ด์ž ์ˆ˜ ์กฐํšŒ
์ƒ๋‹ด์žid๋กœ ํ™œ์„ฑํ™” ๋‚ด๋‹ด์ž ์กฐํšŒ

3. Counsel

์ƒ๋‹ด์‚ฌid๋กœ ์ƒ๋‹ด ๊ธฐ๋ก ์กฐํšŒ
๋‚ด๋‹ด์žid๋กœ ์ƒ๋‹ด ๊ธฐ๋ก ์กฐํšŒ
์ƒ๋‹ด ๊ธฐ๋ก ์ƒ์„ธ ์กฐํšŒ
๊ธฐ๊ฐ„๋ณ„ ์ƒ๋‹ด ๊ธฐ๋ก ์กฐํšŒ
์˜ˆ์ •๋œ ์ƒ๋‹ด ๊ธฐ๋ก ์กฐํšŒ
์ƒ๋‹ด ์ƒ์„ฑ
์ƒ๋‹ด ์ˆ˜์ •
๋‹ค์Œ ์ƒ๋‹ด ์ผ์‹œ ๋“ฑ๋ก
์ƒ๋‹ด ์‚ญ์ œ

4. Analysis

ChatGPT ๋ถ„์„
์ƒ๋‹ดid๋กœ ๋ถ„์„ ์กฐํšŒ

4-1. Emotion

๊ฐ์ • ๋“ฑ๋ก
๊ฐ์ • ์ˆ˜์ •
๊ฐ์ • ์‚ญ์ œ

4-2. Emotion Category

๊ฐ์ • ์นดํ…Œ๊ณ ๋ฆฌ ๋“ฑ๋ก
๊ฐ์ • ์นดํ…Œ๊ณ ๋ฆฌ ์ˆ˜์ •
๊ฐ์ • ์นดํ…Œ๊ณ ๋ฆฌ ์‚ญ์ œ

5. Diary

์ „์ฒด ์ผ๊ธฐ ์กฐํšŒ
์ผ๊ธฐid๋กœ ์ผ๊ธฐ ์กฐํšŒ
์ž‘์„ฑ์žid๋กœ ์ผ๊ธฐ ์กฐํšŒ
์ผ๊ธฐ ์ž‘์„ฑ
์ผ๊ธฐ ์‚ญ์ œ

5-1. Diary Record

์ „์ฒด ์ผ๊ธฐ ๋ฐœ์†ก ๊ธฐ๋ก ์กฐํšŒ
id๋กœ ์ผ๊ธฐ ๋ฐœ์†ก ๊ธฐ๋ก ์กฐํšŒ
์ผ๊ธฐid๋กœ ์ผ๊ธฐ ๋ฐœ์†ก ๊ธฐ๋ก ์กฐํšŒ
์ˆ˜์‹ ์ž๋กœ ์ผ๊ธฐ ๋ฐœ์†ก ๊ธฐ๋ก ์กฐํšŒ
์ผ๊ธฐid, ์ˆ˜์‹ ์žid๋กœ ์ผ๊ธฐ ๋ฐœ์†ก ๊ธฐ๋ก ์กฐํšŒ
์ผ๊ธฐ ๋ฐœ์†ก

6. Reply

๋‹ต์žฅ ์ „์ฒด ์กฐํšŒ
id๋กœ ๋‹ต์žฅ ์กฐํšŒ
์ผ๊ธฐid๋กœ ๋‹ต์žฅ ์กฐํšŒ
์ž‘์„ฑ์žid๋กœ ๋‹ต์žฅ ์กฐํšŒ
๋‹ต์žฅ ์ž‘์„ฑ
๋‹ต์žฅ ์‚ญ์ œ

7. Report

์‹ ๊ณ  ์ „์ฒด ์กฐํšŒ
์‹ ๊ณ  ์ƒ์„ธ ์กฐํšŒ
์‹ ๊ณ  ์ปจํ…์ธ  ์กฐํšŒ
์‹ ๊ณ  ์นดํ…Œ๊ณ ๋ฆฌ ์ „์ฒด ์กฐํšŒ
์ผ๊ธฐ ์‹ ๊ณ  ๋“ฑ๋ก
๋‹ต์žฅ ์‹ ๊ณ  ๋“ฑ๋ก
์‹ ๊ณ  ์ฒ˜๋ฆฌ ์ƒํƒœ ๋ณ€๊ฒฝ
์‹ ๊ณ  ์Šน์ธ๋œ ์ผ๊ธฐ/๋‹ต์žฅ ๋ธ”๋ผ์ธ๋“œ ์ฒ˜๋ฆฌ
์‹ ๊ณ  ์‚ญ์ œ
์‹ ๊ณ  ์นดํ…Œ๊ณ ๋ฆฌ ๋“ฑ๋ก
์‹ ๊ณ  ์นดํ…Œ๊ณ ๋ฆฌ ์ˆ˜์ •
์‹ ๊ณ  ์นดํ…Œ๊ณ ๋ฆฌ ์‚ญ์ œ



๐Ÿšฉ ๋‹จ์œ„ ํ…Œ์ŠคํŠธ

Details

1. Member

Summary
Member Command Test
Member Query Test

2. Counselee

3. Counsel

4. Analysis

Summary
Analysis Command Test
Analysis Query Test
Emotion Category Command Test
Emotion Category Command Test

5. Diary

Summary
Diary Command Test
Diary Query Test

6. Diary Record

Summary
Diary Record Command Test
Diary Record Query Test

7. Reply

Summary
Reply Command Test
Reply Query Test

8. Report

Summary
Report Category Command Test
Report Command Test
Report Query Test



โœ๐Ÿป API TEST

1. Member

ํšŒ์›๊ฐ€์ž…
์ด๋ฉ”์ผ ์ฐพ๊ธฐ
๋น„๋ฐ€๋ฒˆํ˜ธ ์ฐพ๊ธฐ
๋กœ๊ทธ์ธ
ํšŒ์› ๋น„๋ฐ€๋ฒˆํ˜ธ ๋ณ€๊ฒฝ
ํšŒ์› ํƒˆํ‡ด
๊ด€๋ฆฌ์ž ํ”„๋กœํ•„
ํšŒ์› ์ƒ์„ธ ์ •๋ณด
ํšŒ์› ๊ถŒํ•œ ๋ณ€๊ฒฝ

2. Counselee

๋‚ด๋‹ด์ž ๋ชฉ๋ก ์กฐํšŒ
๋‚ด๋‹ด์ž ๋“ฑ๋ก
๋‚ด๋‹ด์ž ๋“ฑ๋ก ์‹œ ํ•„์ˆ˜ ์ •๋ณด ๊ด€๋ จ ๋ชจ๋‹ฌ
๋‚ด๋‹ด์ž ๋“ฑ๋ก ์ทจ์†Œ

3. Counsel

๋‚ด๋‹ด์ž๋ณ„ ์ƒ๋‹ด ์ผ์ง€ ์กฐํšŒ
์ƒ๋‹ด ์ผ์ง€ ์ž‘์„ฑ
์ƒ๋‹ด ์ผ์ง€ ์ž‘์„ฑ ์ทจ์†Œ

4. Analysis

์ƒ๋‹ด ์ผ์ง€ ์ƒ์„ธ ํ™•์ธ

5. Diary

์ผ๊ธฐ ์กฐํšŒ
์ผ๊ธฐ ์ž‘์„ฑ
์ผ๊ธฐ ์‚ญ์ œ

6. Reply

๋‹ต์žฅ ์กฐํšŒ
๋‹ต์žฅ ์ž‘์„ฑ
๋‹ต์žฅ ์‚ญ์ œ

7. Report

๋ฐ›์€ ์ผ๊ธฐ ์‹ ๊ณ 
์‹ ๊ณ  ๋ชฉ๋ก ์กฐํšŒ
์‹ ๊ณ  ์ƒ์„ธ ์กฐํšŒ
์‹ ๊ณ  ๋Œ€์ƒ ์ฝ˜ํ…์ธ  ์กฐํšŒ
์‹ ๊ณ  ์ฒ˜๋ฆฌ์ƒํƒœ ์ˆ˜์ •
์‹ ๊ณ  ์Šน์ธ๋œ ์ผ๊ธฐ ๋ธ”๋ผ์ธ๋“œ ์ฒ˜๋ฆฌ
๋ฐ›์€ ๋‹ต์žฅ ์‹ ๊ณ 
์‹ ๊ณ  ์Šน์ธ๋œ ๋‹ต์žฅ ๋ธ”๋ผ์ธ๋“œ ์ฒ˜๋ฆฌ



๐Ÿ›œ ๋ฐฐํฌ

๐ŸŒ Ingress ์„ค์ • (ondam-ingress)
apiVersion: networking.k8s.io/v1
kind: Ingress
metadata:
  name: ondam-ingress
  namespace: ondam
  annotations:
    nginx.ingress.kubernetes.io/ssl-redirect: "false"
spec:
  ingressClassName: nginx
  rules:
    - http:
        paths:
          - path: /api
            pathType: Prefix
            backend:
              service:
                name: ondam-back-ser
                port:
                  number: 8080
          - path: /
            pathType: Prefix
            backend:
              service:
                name: ondam-front-ser
                port:
                  number: 80
๐Ÿš€ Backend Deployment (ondam-back-dep)
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ondam-back-dep
  namespace: ondam
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ondam-backend
  template:
    metadata:
      labels:
        app: ondam-backend
    spec:
      containers:
        - name: ondam-backend
          image: morris235/ondam-backend:latest
          imagePullPolicy: Always
          ports:
            - containerPort: 8080
๐Ÿ”ง Backend Service (ondam-back-ser)
apiVersion: v1
kind: Service
metadata:
  name: ondam-back-ser
  namespace: ondam
spec:
  type: NodePort
  selector:
    app: ondam-backend
  ports:
    - protocol: TCP
      port: 8080
      targetPort: 8080
      nodePort: 30083
๐Ÿš€ Frontend Deployment (ondam-front-dep)
apiVersion: apps/v1
kind: Deployment
metadata:
  name: ondam-front-dep
  namespace: ondam
spec:
  replicas: 1
  selector:
    matchLabels:
      app: ondam-frontend
  template:
    metadata:
      labels:
        app: ondam-frontend
    spec:
      containers:
        - name: ondam-frontend
          image: morris235/ondam-frontend:latest
          imagePullPolicy: Always
          ports:
            - containerPort: 80
๐Ÿ”ง Frontend Service (ondam-front-ser)
apiVersion: v1
kind: Service
metadata:
  name: ondam-front-ser
  namespace: ondam
spec:
  selector:
    app: ondam-frontend
  type: NodePort
  ports:
    - port: 80
      targetPort: 80
      nodePort: 30080

๐Ÿงฉ CI/CD ๊ตฌ์„ฑ ๊ฐœ์š”
  • ๋ฉ€ํ‹ฐ ๋ ˆํฌ ๊ตฌ์„ฑ: frontend/, backend/๋ฅผ Git Submodule๋กœ ๊ด€๋ฆฌ
  • CI (Jenkins): ๋ณ€๊ฒฝ๋œ ์„œ๋น„์Šค๋งŒ ๋นŒ๋“œ ๋ฐ Docker Hub์— ์ด๋ฏธ์ง€ ํ‘ธ์‹œ
  • CD (Argo CD): Git ์ƒํƒœ์™€ Kubernetes ํด๋Ÿฌ์Šคํ„ฐ ์ž๋™ ๋™๊ธฐํ™”
  • Docker: Apple Silicon ๋Œ€์‘ multi-arch ์ด๋ฏธ์ง€ ๋นŒ๋“œ
  • Kubernetes: ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๋ฅผ ์œ„ํ•œ rollout restart ์ „๋žต ์ ์šฉ
๐Ÿ›Ž๏ธ ์ดˆ๊ธฐ ์ˆ˜๋™ ๋ฐฐํฌ โ†’ Jenkins ์ž๋™ํ™” ์ „ํ™˜

โœด๏ธ ์ˆ˜๋™ ๋ฐฐํฌ ๋‹น์‹œ

  • build-*.sh, deploy-*.sh ์™€ ๊ฐ™์€ ์Šคํฌ๋ฆฝํŠธ๋ฅผ ์ง์ ‘ ๋งŒ๋“ค์–ด ์‹คํ–‰
  • ๋ฐ˜๋ณต ์ž‘์—…๊ณผ ์‹ค์ˆ˜ ๋ฐœ์ƒ ํ™•๋ฅ  ์ค„์ž„
  • ๋ช…๋ น์–ด ๋ฌธ์„œํ™” ํšจ๊ณผ๋กœ ์ถ”ํ›„ ๋ฆฌ๋งˆ์ธ๋“œ ๊ฐ€๋Šฅ

โœ… Jenkins ๋„์ž… ํ›„

  • Webhook ๊ธฐ๋ฐ˜ ์ž๋™ ํŠธ๋ฆฌ๊ฑฐ
  • ๋ณ€๊ฒฝ๋œ ์„œ๋น„์Šค๋งŒ ์„ ํƒ์ ์œผ๋กœ ๋นŒ๋“œ/๋ฐฐํฌ
  • ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ (rollout restart) ์ง€์›
  • .yml ์ˆ˜์ •๊นŒ์ง€ ํฌํ•จํ•˜์—ฌ Argo CD์— ๋ฐ˜์˜ ๊ฐ€๋Šฅ
โš™๏ธ Jenkins + Argo CD ํŒŒ์ดํ”„๋ผ์ธ ํ๋ฆ„

โœ… Jenkins (CI)

  • GitHub Webhook ๊ธฐ๋ฐ˜ ํŠธ๋ฆฌ๊ฑฐ (main ๋ธŒ๋ Œ์น˜)
  • ํ•˜๋‚˜์˜ webhook ์‹ ํ˜ธ๋กœ ์„œ๋ธŒ๋ชจ๋“ˆ๋ณ„ ๋ณ€๊ฒฝ ๊ฐ์ง€ โ†’ ํ”„๋ก ํŠธ์™€ ๋ฐฑ์—”๋“œ ๊ฐ๊ฐ ๋ฐฐํฌ
  • Docker ์ด๋ฏธ์ง€ ๋นŒ๋“œ ๋ฐ Push
  • k8s/*.yml ์ด๋ฏธ์ง€ ํƒœ๊ทธ ์—…๋ฐ์ดํŠธ ํ›„ Git push ondam-jenkins

โœ… Argo CD (CD)

  • Git ์ƒํƒœ ๊ฐ์ง€ โ†’ ํด๋Ÿฌ์Šคํ„ฐ ์ƒํƒœ ์ž๋™ ๋™๊ธฐํ™”
  • UI๋กœ ๋ฐฐํฌ ์ƒํƒœ ๋ชจ๋‹ˆํ„ฐ๋ง ๋ฐ ๋กค๋ฐฑ ์ง€์›
argocd-sync argocd-status2-1 argocd-status2-2
๐Ÿงฑ ๋ฉ€ํ‹ฐ๋ ˆํฌ ๊ตฌ์„ฑ์˜ ์žฅ๋‹จ์ 

์žฅ์ 

  • ๋…๋ฆฝ์ ์ธ ๋นŒ๋“œ ๋ฐ ๋ฐฐํฌ ๊ฐ€๋Šฅ

    • ํ”„๋ก ํŠธ ๋ณ€๊ฒฝ ์‹œ โ†’ frontend๋งŒ ๋นŒ๋“œ/๋ฐฐํฌ
    • ๋ฐฑ์—”๋“œ ๋ณ€๊ฒฝ ์‹œ โ†’ backend๋งŒ ๋นŒ๋“œ/๋ฐฐํฌ
    • Jenkins๋Š” ๋ฉ”์ธ ๋ ˆํฌ ๊ธฐ์ค€์œผ๋กœ ํ•˜๋‚˜์˜ Webhook์„ ๋ฐ›์•„ git diff๋กœ ๋ณ€๊ฒฝ ๊ฐ์ง€ ํ›„ ํ•ด๋‹น ์„œ๋ธŒ๋ชจ๋“ˆ๋งŒ ๋นŒ๋“œ & ๋ฐฐํฌ
  • ํ˜‘์—… ํšจ์œจ ์ฆ๊ฐ€

    • ํŒ€์› ๊ฐ„ ์ฝ”๋“œ ์ถฉ๋Œ ์ตœ์†Œํ™”
    • ๊ฐœ๋ฐœ๊ณผ ๋ฐฐํฌ์ž‘์—…์„ ๋ณ‘๋ ฌ์ ์œผ๋กœ ์ฒ˜๋ฆฌ ๊ฐ€๋Šฅ

๋‹จ์ 

  • submodule ๋™๊ธฐํ™” ์ด์Šˆ

    • git submodule update, status, ์ปค๋ฐ‹ ๋ˆ„๋ฝ ๋“ฑ์˜ ์‹ค์ˆ˜ ๋ฐœ์ƒ ๊ฐ€๋Šฅ
    • ํ”„๋ก ํŠธ/๋ฐฑ์„ ์ˆ˜์ •ํ•œ ๋’ค ๋ฉ”์ธ ๋ ˆํฌ์—์„œ ์ปค๋ฐ‹ ํฌ์ธํ„ฐ๋ฅผ ๊ฐฑ์‹ ํ•ด์•ผ ํ•˜๋Š” ์ž‘์—… ์˜ค๋ฒ„ํ—ค๋“œ ๋ฐœ์ƒ
  • ๊ตฌ์กฐ์  ๋ฌธ์ œ

    • Github Actions๋“ฑ ๋‹ค๋ฅธ CI๋ฅผ ์“ฐ๊ธฐ ์–ด๋ ต๊ณ , Jenkins ์ค‘์‹ฌ ๊ตฌ์กฐ๊ฐ€ ๊ณ ์ฐฉ๋จ
    • submodule์ด ๋Š˜์–ด ๋‚ ์ˆ˜๋ก ์œ ์ง€๋ณด์ˆ˜๊ฐ€ ์–ด๋ ค์›Œ์ง (2~3๊ฐœ๊ฐ€ ํ•œ๊ณ„)
    • ํ•˜๋‚˜์˜ ํŒŒ์ดํ”„๋ผ์ธ์œผ๋กœ N๊ฐœ ์ด์ƒ์˜ ์„œ๋น„์Šค๋ฅผ ๋ฐฐํฌํ•˜๊ธฐ ๋•Œ๋ฌธ์— ๋ณต์žก์„ฑ์ด ์ฆ๊ฐ€ํ•˜๊ณ  ์ด๋ ฅ๊ด€๋ฆฌ๊ฐ€ ์–ด๋ ค์›€
๐Ÿš€ Argo CD๋ฅผ ํ†ตํ•œ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ
  • main ๋ธŒ๋žœ์น˜์˜ k8s/*.yml์ด ๋ณ€๊ฒฝ๋˜๋ฉด Argo CD๊ฐ€ ์ž๋™ ๊ฐ์ง€
  • kubectl rollout restart ๋ช…๋ น๊ณผ ํ•จ๊ป˜ ์‚ฌ์šฉํ•˜๋ฉด,
    Pod ๊ต์ฒด ๊ณผ์ •์—์„œ ๊ธฐ์กด ํŠธ๋ž˜ํ”ฝ์€ ์œ ์ง€๋˜๋ฏ€๋กœ ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ๊ฐ€ ๊ฐ€๋Šฅ
โœ… ์‹คํ–‰ ๊ฒฐ๊ณผ ์š”์•ฝ
  1. GitHub โ†’ main ๋ธŒ๋žœ์น˜์— push ๋ฐœ์ƒ
  2. Jenkins Webhook ํŠธ๋ฆฌ๊ฑฐ โ†’ ํŒŒ์ดํ”„๋ผ์ธ ์‹คํ–‰
  3. ๋ณ€๊ฒฝ๋œ ์„œ๋น„์Šค๋งŒ ๋นŒ๋“œ ๋ฐ Docker ์ด๋ฏธ์ง€ ์ƒ์„ฑ
  4. DockerHub ํ‘ธ์‹œ + k8s/*.yml ์ˆ˜์ • ๋ฐ Git push
  5. Argo CD๊ฐ€ ์ž๋™ ๊ฐ์ง€ โ†’ ํด๋Ÿฌ์Šคํ„ฐ ๋™๊ธฐํ™”
  6. frontend/back ๊ฐ๊ฐ์˜ ๋ณ€๊ฒฝ์— ๋Œ€ํ•ด ๋…๋ฆฝ์ , ๋ฌด์ค‘๋‹จ ๋ฐฐํฌ ์‹คํ–‰
๐ŸŒฟ ๋ธŒ๋žœ์น˜ ์ „๋žต ๋ฐ ๋ฐฐํฌ ํ๋ฆ„

๐Ÿ—‚ ๋ฐฐํฌ ๋ธŒ๋žœ์น˜ ๊ตฌ์กฐ

  • develop: ๊ธฐ๋Šฅ ๊ฐœ๋ฐœ ๋ฐ ํ†ตํ•ฉ ํ…Œ์ŠคํŠธ ์ง„ํ–‰
  • deploy/dev-snapshot: ๋ฐฐํฌ ์ง์ „ ๋‹จ๊ณ„์˜ ๊ฒ€์ฆ ๋ธŒ๋žœ์น˜

๐Ÿ”— ๋ฉ€ํ‹ฐ๋ ˆํฌ ์—ฐ๋™ ๋ฐฉ์‹

  • frontend/, backend/๋Š” ๊ฐ๊ฐ ๋ณ„๋„์˜ ๋…๋ฆฝ ๋ ˆํฌ๋กœ ์šด์˜๋จ
  • ๋ฉ”์ธ ๋ ˆํฌ์ธ be14-4th-piveguyz-ondam์—๋Š” ๋‘ ๋ ˆํฌ๊ฐ€ Git Submodule๋กœ ์—ฐ๊ฒฐ๋˜์–ด ์žˆ์Œ
  • ๋ธŒ๋žœ์น˜ ์ „๋žต์€ ์„œ๋ธŒ๋ชจ๋“ˆ์—์„œ๋„ ๋™์ผํ•˜๊ฒŒ ์ ์šฉ๋˜๋ฉฐ,
    • develop โ†’ deploy/dev-snapshot โ†’ ๋ฉ”์ธ ๋ ˆํฌ์˜ main ๋ธŒ๋ Œ์น˜์— ๋ฐ˜์˜ โ†’ jenkins, Argo CD ๋ฐฐํฌ ํ๋ฆ„์œผ๋กœ ์ด์–ด์ง

โœ… ํ๋ฆ„ ์š”์•ฝ

  1. ๊ธฐ๋Šฅ์€ ๊ฐ ์„œ๋น„์Šค ๋ ˆํฌ์˜ develop ๋ธŒ๋žœ์น˜์—์„œ ๊ฐœ๋ฐœ
  2. ๊ธฐ๋Šฅ ์™„๋ฃŒ ์‹œ deploy/dev-snapshot๋กœ ๋จธ์ง€ํ•˜์—ฌ ๋ฐฐํฌ ๋Œ€์ƒ ํ™•์ •
  3. ๋ฉ”์ธ ๋ ˆํฌ์ง€ํ† ๋ฆฌ์˜ Submodule์„ ์—…๋ฐ์ดํŠธํ•˜์—ฌ main ๋ธŒ๋žœ์น˜๋กœ ์ปค๋ฐ‹
  4. Jenkins โ†’ Argo CD๋กœ ์ด์–ด์ง€๋Š” ์ž๋™ํ™” ๋ฐฐํฌ ํŠธ๋ฆฌ๊ฑฐ



๐Ÿ”œ ํ–ฅํ›„ ํ™•์žฅ ๊ณ„ํš

1. ์‹ค์‹œ๊ฐ„ ์ƒ๋‹ด ๋ถ„์„

  • ์ƒ๋‹ด ์ค‘ AI์—๊ฒŒ ์ƒ๋‹ด ๋‚ด์šฉ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ์ „๋‹ฌํ•˜๊ณ  ์ฆ‰์‹œ ๊ฐ์ • ๋ถ„์„ ๊ฒฐ๊ณผ๋ฅผ ๋ฐ›์•„๋ณผ ์ˆ˜ ์žˆ๋„๋ก ๊ธฐ๋Šฅ์„ ํ™•์žฅํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ์ƒ๋‹ด์‚ฌ๋Š” ๋‚ด๋‹ด์ž์˜ ๊ฐ์ • ์ƒํƒœ๋ฅผ ์ƒ๋‹ด ์ค‘ ๋ฐ”๋กœ ํŒŒ์•…ํ•˜๊ณ  ํšจ๊ณผ์ ์ธ ๋Œ€์‘์ด ๊ฐ€๋Šฅํ•ด์ง‘๋‹ˆ๋‹ค.

2. STT (Speech to Text) ์—ฐ๋™

  • ์ƒ๋‹ด ๋‚ด์šฉ์„ ์Œ์„ฑ์œผ๋กœ ์ž…๋ ฅํ•˜๋ฉด ์ž๋™์œผ๋กœ ํ…์ŠคํŠธ๋กœ ๋ณ€ํ™˜ํ•˜๋Š” ๊ธฐ๋Šฅ์„ ๋„์ž…ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • ์ƒ๋‹ด์‚ฌ๊ฐ€ ๋ฉ”๋ชจ ์—†์ด ์ƒ๋‹ด์— ์ง‘์ค‘ํ•  ์ˆ˜ ์žˆ์œผ๋ฉฐ, ์ฒญ๊ฐ์žฅ์•  ์ƒ๋‹ด์‚ฌ๋„ ์‹ค์‹œ๊ฐ„ ์ƒ๋‹ด ๋‚ด์šฉ์„ ์‰ฝ๊ฒŒ ํ™•์ธํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

3. ์‚ฌ์ง„ ๊ธฐ๋ฐ˜ ์ƒ๋‹ด ๊ธฐ๋ก ์ •๋ฆฌ (OCR)

  • ์ƒ๋‹ด ์ค‘ ์ž‘์„ฑํ•œ ๋ฉ”๋ชจ๋‚˜ ๋…ธํŠธ๋ฅผ ์‚ฌ์ง„์œผ๋กœ ์—…๋กœ๋“œํ•˜๋ฉด
    AI๊ฐ€ ์ด๋ฏธ์ง€ ๋‚ด ํ…์ŠคํŠธ๋ฅผ ์ธ์‹ํ•˜์—ฌ ์ƒ๋‹ด ๊ธฐ๋ก์œผ๋กœ ์ž๋™ ์ •๋ฆฌํ•˜๋Š” ๊ธฐ๋Šฅ์„ ์ถ”๊ฐ€ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • ์ƒ๋‹ด์‚ฌ์˜ ๊ธฐ๋ก ๋ถ€๋‹ด์„ ๋”์šฑ ์ค„์—ฌ์ฃผ๊ณ  ๊ธฐ๋ก์˜ ์ผ๊ด€์„ฑ์„ ๋†’์ผ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

4. AI ๋ถ„์„ ๊ฒฐ๊ณผ ๊ณ ๋„ํ™” ๋ฐ ๋ฆฌํฌํŠธ ๊ฐ•ํ™”

  • ์ถ•์ ๋œ ์ƒ๋‹ด ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ”ํƒ•์œผ๋กœ ๋‚ด๋‹ด์ž๋ณ„ ๊ฐ์ • ๋ณ€ํ™” ํŒจํ„ด ๋ถ„์„๊ณผ ์ƒ๋‹ด ๋ฆฌํฌํŠธ ๊ธฐ๋Šฅ์„ ๊ฐ•ํ™”ํ•  ์˜ˆ์ •์ž…๋‹ˆ๋‹ค.
  • ์ด๋ฅผ ํ†ตํ•ด ์ƒ๋‹ด์‚ฌ๋Š” ๋” ์ •๊ตํ•˜๊ณ  ๋งž์ถคํ™”๋œ ์ƒ๋‹ด ์ „๋žต์„ ์ˆ˜๋ฆฝํ•  ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.

5. ์ƒ๋‹ด์‚ฌ ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ

  • ๋žœ๋ค ์ผ๊ธฐ๋ฅผ ๋„˜์–ด, ์ƒ๋‹ด์‚ฌ ๊ฐ„ ์˜๊ฒฌ ๊ตํ™˜๊ณผ ์ง€์‹์„ ๋‚˜๋ˆŒ ์ˆ˜ ์žˆ๋Š” ์ปค๋ฎค๋‹ˆํ‹ฐ ๊ธฐ๋Šฅ์„ ๋„์ž…ํ•  ๊ณ„ํš์ž…๋‹ˆ๋‹ค.
  • ์ƒํ˜ธ ์ง€์ง€๋ฅผ ํ†ตํ•ด ์ •์„œ์  ์•ˆ์ •๊ณผ ์ „๋ฌธ์„ฑ ํ–ฅ์ƒ์„ ๋„์šธ ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค.



๐Ÿฆ„ ํ”„๋กœ์ ํŠธ ์†Œ๊ฐ

์ด๋ฒˆ ํ”„๋กœ์ ํŠธ์—์„œ ๋งก์€ ์—ญํ• 

  • ํ”„๋ก ํŠธ์—”๋“œ ๊ตฌํ˜„
    • ํ”ผ๊ทธ๋งˆ๋ฅผ ํ™œ์šฉํ•ด UI/UX ๊ธฐํš ๋ฐ ์„ค๊ณ„
    • ์ƒ๋‹ด ์ผ์ง€ ํŽ˜์ด์ง€, ๋ฉ”์ธ ํŽ˜์ด์ง€, ์˜ˆ์™ธ ํŽ˜์ด์ง€ ๋“ฑ ๊ตฌํ˜„
  • ๋ฐฑ์—”๋“œ ๊ตฌํ˜„
    • GPT API๋ฅผ ์—ฐ๋™ํ•ด ์ƒ๋‹ด ๋ถ„์„ ๋กœ์ง ๊ตฌํ˜„
    • GPT ์‘๋‹ต ๋ฐ์ดํ„ฐ ํŒŒ์‹ฑ ๋ฐ ๋ฐ์ดํ„ฐ ์ €์žฅ
    • ๊ฐ์ • ๊ด€๋ จ ์ •๋ณด ์ €์žฅ ๋ฐ ์ˆ˜์ •, ์‚ญ์ œ ๊ตฌํ˜„

์ž˜ํ•œ ์ 

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

์•„์‰ฌ์šด ์ 

  • ๊ธฐ๋Šฅ์„ ๊ฐœ๋ฐœํ•  ๋•Œ ์‚ฌ์ „์— ์„ค๊ณ„ํ•˜์ง€ ์•Š๊ณ  ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•ด ๊ธฐ๋Šฅ์„ ์™„์„ฑํ–ˆ์Œ์—๋„ ์ฝ”๋“œ๋ฅผ ๋ฆฌํŒฉํ† ๋งํ•˜๋Š” ์ผ์ด ์žฆ์•˜์Œ
  • ํŒ€์›๋“ค๋ผ๋ฆฌ ์ž‘์—… ์ค‘์ธ ์‚ฌํ•ญ์„ ์‹ค์‹œ๊ฐ„์œผ๋กœ ๊ณต์œ ํ•˜์ง€ ๋ชปํ•œ ๊ฒƒ์ด ์•„์‰ฌ์› ์Œ
  • ISSUE๋ฅผ ๊ผผ๊ผผํ•˜๊ฒŒ ์ž‘์„ฑํ•˜์ง€ ๋ชปํ•œ ์ ์ด ์•„์‰ฌ์› ์Œ

๋ฐฐ์šด ์ 

  • ๊ธ‰ํ•˜๊ฒŒ ๊ฐœ๋ฐœ์„ ์ง„ํ–‰ํ•˜๋Š” ๊ฒƒ๋ณด๋‹ค ๊ธฐํš๊ณผ ์„ค๊ณ„๋ฅผ ๊ผผ๊ผผํ•˜๊ฒŒ ์ˆ˜ํ–‰ํ•˜๋Š” ๊ฒƒ์ด ์ค‘์š”ํ•จ์„ ๋ฐฐ์› ์Œ
  • API๋ฅผ ํ™œ์šฉํ•˜๋ฉด์„œ ๋น„๋™๊ธฐ ์ฒ˜๋ฆฌ์™€ ์บ์‹ฑ์˜ ์ค‘์š”์„ฑ์— ๋Œ€ํ•ด ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Œ
  • yml ํŒŒ์ผ๋กœ ๊ด€๋ฆฌํ•  ๋ฐ์ดํ„ฐ์™€ ํ•ด๋‹น ๋ฐ์ดํ„ฐ๋ฅผ ์‚ฌ์šฉํ•˜๋Š” ๋ฐฉ๋ฒ•์— ๋Œ€ํ•ด ๋ฐฐ์šธ ์ˆ˜ ์žˆ์—ˆ์Œ

๋‹ค์Œ ํ”„๋กœ์ ํŠธ์— ์ ์šฉํ•˜๊ณ  ์‹ถ์€ ์ 

  • 'Jira'๋‚˜ 'Trello'๋ฅผ ์‚ฌ์šฉํ•œ ์ผ์ • ๊ด€๋ฆฌ
  • ์ „์ฒด ์ž‘์—… ๋ชฉ๋ก์„ ๊ณต์œ ํ•˜๊ณ  ์ค‘์š”๋„๋ฅผ ์„ค์ •ํ•œ ํ›„์— ํ”„๋กœ์ ํŠธ ์ง„ํ–‰
  • ํ˜‘์—…์„ ์œ„ํ•œ PR ์ „๋žต ์ˆ˜๋ฆฝ
  • ์œ ์ง€ ๋ณด์ˆ˜์„ฑ๊ณผ ๊ฐ€๋…์„ฑ์„ ๊ณ ๋ คํ•œ ์ฝ”๋“œ ๊ตฌํ˜„

About

๐ŸฆŠ ๊ณฝ์šฐ์„ ๐Ÿฟ๏ธ๊น€์„ํฌ ๐Ÿง์„œ๋ฏผ์ข… ๐Ÿฑ์ด์ƒ๋ชจ ๐Ÿถ์ตœํ˜œ๋ฏผ

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%