"์ ๋น์ฌ์ ์ฌ์ ์ฑ ๋ฆฌ์คํฌ๋ฅผ ์ ๋ํํ๋ ๋ฐ์ดํฐ ๋ถ์ ์์ง" > ๋์๊ณตํ ์๋๋ฆฌ์ค์ ๊ณต์ฌ๋น ๋ณ์๋ฅผ ๊ฒฐํฉํ ์ค์๊ฐ ์ฌ์ ์ฑ ์๋ฎฌ๋ ์ด์ ํ๋ซํผ
Prop-Logic์ ์ ๋น์ฌ์ (์ฌ๊ฑด์ถ/์ฌ๊ฐ๋ฐ) ๊ณผ์ ์์ ์กฐํฉ์์ด ๊ฒช๋ ๋ถ๋ด๊ธ ๋ถํ์ค์ฑ์ ํด๊ฒฐํ๊ธฐ ์ํ ๋๊ตฌ์ ๋๋ค. ๋ณต์กํ ์์์ ๋ฐฐ์ ํ๊ณ ํต์ฌ ๋ณ์์ธ **'๊ณต์ฌ๋น'**์ **'์์ฐ๊ฐ์น'**๋ฅผ ์ ์ดํ์ฌ ๋๊ตฌ๋ ์ง๊ด์ ์ผ๋ก ์ฌ์ ์์ ์ฑ์ ์ ๊ฒํ ์ ์๋๋ก ์ค๊ณ๋์์ต๋๋ค. ๋ณธ ํ๋ซํผ์ ์กฐํฉ์ ๋จ์ ๋ฆฌ์คํฌ ์ง๋จ๊ณผ ๋์์, ๋จ์ง ๋จ์ ๊ตฌ์กฐ ๋ฐ์ดํฐ๋ฅผ ์ถ์ ํ๋ ๋ฏผ๊ฐ ๋ฐ์ดํฐ ๋ ์ด์ด ๊ตฌ์ถ์ ๋ชฉํ๋ก ํฉ๋๋ค.
- ์ค์๊ฐ ๊ตฌ์กฐ ๋ถ์ ์์ง: ์ฌ๋ผ์ด๋๋ฅผ ํตํด ํ๋น ๊ณต์ฌ๋น ๋ณํ์ ๋ฐ๋ฅธ ์ฌ์ ์์ ์ฑ(Prop-Logic Index) ์ค์๊ฐ ์ฐ์ถ
- ์์ฅ ํ๊ฒฝ ์๋๋ฆฌ์ค: ํ์ฌ ํ๊ท , ์ต์ ๊ฐ์ , ์ต๊ณ ๊ตฌ๊ฐ ๋ฑ 3๊ฐ์ง ๊ฑฐ์๊ฒฝ์ ์๋๋ฆฌ์ค ์ ์ฉ
- ๋ฐ์ดํฐ ๊ธฐ๋ฐ ๋ฆฌ๋ ์์ง: ๋ถ์ ๊ฒฐ๊ณผ๋ฅผ ๋ฐํ์ผ๋ก ์ ๋ฌธ๊ฐ ์ ๋ฐ ๊ฒ์ฆ ๋ณด๊ณ ์ ์ ์ฒญ ํ๋ก์ธ์ค ๊ตฌํ
- ๋ฐ์ํ UX: ๋ชจ๋ฐ์ผ๊ณผ ๋ฐ์คํฌํ ์ด๋์๋ ์พ์ ํ๊ฒ ์๋ฎฌ๋ ์ด์ ๊ฐ๋ฅํ ๋์๋ณด๋ UI
- Framework: Next.js 15 (App Router)
- Styling: CSS Modules (Custom Laboratory Theme)
- Deployment: Vercel
- Logic Engine: Python FastAPI (Deployed on Render)
- Database: Supabase (PostgreSQL)
- Authentication/Security: Supabase RLS (Row Level Security)
๋ธ๋ผ์ฐ์ ์ CORS ์ด์๋ฅผ ๋ฐฉ์งํ๊ณ ๋ฐฑ์๋ ๋ณด์์ ๊ฐํํ๊ธฐ ์ํด Next.js ๋ด๋ถ API Route๋ฅผ ํ๋ก์๋ก ์ฌ์ฉํ์ฌ ์๋ฒ ๊ฐ ํต์ (S2S) ๊ตฌ์กฐ๋ฅผ ๊ตฌ์ถํ์ต๋๋ค.
์ฌ์ฉ์์ ๋น๋ฒํ ์ ๋ ฅ ๋ณํ(Slider ๋๋๊ทธ ๋ฑ)๋ก ์ธํ ๋ถํ์ํ API ํธ์ถ์ ๋ฐฉ์งํ๊ธฐ ์ํด 500ms ๋๋ฐ์ด์ฑ ๋ก์ง์ ์ ์ฉ, ์๋ฒ ๋ถํ๋ฅผ ์ต์ํํ์ต๋๋ค.
expert_requests ํ
์ด๋ธ์ ๋ํด ์ต๋ช
์ฌ์ฉ์์ INSERT ๊ถํ๋ง ํ์ฉํ๊ณ , ์ธ๋ถ์์์ SELECT๋ฅผ ์์ฒ ์ฐจ๋จํ์ฌ ์ฌ์ฉ์ ์ด๋ฉ์ผ ๋ฑ ๋ฆฌ๋ ๋ฐ์ดํฐ๋ฅผ ์์ ํ๊ฒ ๋ณดํธํฉ๋๋ค.
-
์ ์ฅ์ ํด๋ก
git clone [https://github.com/mdeeno/mdeeno-platform.git](https://github.com/mdeeno/mdeeno-platform.git)
-
ํจํค์ง ์ค์น
pnpm install
-
ํ๊ฒฝ ๋ณ์ ์ธํ (.env.local)
NEXT_PUBLIC_SUPABASE_URL=your_supabase_url NEXT_PUBLIC_SUPABASE_ANON_KEY=your_supabase_anon_key
-
๋ก์ปฌ ์๋ฒ ์คํ
pnpm dev
- M-DEENO Official (mdeeno.com)
- ์ ๋น์ฌ์ ๋ฐ ๋ถ๋์ฐ ์์ฌ๊ฒฐ์ ๊ตฌ์กฐ ์ฐ๊ตฌ์
ยฉ 2026 M-DEENO. All rights reserved.