Update app.py
Browse files
app.py
CHANGED
@@ -245,47 +245,185 @@ def load_json_data():
|
|
245 |
# ํ๋์ฝ๋ฉ๋ ๋ฐ์ดํฐ ๋ฐํ
|
246 |
return [
|
247 |
{
|
248 |
-
"name": "MBTI ์ง๋จ ์๋น์ค",
|
249 |
"image_url": "data:image/png;base64," + get_image_base64('mbti.png'), # mbti.png ์ฌ์ฉ
|
250 |
"prompt": "MBTI ์ง๋จ์ ์ํด 15๊ฐ์ ์ง๋ฌธ๊ณผ ๊ฐ๊ด์ ๋ต๋ณ์ ํตํด MBTI ์ง๋จ ๊ฒฐ๊ณผ ๋ฐ ํด๋น ์ฑ๊ฒฉ์ ๋ํ ์์ธํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ผ"
|
251 |
},
|
252 |
{
|
253 |
-
"name": "ํฌ์ ํฌํธํด๋ฆฌ์ค ๋์๋ณด๋",
|
254 |
"image_url": "data:image/png;base64," + get_image_base64('dash.png'), # mouse.gif ์ฌ์ฉ
|
255 |
"prompt": "Create an interactive dashboard with Chart.js showing different types of charts (line, bar, pie) with smooth animations. Include buttons to switch between different data views.ํฌ์ ํฌํธํด๋ฆฌ์ค๋ฅผ ๋ถ์ํ์ฌ ์ํ๋, ์์ต๋ฅ , ์์ฐ ๋ฐฐ๋ถ์ ์๊ฐํํ๋ ํฌ์ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ๋ง๋์ธ์."
|
256 |
},
|
257 |
{
|
258 |
-
"name": "
|
|
|
|
|
|
|
|
|
|
|
259 |
"image_url": "data:image/png;base64," + get_image_base64('chess.png'), # mouse.gif ์ฌ์ฉ
|
260 |
"prompt": "์ฒด์ค ๊ฒ์: ์ฒด์ค ๊ฒ์์ ๋ฃฐ์ ์ ํํ๊ฒ ์๋ณํ๊ณ ์ ์ฉํ๋ผ, ์๋๋ฐฉ์ auto๋ก ๊ฒ์์ ์งํํ๋ผ"
|
261 |
},
|
262 |
{
|
263 |
-
"name": "
|
|
|
|
|
|
|
|
|
|
|
264 |
"image_url": "data:image/png;base64," + get_image_base64('tarot.png'), # mouse.gif ์ฌ์ฉ
|
265 |
"prompt": "ํ๋ก์นด๋ ์ด์ธ๋ฅผ ์ ์น๋๊ฒ์ ์์ฑํ๋ผ. ์์ฃผ ์์ธํ๊ณ ์ ๋ฌธ์ ์ด๋ฉด์ ์ฝ๊ณ ๊ธธ๊ฒ ๋ต๋ณํ๋ผ. ๋ชจ๋ ๋ต๋ณ๊ณผ ์ค๋ช
์ ํ๊ธ๋ก ํ๋ผ"
|
266 |
},
|
267 |
-
|
268 |
{
|
269 |
-
"name": "
|
|
|
|
|
|
|
|
|
|
|
270 |
"image_url": "data:image/png;base64," + get_image_base64('tts.png'), # mouse.gif ์ฌ์ฉ
|
271 |
"prompt": "ํ
์คํธ๋ฅผ ์์ฑ์ผ๋ก ๋ณํํ๊ณ , ์์ฑ ํ๋ผ๋ฏธํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์กฐ์ ํ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ธ์."
|
272 |
},
|
273 |
{
|
274 |
-
"name": "3D ๋ถ์ ์๋ฎฌ๋ ์ด์
",
|
275 |
"image_url": "data:image/png;base64," + get_image_base64('3ds.png'), # mouse.gif ์ฌ์ฉ
|
276 |
"prompt": "Three.js๋ก 3D ๋ถ์ ๊ตฌ์กฐ(์ฃผ์ ๋ถ์๋ค์ ์ ํํ ์ ์๊ฒ)๋ฅผ ์๊ฐํํ์ธ์. ํ์ , ์ค, ์์ ์ ๋ณด ํ์ ๊ธฐ๋ฅ๊ณผ ์ ๋๋ฉ์ด์
ํจ๊ณผ๋ฅผ ๊ตฌํํ์ธ์."
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
277 |
},
|
278 |
{
|
279 |
-
"name": "
|
280 |
-
"image_url": "data:image/png;base64," + get_image_base64('
|
281 |
-
"prompt": "
|
282 |
-
},
|
283 |
-
|
284 |
{
|
285 |
-
"name": "
|
286 |
-
"image_url": "data:image/png;base64," + get_image_base64('
|
287 |
-
"prompt": "
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
288 |
},
|
|
|
|
|
|
|
|
|
|
|
289 |
{
|
290 |
"name": "ํ
์คํธ",
|
291 |
"image_url": "data:image/gif;base64," + get_image_base64('mouse.gif'), # mouse.gif ์ฌ์ฉ
|
|
|
245 |
# ํ๋์ฝ๋ฉ๋ ๋ฐ์ดํฐ ๋ฐํ
|
246 |
return [
|
247 |
{
|
248 |
+
"name": "[์ฌ๋ฆฌ] MBTI ์ง๋จ ์๋น์ค",
|
249 |
"image_url": "data:image/png;base64," + get_image_base64('mbti.png'), # mbti.png ์ฌ์ฉ
|
250 |
"prompt": "MBTI ์ง๋จ์ ์ํด 15๊ฐ์ ์ง๋ฌธ๊ณผ ๊ฐ๊ด์ ๋ต๋ณ์ ํตํด MBTI ์ง๋จ ๊ฒฐ๊ณผ ๋ฐ ํด๋น ์ฑ๊ฒฉ์ ๋ํ ์์ธํ ๊ฒฐ๊ณผ๋ฅผ ์ถ๋ ฅํ๋ผ"
|
251 |
},
|
252 |
{
|
253 |
+
"name": "[๋์ ๋ณด๋] ํฌ์ ํฌํธํด๋ฆฌ์ค ๋์๋ณด๋",
|
254 |
"image_url": "data:image/png;base64," + get_image_base64('dash.png'), # mouse.gif ์ฌ์ฉ
|
255 |
"prompt": "Create an interactive dashboard with Chart.js showing different types of charts (line, bar, pie) with smooth animations. Include buttons to switch between different data views.ํฌ์ ํฌํธํด๋ฆฌ์ค๋ฅผ ๋ถ์ํ์ฌ ์ํ๋, ์์ต๋ฅ , ์์ฐ ๋ฐฐ๋ถ์ ์๊ฐํํ๋ ํฌ์ ๊ด๋ฆฌ ๋๊ตฌ๋ฅผ ๋ง๋์ธ์."
|
256 |
},
|
257 |
{
|
258 |
+
"name": "[๋ฉํฐ๋ชจ๋ฌ] ์ค๋์ค ๋น์ฃผ์ผ๋ผ์ด์ ",
|
259 |
+
"image_url": "data:image/png;base64," + get_image_base64('audio.png'), # mouse.gif ์ฌ์ฉ
|
260 |
+
"prompt": "Web Audio API์ Canvas๋ฅผ ์ฌ์ฉํ์ฌ ์ค๋์ค ๋น์ฃผ์ผ๋ผ์ด์ ๋ฅผ ์ ์ํด ๋ณด์ธ์. ์์
์ฃผํ์ ๋ฐ์ดํฐ์ ๋ฐ์ํ๋ ๋์ ์ธ ๋ง๋๋ค์ด ๋ถ๋๋ฌ์ด ์ ๋๋ฉ์ด์
์ผ๋ก ์์ง์ด๋๋ก ๊ตฌํํด์ผ ํฉ๋๋ค. ๋ํ ์ฌ์/์ผ์ ์ ์ง ์ปจํธ๋กค๊ณผ ์์ ํ
๋ง ์ ํ ๊ธฐ๋ฅ๋ ํฌํจํ์ธ์."
|
261 |
+
},
|
262 |
+
{
|
263 |
+
"name": "[๊ฒ์] ์ฒด์ค ๊ฒ์",
|
264 |
"image_url": "data:image/png;base64," + get_image_base64('chess.png'), # mouse.gif ์ฌ์ฉ
|
265 |
"prompt": "์ฒด์ค ๊ฒ์: ์ฒด์ค ๊ฒ์์ ๋ฃฐ์ ์ ํํ๊ฒ ์๋ณํ๊ณ ์ ์ฉํ๋ผ, ์๋๋ฐฉ์ auto๋ก ๊ฒ์์ ์งํํ๋ผ"
|
266 |
},
|
267 |
{
|
268 |
+
"name": "[๊ฒ์] ๋ฒฝ๋๊นจ๊ธฐ ๊ฒ์",
|
269 |
+
"image_url": "data:image/png;base64," + get_image_base64('alcaroid.png'), # mouse.gif ์ฌ์ฉ
|
270 |
+
"prompt": "๋ฒฝ๋๊นจ๊ธฐ ๊ฒ์"
|
271 |
+
},
|
272 |
+
{
|
273 |
+
"name": "[Fun] ํ๋ก์นด๋ ์ด์ธ",
|
274 |
"image_url": "data:image/png;base64," + get_image_base64('tarot.png'), # mouse.gif ์ฌ์ฉ
|
275 |
"prompt": "ํ๋ก์นด๋ ์ด์ธ๋ฅผ ์ ์น๋๊ฒ์ ์์ฑํ๋ผ. ์์ฃผ ์์ธํ๊ณ ์ ๋ฌธ์ ์ด๋ฉด์ ์ฝ๊ณ ๊ธธ๊ฒ ๋ต๋ณํ๋ผ. ๋ชจ๋ ๋ต๋ณ๊ณผ ์ค๋ช
์ ํ๊ธ๋ก ํ๋ผ"
|
276 |
},
|
|
|
277 |
{
|
278 |
+
"name": "[Fun] ํ์ด์ ๋ฃฐ๋ ",
|
279 |
+
"image_url": "data:image/png;base64," + get_image_base64('roolet.png'), # mouse.gif ์ฌ์ฉ
|
280 |
+
"prompt": "ํ์ด์ ์ํ ๋ฃฐ๋ ์ด ๋น ๋ฅด๊ฒ ๋์๊ฐ๊ณ , ๋ง์ฐ์ค๋ก ํ์ด ๋ฐ์ฌ ๋ฒํผ ๋๋ฅด๋ฉด ๋ฃฐ๋ ์ ๋ฒํธ์ ๋๋คํ๊ฒ ๋ง๋๋ค. ๊ฐ ๋ฒํธ์ ์๊ธ์ด '๊ฝ' ~ '100๋ง์' ๊น์ง ๋๋คํ๊ฒ ๋ฐฐ์น๋์ด ์๋ค. shoot ์ ํ๋ ๋ฒํธ์ ๋ฐ๋ผ ํด๋น ๋ฒํธ์ ๋ฐฐ์น๋ ์๊ธ ์ก์๋ ์ถ๋ ฅํ๋ผ"
|
281 |
+
},
|
282 |
+
{
|
283 |
+
"name": "[๋ฉํฐ๋ชจ๋ฌ] ํ
์คํธ๋ก ์์ฑ ์์ฑ ๋ฐ ์กฐ์ ",
|
284 |
"image_url": "data:image/png;base64," + get_image_base64('tts.png'), # mouse.gif ์ฌ์ฉ
|
285 |
"prompt": "ํ
์คํธ๋ฅผ ์์ฑ์ผ๋ก ๋ณํํ๊ณ , ์์ฑ ํ๋ผ๋ฏธํฐ๋ฅผ ์ค์๊ฐ์ผ๋ก ์กฐ์ ํ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ์ ๊ณตํ์ธ์."
|
286 |
},
|
287 |
{
|
288 |
+
"name": "[ํ์ต] 3D ๋ถ์ ์๋ฎฌ๋ ์ด์
",
|
289 |
"image_url": "data:image/png;base64," + get_image_base64('3ds.png'), # mouse.gif ์ฌ์ฉ
|
290 |
"prompt": "Three.js๋ก 3D ๋ถ์ ๊ตฌ์กฐ(์ฃผ์ ๋ถ์๋ค์ ์ ํํ ์ ์๊ฒ)๋ฅผ ์๊ฐํํ์ธ์. ํ์ , ์ค, ์์ ์ ๋ณด ํ์ ๊ธฐ๋ฅ๊ณผ ์ ๋๋ฉ์ด์
ํจ๊ณผ๋ฅผ ๊ตฌํํ์ธ์."
|
291 |
+
},
|
292 |
+
{
|
293 |
+
"name": "[์ปดํฌ๋ํธ] ์ด๋ฉ์ผ ํ์๊ฐ์
๋ฐ ๋ก๊ทธ์ธ",
|
294 |
+
"image_url": "data:image/png;base64," + get_image_base64('login.png'), # mouse.gif ์ฌ์ฉ
|
295 |
+
"prompt": "์ด๋ฉ์ผ ํ์๊ฐ์
& ๋ก๊ทธ์ธ ์นํ์ด์ง๋ฅผ ๋ง๋ค์ด์ฃผ์ธ์. ๋ค์ ์๊ตฌ์ฌํญ์ ๋ฐ์ํด์ฃผ์ธ์: 1. ๋์์ธ - ๋ชจ๋ํ๊ณ ๋ฏธ๋๋ฉํ UI/UX - ๋ฐ์ํ ๋ ์ด์์ - ๋ถ๋๋ฌ์ด ์ ๋๋ฉ์ด์
ํจ๊ณผ - ์ ์ ํ ํผ validation ํผ๋๋ฐฑ 2. ํ์๊ฐ์
๊ธฐ๋ฅ 3. ๋ก๊ทธ์ธ ๊ธฐ๋ฅ - ์ด๋ฉ์ผ/๋น๋ฐ๋ฒํธ ์
๋ ฅ - ์๋๋ก๊ทธ์ธ ๊ธฐ๋ฅ - ๋น๋ฐ๋ฒํธ ์ฐพ๊ธฐ ๋งํฌ - ๋ก๊ทธ์ธ ์คํจ์ ์๋ฌ ๋ฉ์์ง - ๋ก๊ทธ์ธ ์ฑ๊ณต์ ํ์ ๋ฉ์์ง "
|
296 |
+
},
|
297 |
+
{
|
298 |
+
"name": "[์ ๋๋ฉ์ด์
] Interactive Timeline",
|
299 |
+
"image_url": "data:image/png;base64," + get_image_base64('timeline.png'),
|
300 |
+
"prompt": "Create a vertical timeline with animated entry points. When clicking on timeline items, show detailed information with smooth transitions. Include filtering options and scroll animations."
|
301 |
},
|
302 |
{
|
303 |
+
"name": "[๊ฒ์] ์นด๋ ๊ธฐ์ต ๊ฒ์",
|
304 |
+
"image_url": "data:image/png;base64," + get_image_base64('memory.png'),
|
305 |
+
"prompt": "Create a classic memory matching card game with flip animations. Include a scoring system, timer, and difficulty levels. Add satisfying match/mismatch animations and sound effects using Web Audio API."
|
306 |
+
},
|
|
|
307 |
{
|
308 |
+
"name": "[์ธํฐ๋ํฐ๋ธ] ์ปฌ๋ฌ ํ๋ ํธ",
|
309 |
+
"image_url": "data:image/png;base64," + get_image_base64('palette.png'),
|
310 |
+
"prompt": "๋ง์ฐ์ค ์์ง์์ ๋ฐ๋ผ ๋์ ์ผ๋ก ๋ณํ๋ ์ปฌ๋ฌ ํ๋ ํธ๋ฅผ ๋ง๋์ธ์. ์์ ์ ํ, ์ ์ฅ, ์กฐํฉ ๊ธฐ๋ฅ๊ณผ ํจ๊ป ๋ถ๋๋ฌ์ด ๊ทธ๋ผ๋ฐ์ด์
ํจ๊ณผ๋ฅผ ๊ตฌํํ์ธ์."
|
311 |
+
},
|
312 |
+
{
|
313 |
+
"name": "[์์ ฏ] ๋ ์จ ์ ๋๋ฉ์ด์
",
|
314 |
+
"image_url": "data:image/png;base64," + get_image_base64('weather.png'),
|
315 |
+
"prompt": "ํ์ฌ ๋ ์จ ์ํ๋ฅผ ๋ณด์ฌ์ฃผ๋ ์ ๋๋ฉ์ด์
์์ ฏ์ ๋ง๋์ธ์. ๋น, ๋, ๊ตฌ๋ฆ, ๋ฒ๊ฐ ๋ฑ์ ๋ ์จ ํจ๊ณผ๋ฅผ Canvas๋ก ๊ตฌํํ๊ณ ๋ถ๋๋ฌ์ด ์ ํ ํจ๊ณผ๋ฅผ ์ถ๊ฐํ์ธ์."
|
316 |
+
},
|
317 |
+
{
|
318 |
+
"name": "[์ดํํธ] ํํฐํด ํ
์คํธ",
|
319 |
+
"image_url": "data:image/png;base64," + get_image_base64('particle.png'),
|
320 |
+
"prompt": "ํ
์คํธ๊ฐ ํํฐํด๋ก ๋ณํ๋๋ ํจ๊ณผ๋ฅผ ๊ตฌํํ์ธ์. ๋ง์ฐ์ค ํธ๋ฒ์ ๊ธ์๊ฐ ํฉ์ด์ก๋ค๊ฐ ๋ค์ ๋ชจ์ด๋ ์ ๋๋ฉ์ด์
์ Canvas๋ก ๋ง๋์ธ์."
|
321 |
+
},
|
322 |
+
{
|
323 |
+
"name": "[3D] ์ฑ
์ฅ ๊ฐค๋ฌ๋ฆฌ",
|
324 |
+
"image_url": "data:image/png;base64," + get_image_base64('bookshelf.png'),
|
325 |
+
"prompt": "CSS 3D ๋ณํ์ ์ฌ์ฉํ์ฌ ํ์ ํ๋ ์ฑ
์ฅ ํํ์ ๊ฐค๋ฌ๋ฆฌ๋ฅผ ๋ง๋์ธ์. ๊ฐ ์ฑ
์ ํด๋ฆญํ๋ฉด ์์ธ ์ ๋ณด๊ฐ ๋ํ๋๋๋ก ๊ตฌํํ์ธ์."
|
326 |
+
},
|
327 |
+
{
|
328 |
+
"name": "[๊ฒ์] ๋ฆฌ๋ฌ ๊ฒ์",
|
329 |
+
"image_url": "data:image/png;base64," + get_image_base64('rhythm.png'),
|
330 |
+
"prompt": "Web Audio API๋ฅผ ํ์ฉํ ๊ฐ๋จํ ๋ฆฌ๋ฌ ๊ฒ์์ ๋ง๋์ธ์. ๋จ์ด์ง๋ ๋
ธํธ์ ํ์ด๋ฐ ํ์ , ์ ์ ์์คํ
์ ๊ตฌํํ์ธ์."
|
331 |
+
},
|
332 |
+
{
|
333 |
+
"name": "[์ ๋๋ฉ์ด์
] SVG ํจ์ค",
|
334 |
+
"image_url": "data:image/png;base64," + get_image_base64('svg.png'),
|
335 |
+
"prompt": "SVG ํจ์ค๋ฅผ ๋ฐ๋ผ ์์ง์ด๋ ์ ๋๋ฉ์ด์
์ ๊ตฌํํ์ธ์. ๋ค์ํ ๋ํ์ด ๊ทธ๋ ค์ง๋ ๊ณผ์ ์ ๋ณด์ฌ์ฃผ๊ณ ์ธํฐ๋ํฐ๋ธํ ์ปจํธ๋กค์ ์ถ๊ฐํ์ธ์."
|
336 |
+
},
|
337 |
+
{
|
338 |
+
"name": "[๋๊ตฌ] ๋๋ก์ ๋ณด๋",
|
339 |
+
"image_url": "data:image/png;base64," + get_image_base64('drawing.png'),
|
340 |
+
"prompt": "Canvas๋ฅผ ์ฌ์ฉํ ๊ทธ๋ฆฌ๊ธฐ ๋๊ตฌ๋ฅผ ๋ง๋์ธ์. ๋ธ๋ฌ์ ํฌ๊ธฐ, ์์ ๋ณ๊ฒฝ, ์ง์ฐ๊ฐ ๊ธฐ๋ฅ๊ณผ ๊ทธ๋ฆฌ๊ธฐ ๊ธฐ๋ก ์ ์ฅ ๊ธฐ๋ฅ์ ๊ตฌํํ์ธ์."
|
341 |
+
},
|
342 |
+
{
|
343 |
+
"name": "[๊ฒ์] ํผ์ฆ ์ฌ๋ผ์ด๋",
|
344 |
+
"image_url": "data:image/png;base64," + get_image_base64('puzzle.png'),
|
345 |
+
"prompt": "์ซ์๋ ์ด๋ฏธ์ง๋ฅผ ์ฌ์ฉํ ์ฌ๋ผ์ด๋ ํผ์ฆ ๊ฒ์์ ๋ง๋์ธ์. ์ด๋ ์ ๋๋ฉ์ด์
๊ณผ ์์ฑ ํ์ธ ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ธ์."
|
346 |
+
},
|
347 |
+
{
|
348 |
+
"name": "[์ดํํธ] ํํฐํด ์ปค์",
|
349 |
+
"image_url": "data:image/png;base64," + get_image_base64('cursor.png'),
|
350 |
+
"prompt": "๋ง์ฐ์ค ์ปค์๋ฅผ ๋ฐ๋ผ๋ค๋๋ ํํฐํด ํจ๊ณผ๋ฅผ ๋ง๋์ธ์. ๋ค์ํ ํํฐํด ํจํด๊ณผ ์์ ๋ณํ๋ฅผ ๊ตฌํํ์ธ์."
|
351 |
+
},
|
352 |
+
{
|
353 |
+
"name": "[๋๊ตฌ] ์ธํฐ๋ํฐ๋ธ ๋ฌ๋ ฅ",
|
354 |
+
"image_url": "data:image/png;base64," + get_image_base64('calendar.png'),
|
355 |
+
"prompt": "๋๋๊ทธ ์ค ๋๋กญ์ผ๋ก ์ผ์ ์ ๊ด๋ฆฌํ ์ ์๋ ๋ฌ๋ ฅ์ ๋ง๋์ธ์. ์ ๋๋ฉ์ด์
ํจ๊ณผ์ ์ผ์ ํํฐ๋ง ๊ธฐ๋ฅ์ ์ถ๊ฐํ์ธ์."
|
356 |
+
},
|
357 |
+
{
|
358 |
+
"name": "[๊ฒ์] ํ์ ๊ฒ์",
|
359 |
+
"image_url": "data:image/png;base64," + get_image_base64('typing.png'),
|
360 |
+
"prompt": "๋จ์ด์ง๋ ๋จ์ด๋ฅผ ํ์ดํํ์ฌ ์ ์๋ฅผ ์ป๋ ๊ฒ์์ ๋ง๋์ธ์. ๋์ด๋ ์กฐ์ ๊ณผ ํจ๊ณผ์์ ์ถ๊ฐํ์ธ์."
|
361 |
+
},
|
362 |
+
{
|
363 |
+
"name": "[์๊ฐํ] ๋ฐ์ดํฐ ์ ๋๋ฉ์ด์
",
|
364 |
+
"image_url": "data:image/png;base64," + get_image_base64('datavis.png'),
|
365 |
+
"prompt": "D3.js๋ฅผ ์ฌ์ฉํ์ฌ ๋ฐ์ดํฐ ๋ณํ๋ฅผ ์ ๋๋ฉ์ด์
์ผ๋ก ๋ณด์ฌ์ฃผ๋ ์ฐจํธ๋ฅผ ๋ง๋์ธ์. ๋ค์ํ ์ ํ ํจ๊ณผ๋ฅผ ์ถ๊ฐํ์ธ์."
|
366 |
+
},
|
367 |
+
{
|
368 |
+
"name": "[์๋ฎฌ๋ ์ด์
] ๋ฌผ๋ฆฌ ์์ง",
|
369 |
+
"image_url": "data:image/png;base64," + get_image_base64('physics.png'),
|
370 |
+
"prompt": "Canvas๋ฅผ ์ฌ์ฉํ์ฌ ๊ฐ๋จํ ๋ฌผ๋ฆฌ ์๋ฎฌ๋ ์ด์
์ ๊ตฌํํ์ธ์. ์ค๋ ฅ, ์ถฉ๋, ํ์ฑ ํจ๊ณผ๋ฅผ ์ ์ฉํ ๊ณต ํ๊ธฐ๊ธฐ ์๋ฎฌ๋ ์ด์
์ ๋ง๋์ธ์."
|
371 |
+
},
|
372 |
+
{
|
373 |
+
"name": "[์ค๋์ค] ์ฌ์ด๋ ๋ฏน์",
|
374 |
+
"image_url": "data:image/png;base64," + get_image_base64('mixer.png'),
|
375 |
+
"prompt": "Web Audio API๋ฅผ ์ฌ์ฉํ์ฌ ์ฌ๋ฌ ์์์ ๋ฏน์ฑํ ์ ์๋ ์ธํฐํ์ด์ค๋ฅผ ๋ง๋์ธ์. ๋ณผ๋ฅจ, ํจ๋, ์ดํํธ ์กฐ์ ๊ธฐ๋ฅ์ ๊ตฌํํ์ธ์."
|
376 |
+
},
|
377 |
+
{
|
378 |
+
"name": "[3D] ์นด๋ ๊ฐค๋ฌ๋ฆฌ",
|
379 |
+
"image_url": "data:image/png;base64," + get_image_base64('3dcards.png'),
|
380 |
+
"prompt": "Three.js๋ฅผ ์ฌ์ฉํ์ฌ 3D ๊ณต๊ฐ์์ ํ์ ํ๋ ์นด๋ ๊ฐค๋ฌ๋ฆฌ๋ฅผ ๋ง๋์ธ์. ๋ง์ฐ์ค ์ธํฐ๋์
๊ณผ ์ ๋๋ฉ์ด์
์ ์ถ๊ฐํ์ธ์."
|
381 |
+
},
|
382 |
+
{
|
383 |
+
"name": "[์๊ฐํ] ์ธํฐ๋ํฐ๋ธ ๋งต",
|
384 |
+
"image_url": "data:image/png;base64," + get_image_base64('map.png'),
|
385 |
+
"prompt": "SVG๋ฅผ ์ฌ์ฉํ์ฌ ์ธํฐ๋ํฐ๋ธํ ์ง๋๋ฅผ ๋ง๋์ธ์. ์ง์ญ ์ ํ, ๋ฐ์ดํฐ ์๊ฐํ, ์ค ๊ธฐ๋ฅ์ ๊ตฌํํ์ธ์."
|
386 |
+
},
|
387 |
+
{
|
388 |
+
"name": "[๋๊ตฌ] ํฌํ ์๋ํฐ",
|
389 |
+
"image_url": "data:image/png;base64," + get_image_base64('photoeditor.png'),
|
390 |
+
"prompt": "Canvas๋ฅผ ์ฌ์ฉํ์ฌ ๊ธฐ๋ณธ์ ์ธ ์ด๋ฏธ์ง ํธ์ง ๋๊ตฌ๋ฅผ ๋ง๋์ธ์. ํํฐ ์ ์ฉ, ์๋ฅด๊ธฐ, ํ์ ๊ธฐ๋ฅ์ ๊ตฌํํ์ธ์."
|
391 |
+
},
|
392 |
+
{
|
393 |
+
"name": "[์๊ฐํ] ๋ง์ธ๋๋งต",
|
394 |
+
"image_url": "data:image/png;base64," + get_image_base64('mindmap.png'),
|
395 |
+
"prompt": "D3.js๋ฅผ ์ฌ์ฉํ์ฌ ๋์ ๋ง์ธ๋๋งต์ ๋ง๋์ธ์. ๋
ธ๋ ์ถ๊ฐ/์ญ์ , ๋๋๊ทธ ์ค ๋๋กญ, ํ์ฅ/์ถ์ ์ ๋๋ฉ์ด์
์ ๊ตฌํํ์ธ์."
|
396 |
+
},
|
397 |
+
{
|
398 |
+
"name": "[3D] ์งํ ์์ฑ๊ธฐ",
|
399 |
+
"image_url": "data:image/png;base64," + get_image_base64('terrain.png'),
|
400 |
+
"prompt": "Three.js๋ก ํ๋ก์์ ๋ด ์งํ์ ์์ฑํ์ธ์. ๊ณ ๋, ํ
์ค์ฒ, ๋ฌผ ํจ๊ณผ๋ฅผ ์ค์๊ฐ์ผ๋ก ์กฐ์ ํ ์ ์๊ฒ ๋ง๋์ธ์."
|
401 |
+
},
|
402 |
+
{
|
403 |
+
"name": "[3D] ํ
์คํธ ์ ๋๋ฉ์ดํฐ",
|
404 |
+
"image_url": "data:image/png;base64," + get_image_base64('3dtext.png'),
|
405 |
+
"prompt": "Three.js๋ก 3D ํ
์คํธ ์ ๋๋ฉ์ด์
์ ๋ง๋์ธ์. ๋ค์ํ ๋ณํ ํจ๊ณผ์ ๋ฌผ๋ฆฌ ๊ธฐ๋ฐ ์
์ ํจ๊ณผ๋ฅผ ๊ตฌํํ์ธ์."
|
406 |
+
},
|
407 |
+
{
|
408 |
+
"name": "[๋๊ตฌ] ํจํด ๋์์ด๋",
|
409 |
+
"image_url": "data:image/png;base64," + get_image_base64('pattern.png'),
|
410 |
+
"prompt": "SVG๋ก ๋ฐ๋ณต ํจํด์ ๋์์ธํ๋ ๋๊ตฌ๋ฅผ ๋ง๋์ธ์. ๋์นญ ์ต์
, ์์ ์คํค๋ง ๊ด๋ฆฌ, ์ค์๊ฐ ํ๋ฆฌ๋ทฐ๋ฅผ ๊ตฌํํ์ธ์."
|
411 |
+
},
|
412 |
+
{
|
413 |
+
"name": "[๋ฉํฐ๋ฏธ๋์ด] ์ค์๊ฐ ํํฐ ์นด๋ฉ๋ผ",
|
414 |
+
"image_url": "data:image/png;base64," + get_image_base64('camera.png'),
|
415 |
+
"prompt": "WebRTC์ Canvas๋ฅผ ์ฌ์ฉํ์ฌ ์ค์๊ฐ ๋น๋์ค ํํฐ ์ฑ์ ๋ง๋์ธ์. ๋ค์ํ ์ด๋ฏธ์ง ์ฒ๋ฆฌ ํจ๊ณผ๋ฅผ ๊ตฌํํ์ธ์."
|
416 |
+
},
|
417 |
+
{
|
418 |
+
"name": "[์ ๋๋ฉ์ด์
] Interactive Stars",
|
419 |
+
"image_url": "data:image/png;base64," + get_image_base64('stars.png'),
|
420 |
+
"prompt": "Interactive Stars: Watch stars and constellations appear in the night sky as you move your mouse."
|
421 |
},
|
422 |
+
{
|
423 |
+
"name": "[์๊ฐํ] ์ค์๊ฐ ๋ฐ์ดํฐ ํ๋ก์ฐ",
|
424 |
+
"image_url": "data:image/png;base64," + get_image_base64('dataflow.png'),
|
425 |
+
"prompt": "D3.js๋ก ์ค์๊ฐ ๋ฐ์ดํฐ ํ๋ฆ์ ์๊ฐํํ์ธ์. ๋
ธ๋ ๊ธฐ๋ฐ ๋ฐ์ดํฐ ์ฒ๋ฆฌ์ ์ ๋๋ฉ์ด์
ํจ๊ณผ๋ฅผ ๊ตฌํํ์ธ์."
|
426 |
+
},
|
427 |
{
|
428 |
"name": "ํ
์คํธ",
|
429 |
"image_url": "data:image/gif;base64," + get_image_base64('mouse.gif'), # mouse.gif ์ฌ์ฉ
|