Skip to content

eye-I-shopping/eye-I-Shopping

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

49 Commits
ย 
ย 
ย 
ย 

Repository files navigation

๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ChatGPT๋ฅผ ํ™œ์šฉํ•œ ์‹œ๊ฐ์žฅ์• ์ธ ๋งž์ถคํ˜• ๊ตฌ๋งค ์†”๋ฃจ์…˜



์•„์ด์‡ผํ•‘ ์†Œ๊ฐœ์˜์ƒ


๐Ÿ† ์ˆ˜์ƒ ๋ฐ ์„ฑ๊ณผ

2023 ๊ตญ๋ฏผํ–‰๋ณต ์„œ๋น„์Šค ๋ฐœ๊ตดยท์ฐฝ์—… ๊ฒฝ์ง„๋Œ€ํšŒ ๋Œ€์ƒ ์ˆ˜์ƒ (๋ณด๊ฑด๋ณต์ง€๋ถ€ ์žฅ๊ด€์ƒ)


๋ชฉ์ฐจ Index

1. ๊ฐœ์š” Overview

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

eye(I) ์‡ผํ•‘์€ ์‹œ๊ฐ์žฅ์• ์ธ๋“ค์ด ์Šค์Šค๋กœ ์ œํ’ˆ์„ ํŒ๋ณ„ํ•˜๊ณ  ๊ตฌ๋งคํ•˜๋Š” ๊ณผ์ •์—์„œ ๊ฒช๋Š” ์ •๋ณด ์ ‘๊ทผ์„ฑ ๋ฌธ์ œ๋ฅผ ๋จธ์‹ ๋Ÿฌ๋‹์„ ํ†ตํ•œ ์‚ฌ์ง„์ธ์‹ ๊ธฐ์ˆ ๊ณผ ChatGPT๋ฅผ ํ™œ์šฉํ•œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๊ธฐ์ˆ ์„ ์œต๋ณตํ•ฉํ•˜์—ฌ ๋งž์ถคํ˜• ์ •๋ณด๋ฅผ ์ œ๊ณตํ•ฉ๋‹ˆ๋‹ค.

๊ธฐํš ๋ฐฐ๊ฒฝ

  1. ์‹œ๊ฐ์žฅ์• ์ธ์˜ ์„ ํƒ์  ๊ตฌ๋งค ์š•๊ตฌ์™€ ์‚ฌ์šฉ์„ฑ์„ ์ถฉ์กฑ์‹œํ‚ค๋Š” ๊ฐœ์ธํ™” ์„œ๋น„์Šค ๋ถ€์žฌ
  2. ์‹œ๊ฐ์žฅ์• ์ธ์„ ๋•๊ธฐ ์œ„ํ•œ ์„œ๋น„์Šค๋“ค์ด ์กด์žฌํ•˜๊ธด ํ•˜๋‚˜, ์‚ฌ์šฉ์„ฑ์ด ๋ฏธํกํ•จ
  3. ์ ์ž๋Š” ์‹œ๊ฐ์žฅ์• ์ธ์˜ ๊ธฐํ˜ธ๋ฅผ ๋ฌด์‹œํ•˜๊ณ  ์ œํ’ˆ๊ตฐ๋งŒ ํ‘œ์‹œํ•˜๋Š” ๊ฒฝ์šฐ๊ฐ€ ๋งŽ์œผ๋ฉฐ, ๋•Œ๋กœ๋Š” ์ „ํ˜€ ํ‘œ์‹œํ•˜์ง€ ์•Š๋Š” ๊ฒฝ์šฐ๋„ ๋นˆ๋ฒˆํ•จ

์‹œ์žฅ ์กฐ์‚ฌ

์‹œ๊ฐ ์žฅ์• ์ธ์„ ์ฃผ์š” ๊ณ ๊ฐ์ธต์œผ๋กœ ํ•œ ์‹œ์žฅ์˜ ๊ทœ๋ชจ๋Š” ์ „ ์„ธ๊ณ„ 3์–ต๋ช… ๊ตญ๋‚ด 26๋งŒ๋ช…์ด๋ฉฐ
์ด๋“ค์˜ ๋ณด์กฐ๊ธฐ๊ธฐ ์‹œ์žฅ ๊ทœ๋ชจ๋Š” 17์กฐ์›์ด๋ฉฐ, ๊ตญ๋‚ด ์‹œ๊ฐ ์žฅ์• ์ธ ์ด๋™ํ†ต์‹ ๋‹จ๋ง๊ธฐ ์‹œ์žฅ์€ 500์–ต ๊ทœ๋ชจ์ž…๋‹ˆ๋‹ค.


