์์๋ ์ฌ์ง์ AI๋ก ๋ณต์ํด์ฃผ๋ ๋ฌด๋ฃ ์น ์๋น์ค์ ๋๋ค. Google Gemini AI๋ฅผ ํ์ฉํด ๋ณด์์ /๋ชจ๋/ํ์ด๋ธ๋ฆฌ๋ ์คํ์ผ์ ๋ณต์ ๊ฒฐ๊ณผ๋ฅผ ์ ๊ณตํ๋ฉฐ, ์ง๊ด์ ์ธ ๋น๊ต UI์ ๋ค์ํ ์ฌ์ฉ์ ํธ์ ๊ธฐ๋ฅ์ ๊ฐ์ถ๊ณ ์์ต๋๋ค. ๐ ์ฌ์ดํธ ๋ฐ๋ก๊ฐ๊ธฐ ๏ฝ GitHub ๋ฐ๋ก๊ฐ๊ธฐ
- ๐ง Gemini AI ๊ธฐ๋ฐ ์์ ์ฌ์ง ๋ณต์ (๋ณด์์ /๋ชจ๋/ํ์ด๋ธ๋ฆฌ๋ ์คํ์ผ)
- ๐ ๋๋๊ทธ ์ค ๋๋กญ ํ์ผ ์ ๋ก๋ ๋ฐ ํ์ /ํฌ๊ธฐ ๊ฒ์ฆ (์ต๋ 10MB)
- ๐ช ๋ณต์ ์ ํ ์ด๋ฏธ์ง ๋น๊ต ๋ทฐ์ด (ํ๋/๋ค์ด๋ก๋ ์ง์)
- ๐ผ๏ธ JPG/PNG ๋ฑ ๋ค์ํ ์ด๋ฏธ์ง ํฌ๋งท ์ง์
- ๐ก ์ค์๊ฐ ๋ณต์ ์งํ ์ํ ๋ฐ ์๋ฌ ์๋ด
- ๐ ๋คํฌ๋ชจ๋ ๋ฐ PWA ์ง์ (๋ชจ๋ฐ์ผ ๋์ ํฌํจ)
- Frontend: Next.js, React, TypeScript, TailwindCSS
- UI ๋ผ์ด๋ธ๋ฌ๋ฆฌ: Radix UI
- AI ๋ชจ๋ธ ์ฐ๋: Replicate API (Cloudflare Workers AI fallback)
- ์ด๋ฏธ์ง ์ฒ๋ฆฌ: Sharp
- ๋ฐ์ดํฐ๋ฒ ์ด์ค: MongoDB (Mongoose)
- ๋ฐฐํฌ: Vercel
-
์ด๋ฏธ์ง ์ ๋ก๋ ๋ฐ ๊ฒ์ฆ
- Drag & Drop ๋๋ ํ์ผ ์ ํ์ผ๋ก ์ด๋ฏธ์ง ์ ๋ก๋
- ํ์ผ ํ์ (JPG/PNG) ๋ฐ ํฌ๊ธฐ(์ต๋ 10MB) ๊ฒ์ฆ
- ๊ฐ๋ฐ ๋ชจ๋ ์๋ฎฌ๋ ์ด์ (USE_REAL_AI_IN_DEV=true๋ก ์ค์ AI ํ ์คํธ ๊ฐ๋ฅ)
-
Rate Limiting
- IP ๊ธฐ๋ฐ ์์ฒญ ์ ํ์ผ๋ก ์๋ฒ ๋ถํ ๋ฐฉ์ง
- MongoDB์ ์์ฒญ ๋ก๊ทธ ์ ์ฅ ๋ฐ ๊ด๋ฆฌ
-
AI ๋ณต์ ์์ง ์ ํ
- 1์์: Replicate FLUX Kontext ๋ชจ๋ธ (๊ณ ํ์ง ๋ณต์)
- ๋์ ์ผ๋ก ์ต์ ๋ชจ๋ธ ๋ฒ์ ํด์ ํ๋
- ์์ธก ์์ฑ ๋ฐ ์ํ ํด๋ง (์ต๋ 40์ด)
- ์ฑ๊ณต ์ ๊ณ ํ์ง ๋ณต์ ์ด๋ฏธ์ง ๋ฐํ
- 2์์ (Fallback): Cloudflare Workers AI (๋ฌด๋ฃ ๋์ฒด)
- Stable Diffusion v1.5 Img2Img ๋ชจ๋ธ ์ฌ์ฉ
- ๋ถ๋๋ฌ์ด ์๋ ๋ก๊ทธ ๊ฐ์ฑ ๋ณต์
- ์คํจ ์: ์๋ฌ ๋ฉ์์ง ๋ฐ ์ฌ์๋ ์๋ด
- 1์์: Replicate FLUX Kontext ๋ชจ๋ธ (๊ณ ํ์ง ๋ณต์)
-
์ด๋ฏธ์ง ํ์ฒ๋ฆฌ
- Sharp๋ฅผ ์ด์ฉํ ์ด๋ฏธ์ง ํฌ๋งท ๋ณํ
- ์ ํด์๋ ์ด๋ฏธ์ง ์๋ ์ ์ค์ผ์ผ๋ง (๊ฐ๋ฐ ๋ชจ๋)
- Base64 ์ธ์ฝ๋ฉํ์ฌ ํ๋ก ํธ์๋ ์ ์ก
-
๊ฒฐ๊ณผ ๋ฐํ
- ๋ณต์๋ ์ด๋ฏธ์ง ๋ฐ์ดํฐ (Base64)
- ์ฌ์ฉ๋ ์์ง ์ ๋ณด
- ๋ณต์ ์คํ์ผ ๋ฐ ์ค๋ช
- Replicate API๋ฅผ ํ์ฉํ AI ๊ธฐ๋ฐ ์ฌ์ง ๋ณต์ (Cloudflare Workers AI fallback ์ง์)
- Sharp๋ฅผ ์ด์ฉํ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ๋ฐ ๊ณ ํ์ง ์ ์ค์ผ์ผ๋ง
- Rate Limiting ๊ธฐ๋ฅ์ผ๋ก ์๋ฒ ๋ถํ ๋ฐฉ์ง
- ๊ณ ํด์๋ ์ด๋ฏธ์ง ์ง์ (์๋ฒ ๋ถํ ์ ํ์ ์ํ 10MB ์ ํ ์ ์ฉ)
- Drag & Drop ๊ธฐ๋ฐ ์ ๋ก๋ ๋ฐ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
- ์ด๋ฏธ์ง ์ ํ ๋น๊ต ์ฌ๋ผ์ด๋ UI
- ์ด๋ฏธ์ง ํ๋/์ ์ฅ/์ฌ๋ณต์ ๊ธฐ๋ฅ ์ ๊ณต
- ๋ณต์ ์ค/์๋ฃ/์คํจ ๋ฑ ๋ค์ํ ์ํ ์๋ด ๋ฐ ํ ์คํธ ํผ๋๋ฐฑ
- ์๋ฒ ์์ ์ฒ๋ฆฌ ํ ์ด๋ฏธ์ง ์๋ ํ๊ธฐ (๊ฐ์ธ์ ๋ณด ๋ฏธ์ ์ฅ)
- ํ์ผ ํ์ /์ฌ์ด์ฆ ๊ฒ์ฆ ๋ฐ ๊ฐ์ธ์ ๋ณด ์ฒ๋ฆฌ๋ฐฉ์นจ ์ ๊ณต
- PWA ์ง์: ์คํ๋ผ์ธ ์ ๊ทผ ๋ฐ ํํ๋ฉด ์ค์น ๊ธฐ๋ฅ
- ๋ฐ์ํ ์น ๋์์ธ: ๋ค์ํ ๋๋ฐ์ด์ค์ ์ต์ ํ๋ UI
- ์ ๊ทผ์ฑ ๊ณ ๋ ค: ๋ช ํํ ํผ๋๋ฐฑ, ํค๋ณด๋ ํ์ ๋ฑ UI ๊ฐ์