SNAPSUM์ AI ๊ธฐ์ ์ ํ์ฉํ์ฌ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์ํผ ์์์ ์ ์ํ ์ ์๋ ์๋น์ค์ ๋๋ค. ์ด๋ฆ์์ ์ ์ ์๋ฏ์ด 'SNAP'(๋น ๋ฅด๋ค, ์ฆ๊ฐ์ ์ธ)๊ณผ 'SUM'(์์ฝ, ํฉ์ฐ)์ ๊ฒฐํฉ์ผ๋ก, "๋น ๋ฅด๊ณ ์ฆ๊ฐ์ ์ธ ์์ฝ" ๋๋ **"์ฆ์์์ ์์ฑ๋๋ ์ฝํ ์ธ "**๋ฅผ ์๋ฏธํฉ๋๋ค.
๋จ ๋ช ์ด ๋ง์ ๋งค๋ ฅ์ ์ธ ์ํผ ์ฝํ ์ธ ๋ฅผ ์์ฑํ์ฌ ์ ํ๋ธ ์ผ์ธ , ํฑํก, ์ธ์คํ๊ทธ๋จ ๋ฆด์ค ๋ฑ์์์ ์กด์ฌ๊ฐ์ ๊ฐํํ์ธ์!
2ํ SUMSQUAD | Elice AI SPARK CAMP (25.03.01)
- ๋ชจ๋ฐ์ผ ์ค์ฌ ๋ฐ์ํ ์น: ๋งํฌ๋ง ๋ถ์ฌ๋ฃ์ผ๋ฉด ์ด๋์๋ ๊ฐํธํ๊ฒ ์์์ ์ ์ํ ์ ์๋๋ก ๋ชจ๋ฐ์ผ ์์ฃผ๋ก ์ต์ ํ๋ ๋ ์ด์์ ์ ๊ณต
- ๋งํฌ๋ง ์๋ค๋ฉด ๋๊ตฌ๋: ์ง์ ํ๋กฌํํธ๋ฅผ ์์ฑํ ํ์ ์์ด ๋งํฌ๋ง ๋ถ์ฌ๋ฃ์ผ๋ฉด AI๊ฐ ํ ์คํธ๋ฅผ ์ถ์ถํ๊ณ ์์ฝํ ๋ด์ฉ์ผ๋ก ์์ ์์ฑ
- AI๊ฐ ์์ฑํ๋ ์ด์: ์ฌ์ฉ์๊ฐ ๋ฐ๋ก ์์ฝํ๊ฑฐ๋ ์ฅ๋ฉด์ด ์ ํ๋ ์ง์ ์ ๋ฌธ๋จ์ผ๋ก ๋๋์ง ์์๋ AI๊ฐ ์๋์ผ๋ก ํ ์คํธ๋ฅผ ์์ฝํ๊ณ ์ ์ ํ ์ ํ ๊ตฌ๊ฐ์ ์ฐพ์์ค
- ํ๋ฒ์ ์์ฑํ๋ ์ด๋ฏธ์ง/TTS: ์ฌ๋ฌ๋ฒ ํ๋กฌํํธ๋ฅผ ์์ฑํ ํ์ ์์ด ํด๋ฆญ ํ๋ฒ์ ์์ฑ๋๋ ์ด๋ฏธ์ง์ TTS
- ๋ค์ํ ์์ ์คํ์ผ: ์ ํ๋ธ ์ผ์ธ , ํฑํก, ์ธ์คํ๊ทธ๋จ ๋ฑ ์ํ๋ ํ๋ซํผ์ ์ต์ ํ๋ ์ฝํ ์ธ ์์ฑ
- ํ๋ ์์ํฌ: React, Next.js 15 (Pages Router), TypeScript
- ์คํ์ผ๋ง: Tailwind CSS, Styled-components
- ๋ฐฐํฌ: Vercel
- UI/UX ๊ฐ๋ฐ: ์ก์ฐ์ง(FE)
- ์ฃผ์ ๊ธฐ๋ฅ: API ์ฐ๋ ๋ฐ ์ํ๊ด๋ฆฌ, ํ๋ก ํธ ๋ฐฐํฌ
- ์๋ฒ: Spring Boot, FastAPI
- DB: MySQL
- CI/CD: Docker, Jenkins
- ๊ฐ๋ฐ ํ๊ฒฝ: Elice Cloud, GPU ํ๊ฒฝ
- ๋ฐฑ์๋ ๊ฐ๋ฐ:
- ๊น์ฌํ(BE): Fast API๋ฅผ ํ์ฉํ ๋์์ ์์ฑ ์๋น์ค, ๋น๋์ค ๊ด๋ฆฌ ๊ธฐ๋ฅ ๊ตฌํ, Swagger๋ฅผ ํ์ฉํ API ๋ฌธ์ํ
- ์์ ์ง(BE): Elice ML API๋ฅผ ํ์ฉํ ์ฝํ ์ธ ์์ฝ, ๋ฌธ๋จ ๋ณ ์ด๋ฏธ์ง ์์ฑ ์๋น์ค ๊ฐ๋ฐ, Python Fast API๋ฅผ ํ์ฉํ ํฌ๋กค๋ง ์๋น์ค ๊ฐ๋ฐ
- AI ๋ชจ๋ธ: Elice ML API, ChatGPT, Midjourney
- ์์ ์์ฑ: FFmpeg/Helpy Pro
- PM: ์ด์คํฌ - API ๋ฌธ์ ๋ถ์ ๋ฐ ํ๋กฌํํธ ์์ฑ, ์๊ตฌ์ฌํญ์ ์์/๊ธฐ๋ฅ๋ช ์ธ์/ํ๋กํ ํ์ /ํ ์คํธ์ผ์ด์ค ์์ฑ
markdown
Copy
* .github # GitHub ๊ด๋ จ ์ค์ ํ์ผ
* public # ์ ์ ํ์ผ ์ ์ฅ์
* assets # ์ด๋ฏธ์ง, ์์ด์ฝ ๋ฑ ์์
ํ์ผ
* favicon.ico # ์น์ฌ์ดํธ ํ๋น์ฝ
* manifest.json # PWA ๋งค๋ํ์คํธ ํ์ผ
* src # ์์ค ์ฝ๋
* api # API ํต์ ๊ด๋ จ ์ฝ๋
* components # ์ฌ์ฌ์ฉ ๊ฐ๋ฅํ UI ์ปดํฌ๋ํธ
* hooks # ์ปค์คํ
React ํ
* lib # ์ ํธ๋ฆฌํฐ ๋ฐ ํฌํผ ํจ์
* pages # ํ์ด์ง ์ปดํฌ๋ํธ (Next.js)
* services # ์ธ๋ถ ์๋น์ค ์ฐ๋ ์ฝ๋
* store # ์ํ ๊ด๋ฆฌ (Redux ๋ฑ)
* styles # ๊ธ๋ก๋ฒ ์คํ์ผ ๋ฐ ํ
๋ง
* types # TypeScript ํ์
์ ์
- ๋๋ฉ ํ์ด์ง: ์๋น์ค ์๊ฐ ๋ฐ ๋งํฌ ์ ๋ ฅ
- ๋ฉ์ธ ํ์ด์ง:
- ๋งํฌ๋ฅผ ๋ถ์ฌ๋ฃ์ผ๋ฉด AI๊ฐ ๋ด์ฉ์ ํฌ๋กค๋งํ์ฌ ์์ฝ ์์ฑ
- AI๊ฐ ์์ฑํ ์ด์ ํ์ธ ๋ฐ ํธ์ง ๊ฐ๋ฅ
- ์ด๋ฏธ์ง ์คํ์ผ, TTS ์ค์ ์ ํ
- ์์ ์์ฑ ํ์ด์ง:
- ์์ฑ ์ค ์งํ ์ํ ํ์ธ
- ์์ฑ๋ ์์ ๋ฏธ๋ฆฌ๋ณด๊ธฐ ๋ฐ ๋ค์ด๋ก๋
- SNAPSUM ์น์ฌ์ดํธ(https://snapsum.vercel.app/info)์%EC%97%90) ์ ์ํฉ๋๋ค
- ์ฝํ ์ธ ๋ฅผ ์์ฑํ๊ณ ์ถ์ ๋ธ๋ก๊ทธ๋ ์น ํ์ด์ง์ ๋งํฌ๋ฅผ ์ ๋ ฅํฉ๋๋ค
- AI๊ฐ ์๋์ผ๋ก ์ฝํ ์ธ ๋ฅผ ๋ถ์ํ๊ณ ์์ฝํฉ๋๋ค
- ์ํ๋ ์์ ์คํ์ผ(์ ํ๋ธ ์ผ์ธ , ํฑํก ๋ฑ)์ ์ ํํฉ๋๋ค
- "์์ฑํ๊ธฐ" ๋ฒํผ์ ํด๋ฆญํฉ๋๋ค
- ์์ฑ๋ ์์์ ํ์ธํ๊ณ ๋ค์ด๋ก๋ํ ์ ์์ต๋๋ค
๋ฌธ์ :
- ๊ธฐ์กด์๋ URL์ ๊ธฐ๋ฐ์ผ๋ก ๋ผ์ฐํ ์ํ๋ฅผ ๊ด๋ฆฌํ์ผ๋, ํ์ฌ ์ฌ์ฉ์๊ฐ ์ด๋ ๋จ๊ณ(currentStep)์ ์๋์ง URL์ ๋ณด๊ณ ํ๋จํ๊ธฐ ์ด๋ ค์ ์
- ๋ผ์ฐํฐ ์ฝ๋๊ฐ ๋ณต์กํด์ง๊ณ ์ ์ง๋ณด์๊ฐ ์ด๋ ค์์ง
ํด๊ฒฐ:
localStorage
๋ฅผ ์ด์ฉํด ์ํ๋ฅผ ๊ด๋ฆฌํ๋๋ก ๋ณ๊ฒฝ- React์
useEffect
์ ์ํ ์ ๋ฐ์ดํธ(setState
)๋ฅผ ํจ๊ป ํ์ฉ - ํ์ด์ง๊ฐ ๋ก๋๋ ๋๋ง๋ค
localStorage
์์ ๋ฐ์ดํฐ๋ฅผ ๊ฐ์ ธ์setState
์คํ - ์ด ๊ณผ์ ์์ ๋ถํ์ํ ์ํ ๋ณ๊ฒฝ์ด ๊ณ์ ๋ฐ์ํ๋ ๋ฌดํ ๋ฃจํ ๋ฐ์ โ ๋ฌดํ ๋ฃจํ ๋ฐฉ์ง ๋ก์ง ๊ตฌํ
ํจ๊ณผ:
- ๋ถํ์ํ ์ํ ์ ๋ฐ์ดํธ ๋ฐฉ์ง
- ๋ฌดํ ๋ฃจํ ๋ฌธ์ ํด๊ฒฐ
- ๋ผ์ฐํ ๊ณผ ์ํ ๊ด๋ฆฌ๊ฐ ๊น๋ํ๊ฒ ์ ๋ฆฌ๋จ
- 2023-2033๋ ๊ธ๋ก๋ฒ ์ ์ ์์ฅ ๋ด ๊ธ๋ก๋ฒ ์์ฑํ AI ์์ฅ ๊ท๋ชจ ์ง์์ ์ฑ์ฅ ์์
- 2023๋ 11.6์ต ๋ฌ๋ฌ์์ 2033๋ 175.3์ต ๋ฌ๋ฌ๋ก ์ฑ์ฅ ์์ธก (CAGR 31.2%)
- ์์ ์ฝํ ์ธ "๋น ๋ฅธ ์ ๊ทผ" ์ ํธ: 70%
- "๋ค์ํ๊ณ ๋ง์ ์์์ ๋ณด๊ณ ์ถ๋ค๋ฉด ์ผ์ธ ๋ฅผ ์ฐพ๋๋ค": 63%
- "์ํ, ๋๋ผ๋ง๋ฅผ ์ฐพ๊ธฐ ์ ์๋ ์ ํ๋ธ๋ฅผ ์์ฃผ ๋ณธ๋ค": 60%
- ์๊ฐ ๋ฐ ๋น์ฉ ์ ๊ฐ: ์์ ์ ์ ๊ฒฝํ์ด ๋ถ์กฑํ ๋ธ๋ก๊ฑฐ๋ ์ฝ๊ณ ๋น ๋ฅด๊ฒ ์์ ์ ์ ๊ฐ๋ฅ, ChatGPT ๊ฐ์ AI ํด์ ์ฌ์ฉํด๋ดค์ง๋ง ๊ตฌ์ฒด์ ์ธ ํ์ฉ๋ฒ์ ๋ชจ๋ฅด๋ ์ฌ์ฉ์์๊ฒ ์ ํฉ
- 1์ธ ๋ฏธ๋์ด ํฌ๋ฆฌ์์ดํฐ ์ง์: ์ ํ๋ธ, ํฑํก, ์ธ์คํ๊ทธ๋จ์์ ์ํผ์ ์ ์ํ๊ณ ์ถ์ ํฌ๋ฆฌ์์ดํฐ ์ง์ ๋ฐ ๋น์ฉ๊ธฐ ํ๋ก๊ทธ๋๋ฐ์ ๋ํ ์ดํด ํ์ ์์
- ์์ ํ์ฉ์ ๋ค์์ฑ: ์ ์๋ ์์์ ๋ค๋ฅธ ์์์ ์ผ๋ถ๋ก ์ฌ์ฉํ๊ฑฐ๋, ํธ์ง ์ค๋ ฅ์ด ์๋ ์ฌ์ฉ์๋ ๊ฐ๊ณต์ ํตํด ์๋ก์ด ์์์ ์ ์ ๊ฐ๋ฅ
- Week 1:
- Meet-up Day: ํ ๋ ผ์, ๋์ค์ฝ๋ ์์ฑ, ์คํฌ๋ผ/๊ฐ๋ฐ ์ค์ผ์ค๋ง
- Ideation & ๊ธฐํ: Elice ML API ๋ฌธ์ ๋ถ์, ๊ธฐ๋ฅ ๊ธฐํ
- ๊ฐ๋ฐ ํ๊ฒฝ ์ ํ : ์ฌ์ฉ ๊ธฐ์ ์ค์ , Git Repository ์์ฑ
- Week 2:
- ๋ ์ด์์ ๊ฐ๋ฐ: ๊ณตํต ์ปดํฌ๋ํธ, ๋ ์ด์์ ๊ฐ๋ฐ, ํ๋ก ํธ์๋ API ์ฐ๋
- CI/CD & API ๊ฐ๋ฐ: ๋ฐฐํฌ ์๋ฒ ๊ตฌ์ถ, Swagger ์ฐ๋ ๋ฐ ๋ฐฐํฌ
- Week 3:
- ๊ฐ๋ฐ ๊ณ ๋ํ: ๊ฐ๋ฐ ๊ธฐ๋ฅ ๊ณ ๋ํ ์์
- ์ต์ ํ: ๋ฆฌ์์ค ์ต์ ํ, ์๋ฌ ์ฒ๋ฆฌ
- ํ ์คํธ์ผ์ด์ค ์์ฑ: ์๋น์ค QA
- ์๋ง ๊ธฐ๋ฅ ์ถ๊ฐ: MVP์์๋ ๊ตฌํ์ ํ์ผ๋, ์๋ง์ด ๊ฐ๋ ์ฑ์๊ฒ ํํ๋๋ฉด ๊ด๋ จ ๋ก์ง์ด ํ์ํ ๊ฒ ๊ฐ์ ์ต์ข ๋ณด๋ฅ
- ์๋ ฅํ ํ ์คํธ๋ก ์์ ์์ฑ: ๋งํฌ ์ธ ์ฌ์ฉ์๊ฐ ์ง์ ์ ๋ ฅํ ํ ์คํธ๋ฅผ AI๊ฐ ๋ฌธ๋จ์ ๊ตฌ๋ถํ์ฌ ์์ ์์ฑ
- ๊ธฐ๋ฅํ ๋งํฌ ํ์ฅ: ํ์ฌ MVP์์๋ ๋ค์ด๋ฒ ๋ธ๋ก๊ทธ ๋งํฌ๋ง ๊ฐ๋ฅํ์ง๋ง, ํฅํ์๋ ๋ชจ๋ ๋งํฌ์์ ํฌ๋กค๋ง ์ ํํฐ๋ง ๊ธฐ๋ฅ์ ๋ง๋ จํ์ฌ ์ ์ ํ๊ฒ ํ ์คํธ๋ฅผ ์ถ์ถํ๋ ๊ธฐ๋ฅ์ผ๋ก ๊ณ ๋ํ
- AI ์ถ์ฒ๊ธฐ๋ฅ ๊ฐํ: AI๊ฐ ์ถ์ถํ๊ณ ์์ฝํ ํ ์คํธ๋ฅผ ๊ธฐ๋ฐ์ผ๋ก ํด๋น ๋ด์ฉ์ ์ด์ธ๋ฆฌ๋ ์ด๋ฏธ์ง ์คํ์ผ๊ณผ TTS๋ฅผ ์ถ์ฒํ๋ ๊ธฐ๋ฅ