์„œ๋น„์Šค ํ™œ์šฉ ์‹œ๋‚˜๋ฆฌ์˜ค



์‹œ์Šคํ…œ ์•„ํ‚คํ…์ณ



2. ์œ ์ € ํ…Œ์ŠคํŠธ

ํ…Œ์ŠคํŠธ

2023.06.01
๊ฒฝ๊ธฐ๋„ OO๊ณ ๋“ฑํ•™๊ต ํ†ตํ•ฉ๊ต์œก๋ฐ˜ ๊น€O์ˆ˜ ์„ ์ƒ๋‹˜์˜ ๋„์›€์„ ๋ฐ›์•„ ์‹œ๊ฐ์žฅ์• ์ธ 2๋ช…์„ ๋Œ€์ƒ์œผ๋กœ ํŽธ์˜์ ์—์„œ ์œ ์ € ํ…Œ์ŠคํŠธ๋ฅผ ์ง„ํ–‰.

์œ ์ € ์˜๊ฒฌ์„ ๋จผ์ € ๋ฐ˜์˜ํ•˜์—ฌ 1.1๋ฒ„์ „์œผ๋กœ ๊ฐœ์„ ํ•˜์˜€์œผ๋ฉฐ, ๊ฐœ์„ ์‚ฌํ•ญ์„ ๋ฐ˜์˜ํ•˜์—ฌ ์ถ”ํ›„ 1.2๋ฒ„์ „์œผ๋กœ ์—…๋ฐ์ดํŠธ ์˜ˆ์ •

3. Front-End

UI/UX

ํ™”๋ฉด ๊ตฌ์„ฑ

์‹œ๊ฐ์žฅ์• ์ธ ๋งž์ถคํ˜• ์„ค๊ณ„

  • ๋ณด์ด์Šค์˜ค๋ฒ„ ๊ธฐ๋Šฅ๊ณผ TTS(Text-To-Speech) ๊ธฐ์ˆ ์„ ํ†ตํ•ด ์‹œ๊ฐ์žฅ์• ์ธ์˜ ์ ‘๊ทผ์„ฑ ๋ฐ ์‚ฌ์šฉ์„ฑ์„ ํ–ฅ์ƒ
  • ์ผ๊ด€๋œ ๋ฒ„ํŠผ ๋ฐฐ์น˜ ๊ตฌ์กฐ๋กœ, ์‹œ๊ฐ์žฅ์• ์ธ ์‚ฌ์šฉ์ž์˜ ์‚ฌ์šฉ์„ฑ์„ ์ฆ์ง„
  • ํ™”๋ฉด ์ปจํŠธ๋กค ์˜์—ญ์„ ํ™•์žฅํ•˜์—ฌ ํ™”๋ฉด์˜ ์–ด๋А ๋ถ€๋ถ„์„ ํ„ฐ์น˜ํ•ด๋„ ๊ทธ์— ์„ค์ •๋œ ๋™์ž‘์ด ์‹คํ–‰

๋ฌธ์ œํ•ด๊ฒฐ

