| π― μ£Όμ κΈ°λ₯ μκ° | π κ°λ° νκ²½ μΈν |
| π§ μμ€ν μν€ν μ² | π API λͺ μΈμ |
| πΎ ERD μ€κ³ | π κΈ°μ λ¬Έμ |
CS λ½λ½μ μκΈ° μ€μ¬μ CS νμ΅μμ λ²μ΄λ,
μκ°νκ³ μ€λͺ νλ©° μ±μ₯νλ CS νμ΅ κ²½νμ μ 곡νλ μλΉμ€μ λλ€.CS λ½λ½μ λ¨μν λ¬Έμ μ μ λ΅μ μ 곡νλ μλΉμ€κ° μλλλ€.
λμ μ¬μ©μκ°
- μμ μ μΈμ΄λ‘ κ°λ μ κΊΌλ΄ λ§νκ³ ,
- 체ν¬λ¦¬μ€νΈμ μκ° μ§λ¨μ ν΅ν΄ λ Όλ¦¬μ λΉνμ μ κ²νλ©°,
- ν΅μ¬ ν€μλ λΆμκ³Ό μ¬κ³ λ₯Ό νμ₯νλ AI νΌλλ°±μ ν΅ν΄ νμ΅μ μ΄μ΄κ°λλ‘ μ€κ³λμμ΅λλ€.
CS λ½λ½μ
"νλ©΄μ μΈ μ΄ν΄μ λ¨Έλ¬Έ μ§μ"μ "μ€λͺ ν μ μλ μ§μ"μΌλ‘ λ°κΎΈλ νμ΅ κ²½νμ μ 곡ν©λλ€.
| κΈ°λ₯ | μ€λͺ | ν΅μ¬ λͺ©μ |
|---|---|---|
| π£ λ§νκΈ° μ°μ΅ | CS ν΄μ¦μ λν΄ μμ± λ΅λ³νκ³ , μ΄μ λν AI νΌλλ°± μ 곡 | κ°λ μ μμ μ μΈμ΄λ‘ ꡬ쑰ν |
| β 체ν¬λ¦¬μ€νΈ μκ°μ§λ¨ | μμ μ΄ λ΅ν λ΄μ©μ μ€μ€λ‘ μ κ² | μμ μ λμ보며 λΉνμ λ°κ²¬ |
| π€ AI νΌλλ°± | λλ½ κ°λ κ°μ‘°, μ°κ΄ κ°λ λ° κΌ¬λ¦¬ μ§λ¬Έ μμ± | λ΅λ³ 보μ λ° μ¬κ³ νμ₯ μ λ |
| π₯ λͺΈνκΈ° ν΄μ¦ (κ°κ΄μ) | λ§νκΈ° μ κ΄λ ¨ κ°λ μ λΉ λ₯΄κ² μ κ² | μ¬μ κ°λ νμ±ν |
| π νμ΅ λ¦¬ν¬νΈ | μ·¨μ½ λΆμΌ λΆμ, νλ κΈ°λ‘ μκ°ν, λ³΅μ΅ λμ μ 리 | νμ΅ κΈ°λ‘ μ 리 |
- νμ΅νκ³ μ νλ CS ν΄μ¦λ₯Ό μ νν©λλ€.
- λμ΄λ/μΉ΄ν
κ³ λ¦¬λ³λ‘ νν°λ§νμ¬ ν΄μ¦λ₯Ό μ νν μ μμ΅λλ€.

- λ©μΈν΄μ¦(λ§νκΈ°)λ₯Ό νκΈ° μ , λͺΈνκΈ° λ¬Έμ λ‘ κ°λ μ κ°μ μ‘μλ³Ό μ μμ΅λλ€.
- κ°κ΄μ ν΄μ¦ μ 곡 : 4μ§μ λ€νμΌλ‘ κ°λ³κ² νλ©΄μ κ°λ
μ μμ μ΅ν보μΈμ π

- ν΄μ¦μ λν΄ μ§μ λ§λ‘ λ΅λ³νλ©°, κ°λ μ μμ μ μΈμ΄λ‘ μ€λͺ νλ μ°μ΅μ λλ κΈ°λ₯μ λλ€.
- STT κΈ°μ μ νμ©νμ¬ μ¬μ©μμ μμ± λ΅λ³μ ν μ€νΈλ‘ λ³νν©λλ€.
- ν μ€νΈ λ΅λ³ λͺ¨λ μ 곡 : λ§νκΈ°κ° μ΄λ ΅κ±°λ λΆλ΄λ κ²½μ°, ν μ€νΈλ‘λ λ΅λ³ν μ μμ΅λλ€.
- λ―Έλ¬λ§ κΈ°λ₯ : λ§νκΈ° λ΅λ³ μ€ λΉλμ€ λ
Ήνλ₯Ό ν΅ν΄, μμ μ λ§νλ λͺ¨μ΅μ λ€μ 보며 μ€μ€λ‘ μ κ²ν μ μμ΅λλ€.

