λ³Έ νλ‘μ νΈ MODiλ "κΈ°μ μ΄ κ°μ‘±μ μ°κ²°ν μ μλ€"λ μκ°μμ μμλ μΉ κΈ°λ° μ±λ΄ νλ«νΌμ λλ€. ν΅μ μ¬ μκΈμ μΆμ²κ³Ό κ°μ‘± μν΅μ μ΅ν©ν μλΉμ€λ‘, κ°μΈκ³Ό κ°μ‘±μ΄ ν¨κ» μκΈμ λ₯Ό λΉκ΅νκ³ λΉμ©μ μ κ°ν μ μλλ‘ λμμ€λλ€.
κ°μ‘± μ€νμ΄μ€ κΈ°λ₯μ ν΅ν΄ μ΄λμ½λλ‘ κ°μ‘±μ μ΄λνκ³ , 곡λ λͺ©νμΈ μμΉ ν€μ°κΈ°λ₯Ό ν΅ν΄ κ°μ‘± κ° μν΅κ³Ό νλ ₯μ μ λν©λλ€.
λ§μΆ€ν μ±λ΄μ μ¬μ©μμ ν΅μ μ±ν₯μ λΆμν΄ μ΅μ μ μκΈμ λ₯Ό μΆμ²νλ©°, μμ± κΈ°λ₯(TTS/STT)μ μ§μν©λλ€.
MODiλ λ¨μν λΉμ© μ μ½μ λμ΄, κ°μ‘± κ° μ μμ μ λκ°μ κ°ννκ³ , μΈλ κ° λμ§νΈ 격차λ₯Ό ν΄μνλ μλ‘μ΄ ν¨λ°λ¦¬ν ν¬ κ²½νμ μ 곡ν©λλ€.
| κΈ°λ₯λͺ | μ€λͺ |
|---|---|
| AI κΈ°λ° μκΈμ μΆμ² μ±λ΄ | μ¬μ©μμ μ€λ¬Έ λ°μ΄ν°μ μ¬μ© νμ€ν 리λ₯Ό λ°νμΌλ‘ κ°μΈνλ μκΈμ μΆμ² μ 곡 |
| κ°μ‘± μ€νμ΄μ€ | κ°μ‘±λΌλ¦¬ μ΄λμ½λλ₯Ό μ΄μ©ν΄ μκΈμ μΆμ² κ²°κ³Ό 곡μ λ° μ견 μν΅ κ³΅κ° μ 곡 |
| μ±μ₯ν UX (μμΉ ν€μ°κΈ°) | μ±λ΄ μ¬μ©, λ―Έμ μν λ± νλμ ν΅ν΄ κ°μ‘±μ΄ ν¨κ» μμΉμ ν€μ°λ©° μν΅νλ κ²½ν μ 곡 |
| μΉ΄μΉ΄μ€ μ°λ νμκ°μ | μΉ΄μΉ΄μ€ κ³μ μ ν΅ν κ°νΈ νμκ°μ λ° μ¬μ©μ μ±ν₯ νμ λ°μ΄ν° ν보 |
| μμ± μ§μ (TTS/STT) | λ©μμ§ μ λ ₯ λ° μλ΅μ μμ±μΌλ‘ μ§μν΄ νΈμμ± ν₯μ |
| μ€λ¬Έ κΈ°λ° λ§μΆ€ν μΆμ² | ν΅μ μ¬μ© μ±ν₯ μ€λ¬Έμ ν΅ν΄ μ¬μ©μλ₯Ό 5κ°μ§ μΊλ¦ν°λ‘ λΆλ₯νμ¬ μ΅μ μ μκΈμ μΆμ² |
| μ±λ΄ μΆμ² 곡μ κΈ°λ₯ | μ±λ΄μ΄ μΆμ²ν μκΈμ λ₯Ό κ°μ‘± μ€νμ΄μ€ λ΄μμ μ½κ² 곡μ νκ³ λ Όμν μ μλλ‘ μ§μ |
| μμΉ μ±μ₯ 리μλ | λ―Έμ μνμΌλ‘ μμΉμ μ±μ₯μν€κ³ , μ΅μ’ λ¨κ³ λ¬μ± μ 리μλ μ 곡 (μΏ ν°, μκΈ ν μΈ, μ€μ λ무 μ¬κΈ° λ±) |
| κ°μ± λ©μμ§ μΉ΄λ | κ°μ‘± κ°μ κ°μ±μ μν΅μ λλ λ©μμ§ μΉ΄λλ₯Ό μ€νμ΄μ€ λ΄μ 곡μ κ°λ₯ |
| λ§μ΄νμ΄μ§ κ΄λ¦¬ | κ°μΈ λ§μΆ€ν μ€λ¬Έ κ²°κ³Ό, μκΈμ νμ€ν 리 λ± μ¬μ©μμ κ°μΈ μ 보λ₯Ό νλμ κ΄λ¦¬ κ°λ₯ |
| κ΅¬λΆ | μ¬μ© κΈ°μ |
|---|---|
| Frontend | |
| Styling | |
| State Management | |
| API Client | |
| Backend | |
| Authentication |
MODi/
βββ app/ # Next.js App Router
β βββ login/ # λ‘κ·ΈμΈ κ΄λ ¨ νμ΄μ§
β βββ (app)/ # λ©μΈ μ½ν
μΈ κ·Έλ£Ή
β βββ basic-info/ # κΈ°λ³Έ μ 보 μ
λ ₯
β βββ chat/ # AI μλ΄
β βββ family-space/ # κ°μ‘± 곡κ°
β βββ family-space-tutorial/ # κ°μ‘± κ³΅κ° νν 리μΌ
β βββ my-page/ # λ§μ΄νμ΄μ§
β βββ plant-game/ # μλ¬Ό κ²μ
β βββ plant-selection/ # μλ¬Ό μ ν
β βββ result/ # κ²°κ³Ό νμ΄μ§
β βββ survey/ # μ€λ¬Έμ‘°μ¬
β βββ survey-result/ # μ€λ¬Έ κ²°κ³Ό
βββ components/ # μ¬μ¬μ© κ°λ₯ν μ»΄ν¬λνΈ
β βββ chat/ # μ±ν
κ΄λ ¨ μ»΄ν¬λνΈ
β βββ family-space/ # κ°μ‘± κ³΅κ° κ΄λ ¨ μ»΄ν¬λνΈ
β βββ layouts/ # λ μ΄μμ μ»΄ν¬λνΈ
β βββ login/ # λ‘κ·ΈμΈ κ΄λ ¨ μ»΄ν¬λνΈ
β βββ my-page/ # λ§μ΄νμ΄μ§ μ»΄ν¬λνΈ
β βββ plant/ # μλ¬Ό κ΄λ ¨ μ»΄ν¬λνΈ
β βββ plant-game/ # μλ¬Ό κ²μ μ»΄ν¬λνΈ
β βββ plant-selection/ # μλ¬Ό μ ν μ»΄ν¬λνΈ
β βββ providers/ # νλ‘λ°μ΄λ μ»΄ν¬λνΈ
β βββ survey/ # μ€λ¬Έμ‘°μ¬ μ»΄ν¬λνΈ
β βββ ui/ # κΈ°λ³Έ UI μ»΄ν¬λνΈ (Radix UI κΈ°λ°)
βββ contexts/ # React Context
βββ hooks/ # 컀μ€ν
ν
β βββ family/ # κ°μ‘± κ΄λ ¨ ν
β βββ plant/ # μλ¬Ό κ΄λ ¨ ν
βββ lib/ # μ νΈλ¦¬ν° λ° API
β βββ api/ # API ν΄λΌμ΄μΈνΈ
βββ public/ # μ μ νμΌ
β βββ animations/ # μ λλ©μ΄μ
νμΌ
β βββ images/ # μ΄λ―Έμ§ νμΌ
β βββ videos/ # λΉλμ€ νμΌ
βββ services/ # μλΉμ€ λ μ΄μ΄
βββ store/ # Zustand μ€ν μ΄
βββ styles/ # μ€νμΌ νμΌ
βββ types/ # TypeScript νμ
μ μ
| νλ©΄ | μ΄λ―Έμ§ |
|---|---|
| λ©μΈ νμ΄μ§ | ![]() |
| μ±λ΄ μΌλ°λͺ¨λ | ![]() |
| μ±λ΄ κ°μ‘±λͺ¨λ | ![]() |
| κ°μ‘± μ€νμ΄μ€ | ![]() |
| μμΉ ν€μ°κΈ° - λ¬Όμ£ΌκΈ° | ![]() |
| μμΉ ν€μ°κΈ° - λ 벨μ | ![]() |
| 보μ λ°κΈ° | ![]() |
2025 MIT License