1. AutoPlay
  • ๋ฌธ์ œ: ๋ธŒ๋ผ์šฐ์ €์˜ ๋ณด์•ˆ ์ •์ฑ…์œผ๋กœ ์ธํ•ด ํ™”๋ฉด์—์„œ ์Œ์„ฑ ํŒŒ์ผ์˜ ์ž๋™ ์žฌ์ƒ ์ œํ•œ
  • ํ•ด๊ฒฐ:
    • oncanplaythrough : ์˜ค๋””์˜ค๋‚˜ ๋น„๋””์˜ค์˜ ๋ฉ”ํƒ€๋ฐ์ดํ„ฐ ๋กœ๋”ฉ์ด ์™„๋ฃŒ๋˜๊ณ , ๊ทธ ์ดํ›„ ๋ฏธ๋””์–ด๊ฐ€ ๋๊นŒ์ง€ ์žฌ์ƒ๋˜๋Š” ๋ฐ ์ค‘๋‹จ ์—†์ด ์ถฉ๋ถ„ํ•œ ๋ฐ์ดํ„ฐ๊ฐ€ ์žˆ๋Š” ๊ฒฝ์šฐ ์Œ์„ฑ ์•ˆ๋‚ด๋ฅผ ์ œ๊ณตํ•˜์—ฌ ๋ณด์•ˆ ์ •์ฑ…์„ ์šฐํšŒ
    • setInterval : useState Hook์„ ์‚ฌ์šฉํ•ด Loading์—ฌ๋ถ€๋ฅผ ํŒ๋ณ„ํ•˜๊ณ  ์Œ์„ฑ ์ถœ๋ ฅInterval์„ handling
    • Button Mapping : client์˜ ๋ฒ„ํŠผ ์ƒํ˜ธ์ž‘์šฉ์„ ํ†ตํ•ด ์Œ์„ฑ์ถœ๋ ฅ handling
  1. CORS
  • ๋ฌธ์ œ: ๋ธŒ๋ผ์šฐ์ €์—์„œ ๋‹ค๋ฅธ ์ถœ์ฒ˜๋กœ HTTP ์š”์ฒญ์„ ์‹คํ–‰ํ•˜๋Š” ๊ฒƒ์„ ์ œํ•œํ•˜์—ฌ ์›น ์•ฑ์—์„œ ๋ฐ์ดํ„ฐ๋ฅผ ๊ตํ™˜ํ•˜๋Š”๋ฐ ๋ฌธ์ œ ๋ฐœ์ƒ
  • ํ•ด๊ฒฐ:
    • Middleware Proxy ์„œ๋ฒ„ API๋ฅผ ์‚ฌ์šฉํ•˜์—ฌ ๋ธŒ๋ผ์šฐ์ €์˜ CORS ์ •์ฑ…์„ ์šฐํšŒํ•˜๊ณ  ๋ฐ์ดํ„ฐ๋ฅผ ์›ํ™œํ•˜๊ฒŒ ๊ตํ™˜ํ•  ์ˆ˜ ์žˆ๊ฒŒ ํ•œ๋‹ค.
  1. IOS Access
  • ๋ฌธ์ œ: iOS ์นด๋ฉ”๋ผ ์ ‘๊ทผ ์‹œ https ํ”„๋กœํ† ์ฝœ์„ ํ•„์š”๋กœ ํ•˜์—ฌ ํ•ด๋‹น ์š”๊ฑด์„ ๋งŒ์กฑํ•˜์˜€์Œ์—๋„ ์นด๋ฉ”๋ผ ์ ‘๊ทผ์— ์‹คํŒจํ•˜๋Š” ๋ฌธ์ œ๊ฐ€ ๋ฐœ์ƒ
  • ํ•ด๊ฒฐ:
    • iOS์—์„œ ๋น„๋””์˜ค๋‚˜ ์นด๋ฉ”๋ผ๋ฅผ ์ œ์–ดํ•˜๋ ค๋ฉด ์›น ์•ฑ์ด ํ•ด๋‹น ๋ฆฌ์†Œ์Šค์— ๋Œ€ํ•œ ์ง€์†์ ์ธ ์ ‘๊ทผ ๊ถŒํ•œ์„ ๊ฐ€์ ธ์•ผ ํ•˜๋Š”๋ฐ ์ „์ฒด ํ™”๋ฉด ๋ชจ๋“œ๊ฐ€ ํ™œ์„ฑํ™”๋˜๋ฉด, ์‚ฌ์šฉ์ž ์ธํ„ฐํŽ˜์ด์Šค๋Š” ์›น ์•ฑ์˜ ๋ฒ”์œ„๋ฅผ ๋ฒ—์–ด๋‚˜๊ณ  ์›น ๋ธŒ๋ผ์šฐ์ € ์ž์ฒด์˜ ์ œ์–ด ์•„๋ž˜์— ์žˆ๊ฒŒ ๋œ๋‹ค. ์ด ๋•Œ ์›น ์•ฑ์ด ๋น„๋””์˜ค๋‚˜ ์นด๋ฉ”๋ผ์— ๋Œ€ํ•œ ์ง์ ‘์ ์ธ ์ œ์–ด๋ฅผ ํ•  ์ˆ˜ ์—†๊ฒŒ ๋˜๋ฏ€๋กœ playsInline ์†์„ฑ์„ ์‚ฌ์šฉํ•ด ์ „์ฒด ํ™”๋ฉด ๋ชจ๋“œ๋กœ ์ „ํ™˜๋˜๋Š” ๊ฒƒ์„ ๋ฐฉ์ง€ํ•œ๋‹ค.
  1. CLOVA Voice Request
  • ๋ฌธ์ œ: ์„œ๋น„์Šค์— ํšŒ์› ๊ฐ€์ž… ๊ธฐ๋Šฅ์ด ์—†์–ด ์‚ฌ์šฉ์ž ๊ตฌ๋ณ„ ๋ฐ ์„ค์ • ๊ฐ’ ๊ตฌํ˜„๊ธฐ๋Šฅ์— ์–ด๋ ค์›€
  • ํ•ด๊ฒฐ:
    • ์‚ฌ์šฉ์ž๋ฅผ ๊ตฌ๋ณ„ํ•˜๊ธฐ ์œ„ํ•ด ํ† ํฐ์„ ํ™œ์šฉํ•˜๊ณ , ์„ธ์…˜ ์Šคํ† ๋ฆฌ์ง€๋ฅผ ์ด์šฉํ•˜์—ฌ ์‚ฌ์šฉ์ž์˜ ์„ค์ • ๊ฐ’์„ ์ €์žฅํ•œ๋‹ค.
      ๋ฐฑ์—”๋“œ์™€ ์†Œํ†ตํ•˜๊ธฐ ์œ„ํ•ด 2์ง„๋ฒ•์„ ์‚ฌ์šฉํ•˜์—ฌ ์„ค์ • ๊ฐ’์„ ์ „๋‹ฌ.