- 체ν¬λ¦¬μ€νΈλ₯Ό ν΅ν΄, λμ λ΅λ³μ κΈ°μ€μΌλ‘ μ΄ν΄λλ₯Ό μ€μ€λ‘ μ κ²ν μ μμ΅λλ€.
- λμ λ΅λ³ : μμ± λλ ν μ€νΈλ‘ μ μΆν λ΅λ³μ νμΈν μ μμ΅λλ€. νμν λΆλΆμ μμ λ‘κ² μμ ν μ μμ΅λλ€.
- 체ν¬λ¦¬μ€νΈ μ 곡 : λ©μΈ ν΄μ¦μ λν 체ν¬λ¦¬μ€νΈλ₯Ό μ 곡νμ¬ λ΅λ³μ λν μ΄ν΄λλ₯Ό μκ°μ§λ¨ ν΄λ³Ό μ μμ΅λλ€.

- ν΅μ¬ κ°λ μ λ κΉμ΄ νμ΅ ν μ μλλ‘ λ³΄μ ν¬μΈνΈμ 꼬리 μ§λ¬Έμ μ 곡ν©λλ€.
- AI νΌλλ°± μ 곡 : λ΅λ³κ³Ό ν΅μ¬ ν€μλλ₯Ό κΈ°λ°μΌλ‘ AI μ’
ν© λΆμ νΌλλ°±μ νμΈν μ μμ΅λλ€.

- νμλ ν΄μ¦μ λν μ΄ν΄λμ μ§νλ₯ μ κ·Έλνλ‘ νμΈν μ μμ΅λλ€.
- νμλ ν΄μ¦λ₯Ό μ€μλ λ³λ‘ λͺ¨μλ³Ό μ μκ³ , AI νΌλλ°±μ λ€μ λ³Ό μ μμ΅λλ€.

frontend/.env
# νλ‘ νΈμλ API URL μ€μ (docker + nginx μ¬μ©)
# API_BASE_URL=http://backend:8080/api
# NEXT_PUBLIC_API_BASE_URL=/api
NODE_ENV=production
# local testμ©
API_BASE_URL=http://localhost:8080/api
NEXT_PUBLIC_API_BASE_URL=http://localhost:8080/api
# [Naver OAuth - Frontend]
NEXT_PUBLIC_NAVER_CLIENT_ID=naver_oauth_client_id_here
NEXT_PUBLIC_NAVER_REDIRECT_URI=http://localhost:3000/auth/callback/naver
backend/.env
# dev DB (docker-compose.dev μ μ μ 보)
DB_HOST=localhost
DB_PORT=5433
DB_USERNAME=dbuser
DB_PASSWORD=dbpass
DB_DATABASE=csbbokbbok_db
#[BE] GEMINI
GEMINI_API_KEY=your_gemini_api_key_here
#[BE] CLOVA Speech
NAVER_CLOVA_SPEECH_INVOKE_URL=your_naver_clova_speech_invoke_url_here
NAVER_CLOVA_SPEECH_SECRET_KEY=your_naver_clova_speech_secret_key_here
NAVER_CLOVA_SPEECH_DEFAULT_LANG=ko-KR
# [Naver OAuth - Backend]
NAVER_CLIENT_ID=naver_oauth_client_id_here
NAVER_CLIENT_SECRET=naver_oauth_client_secret_here
# [Redis] (docker-compose.dev μ μ μ 보)
REDIS_HOST=localhost
REDIS_PORT=6380
REDIS_PASSWORD=root
#[BE] JWT
JWT_SECRET=your_jwt_secret_here
#[BE] LOG
LOG_LEVEL=debug
LOG_DIR=logs
LOG_TO_FILE=false
NODE_ENV=production
Environment Variables
- λ€μ κ°λ€μ μ§μ λ°κΈ λ° μ€μ μ΄ νμν©λλ€.
- NEXT_PUBLIC_NAVER_CLIENT_ID: (NAVER Login κ°λ° κ°μ΄λ μ°Έκ³ )
- GEMINI_API_KEY: (Gemini API κ°μ΄λ μ°Έκ³ )
- NAVER_CLOVA_SPEECH_INVOKE_URL: (NAVER CLOVA Speech κ°μ΄λ μ°Έκ³ )
- NAVER_CLOVA_SPEECH_SECRET_KEY: (NAVER CLOVA Speech κ°μ΄λ μ°Έκ³ )
- NAVER_CLIENT_ID: (NAVER Login κ°λ° κ°μ΄λ μ°Έκ³ )
- NAVER_CLIENT_SECRET: (NAVER Login κ°λ° κ°μ΄λ μ°Έκ³ )
- JWT_SECRET: (NAVER Login κ°λ° κ°μ΄λ μ°Έκ³ )
- DB, Redis 컨ν μ΄λ μ€ν
docker-compose -f docker-compose.dev.yml up -d --build postgres redis
- νλ‘μ νΈ rootμμ μλ λͺ λ Ήμ΄ μ€ν
npm run install:all
- νλ‘μ νΈ rootμμ μλ λͺ λ Ήμ΄ μ€ν
npm run db:init
- νλ‘μ νΈ rootμμ μλ λͺ λ Ήμ΄ μ€ν
npm run dev
Frontendβhttp://localhost:3000Backendβhttp://localhost:8080PostgreSQLβlocalhost:5433
docker compose -f docker-compose.dev.yml down
| λ₯μ§μ | λ°νλ¦° | μ μμ°¬ | μ§μλ―Έ |
|---|---|---|---|
![]() |
![]() |
![]() |
![]() |
| @sw-dev-j | @mangoooooo1 | @Standard-Chan | @jum0624 |