4. AI

1. ์ธ์‹๋ฅ  ๊ฐœ์„ 

์ธ์‹๋ฅ ์„ ๋†’์ด๊ธฐ ์œ„ํ•ด ๋ฐ์ดํ„ฐ์…‹์˜ ๊ทœ๋ชจ๋ฅผ 1,000์žฅ ๋‚ด์™ธ์˜ ๋‹ค์–‘ํ•œ ์ด๋ฏธ์ง€๋กœ ํ™•๋Œ€ํ•˜์—ฌ ์ „์ด ํ•™์Šต์„ ์ง„ํ–‰ํ•˜์˜€๋‹ค.

5. back-End

๊ธฐ๋Šฅ

1. GPT

- GPT ๋‹ค๋นˆ์น˜ ๋ชจ๋ธ v2 ์„ ์‚ฌ์šฉํ•˜์—ฌ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ ๊ตฌํ˜„

โ— ์‚ฌ์šฉ์ž ์„ธํŒ…๊ฐ’ ๋”ฐ๋ผ ๋‹ฌ๋ผ์ง€๋Š” ๋ฐ์ดํ„ฐ ์ •๋ณด๋ฅผ ์ž์—ฐ์Šค๋Ÿฝ๊ฒŒ ์—ฐ๊ฒฐํ•˜๊ธฐ์œ„ํ•ด GPT API๋ฅผ ์ด์šฉํ•ด์„œ ์ž์—ฐ์–ด ์ฒ˜๋ฆฌ๋ฅผ ์ง„ํ–‰
โ— GPT davinci2๋ชจ๋ธ์„ ์‚ฌ์šฉํ•  ๋•Œ ์งˆ๋ฌธ์— ๋”ฐ๋ผ ๊ฒฐ๊ณผ๊ฐ€ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ’์ด ์•ˆ ๋‚˜์˜ค๋Š” ๋ฌธ์ œ ๋ฐœ์ƒ
โ— ์—ฌ๋Ÿฌ๊ฐ€์ง€ ์งˆ๋ฌธ์„ ์‹œ๋„ํ•˜์—ฌ ์ตœ์ ์˜ ์งˆ๋ฌธ์„ ์ฐพ์•„ ์›ํ•˜๋Š” ๊ฒฐ๊ณผ๊ฐ’์„ ์ฐพ๋Š” ๊ณผ์ •์œผ๋กœ ์ง„ํ–‰

2. ์ƒํ’ˆ ๋ฐ์ดํ„ฐ ์ „๋‹ฌ ๊ธฐ๋Šฅ

์‚ฌ์šฉ์ž ์„ค์ •๊ฐ’์„ front-end์—์„œ back-end์œผ๋กœ ์ „๋‹ฌํ•˜๊ณ  10์ง„๋ฒ•์œผ๋กœ ์„ค์ •๋œ ๊ฐ’์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— token_id์™€ ํ•จ๊ป˜ ์ €์žฅํ•œ๋‹ค. ์ดํ›„ ์ด ์„ค์ •๊ฐ’์— ์ˆซ์ž๋ฅผ ๋ถ€์—ฌํ•˜์—ฌ ์ˆซ์ž๋ณ„๋กœ ๋ฐ์ดํ„ฐ๊ฐ’์„ ๋‹ค๋ฅด๊ฒŒ ํ•ด์„œ ์ถœ๋ ฅ๊ฐ’์„ ์„ค์ •ํ•œ๋Œ€๋กœ ๋ณด๋‚ด์ค€๋‹ค.

3. ๋งค๋Œ€์ธ์‹ ๊ธฐ๋Šฅ

10๊ฐœ ์ด์ƒ์˜ ์ƒํ’ˆ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์œผ๋ฉด ๋ฐ›์€ ์ƒํ’ˆ๋“ค์˜ ๋งค๋Œ€์ •๋ณด๋ฅผ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์—์„œ ์ฐพ์•„์„œ ๋งค๋Œ€์ •๋ณด๋ฅผ ์‚ฌ์šฉ์ž์—๊ฒŒ ์ „๋‹ฌ ํ•ด์ค€๋‹ค.

4. ์ƒํ’ˆ ์œ„์น˜์ •๋ณด ์ œ๊ณต ๊ธฐ๋Šฅ

์ƒํ’ˆ ๋ฐ์ดํ„ฐ๋ฅผ ๋ฐ›์œผ๋ฉด ์ƒํ’ˆ ๋ฐ์ดํ„ฐ์˜ ์ •ํ™•๋„ ์ˆœ์œผ๋กœ 3๊ฐœ๋ฅผ ์ฐพ์•„์„œ ์ œ์ผ ๋†’์€ ์ •ํ™•๋„๋ฅผ ๊ฐ€์ง„ ์ƒํ’ˆ์˜ ๋ฐ์ดํ„ฐ์˜ ์ƒํ’ˆ ์ •๋ณด์™€ ์ œ์ผ ๋†’์€ ์ •ํ™•๋„๋ฅผ ๊ฐ€์ง„ ์ƒํ’ˆ๊ธฐ์ค€์œผ๋กœ ์ขŒํ‘œ๊ฐ’์„ ๊ณ„์‚ฐํ•˜์—ฌ 2๋ฒˆ์งธ, 3๋ฒˆ์งธ ์ƒํ’ˆ์˜ ์œ„์น˜์ •๋ณด๋ฅผ ์ „๋‹ฌํ•ด์ค€๋‹ค.

5. ์œ ์ € ํ† ํฐ๊ฐ’ DB ์„ธํŒ…

์ €๋“ค์ด ์„ธํŒ…ํ•œ ์„ธํŒ…๊ฐ’ ๋“ค์„ ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์ €์žฅ

6. ์œ ์ € ์„ธํŒ…๊ฐ’ ๊ฐ€์ ธ์˜ค๊ธฐ

์œ ์ €์˜ ํ† ํฐ์ด ๋ฐ์ดํ„ฐ๋ฒ ์ด์Šค์— ์žˆ์œผ๋ฉด ์„ธํŒ…์ •๋ณด๋“ค์„ ์ฐพ์•„์™€์„œ ์„ค์ •๊ฐ’์„ ์„ธํŒ…ํ•œ๋‹ค.


๐Ÿ‘ฉโ€๐Ÿ’ป ํŒ€์› ์†Œ๊ฐœ


About

๐Ÿ”‘ ์•„์ด์‡ผํ•‘: ๋จธ์‹ ๋Ÿฌ๋‹๊ณผ ChatGPT๋ฅผ ํ™œ์šฉํ•œ ์‹œ๊ฐ์žฅ์• ์ธ ๋งž์ถคํ˜• ๊ตฌ๋งค ์†”๋ฃจ์…˜

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors