Skip to content

DaleStudy/chat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

ย 

History

20 Commits
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 
ย 

Repository files navigation

๋‹ฌ๋ ˆ ์Šคํ„ฐ๋”” AI ์ฑ—๋ด‡

๋‹ฌ๋ ˆ ์Šคํ„ฐ๋”” ์ปค๋ฎค๋‹ˆํ‹ฐ๋ฅผ ์œ„ํ•œ AI ์ฑ—๋ด‡ ์„œ๋น„์Šค์ž…๋‹ˆ๋‹ค.

๐Ÿ—๏ธ ํ”„๋กœ์ ํŠธ ๊ตฌ์กฐ

dalestudy-chatbot/
โ”œโ”€โ”€ frontend/          # React + TypeScript + Vite
โ”œโ”€โ”€ backend/           # Node.js + Express + TypeScript  
โ”œโ”€โ”€ data/             # JSON ๋ฐ์ดํ„ฐ ํŒŒ์ผ
โ”œโ”€โ”€ PLAN.md           # ํ”„๋กœ์ ํŠธ ๊ณ„ํš์„œ
โ””โ”€โ”€ README.md         # ์ด ํŒŒ์ผ

๐Ÿš€ ๋น ๋ฅธ ์‹œ์ž‘

Prerequisites

  • Node.js 18+
  • npm ๋˜๋Š” yarn

1. ์ €์žฅ์†Œ ํด๋ก 

git clone <repository-url>
cd dalestudy-chatbot

2. ๋ฐฑ์—”๋“œ ์‹คํ–‰

cd backend
cp .env.example .env
npm install
npm run dev

๋ฐฑ์—”๋“œ ์„œ๋ฒ„๊ฐ€ http://localhost:8080 ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

3. ํ”„๋ก ํŠธ์—”๋“œ ์‹คํ–‰

cd frontend
cp .env.example .env
npm install  
npm run dev

ํ”„๋ก ํŠธ์—”๋“œ๊ฐ€ http://localhost:3000 ์—์„œ ์‹คํ–‰๋ฉ๋‹ˆ๋‹ค.

๐Ÿ“ ์ฃผ์š” ํŒŒ์ผ

Frontend

  • src/components/ChatInterface.tsx - ๋ฉ”์ธ ์ฑ„ํŒ… ์ธํ„ฐํŽ˜์ด์Šค
  • src/components/MessageList.tsx - ๋ฉ”์‹œ์ง€ ๋ฆฌ์ŠคํŠธ ์ปดํฌ๋„ŒํŠธ
  • src/components/ChatInput.tsx - ๋ฉ”์‹œ์ง€ ์ž…๋ ฅ ์ปดํฌ๋„ŒํŠธ
  • src/api/index.ts - API ํ˜ธ์ถœ ํ•จ์ˆ˜๋“ค
  • src/types/index.ts - TypeScript ํƒ€์ž… ์ •์˜

Backend

  • src/index.ts - Express ์„œ๋ฒ„ ๋ฉ”์ธ ํŒŒ์ผ
  • src/routes/chat.ts - ์ฑ„ํŒ… API ๋ผ์šฐํ„ฐ
  • src/routes/search.ts - ๊ฒ€์ƒ‰ API ๋ผ์šฐํ„ฐ
  • src/services/searchService.ts - Fuse.js ๊ฒ€์ƒ‰ ์„œ๋น„์Šค
  • src/utils/dataLoader.ts - JSON ๋ฐ์ดํ„ฐ ๋กœ๋”
  • src/types/index.ts - TypeScript ํƒ€์ž… ์ •์˜

Data

  • data/study-projects.json - ์Šคํ„ฐ๋”” ํ”„๋กœ์ ํŠธ ๋ฐ FAQ ๋ฐ์ดํ„ฐ

๐Ÿ”ง ๊ฐœ๋ฐœ ๋ช…๋ น์–ด

Backend

npm run dev      # ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰ (watch mode)
npm run build    # TypeScript ๋นŒ๋“œ
npm run start    # ํ”„๋กœ๋•์…˜ ์„œ๋ฒ„ ์‹คํ–‰
npm run lint     # ESLint ์‹คํ–‰

Frontend

npm run dev      # ๊ฐœ๋ฐœ ์„œ๋ฒ„ ์‹คํ–‰
npm run build    # ํ”„๋กœ๋•์…˜ ๋นŒ๋“œ
npm run preview  # ๋นŒ๋“œ๋œ ํŒŒ์ผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
npm run lint     # ESLint ์‹คํ–‰

๐ŸŒ API ์—”๋“œํฌ์ธํŠธ

POST /api/chat

์‚ฌ์šฉ์ž ๋ฉ”์‹œ์ง€๋ฅผ ์ฒ˜๋ฆฌํ•˜๊ณ  AI ์‘๋‹ต์„ ๋ฐ˜ํ™˜ํ•ฉ๋‹ˆ๋‹ค.

Request:

{
  "message": "๋‹ฌ๋ ˆ ์Šคํ„ฐ๋””์— ์–ด๋–ป๊ฒŒ ์ฐธ์—ฌํ•˜๋‚˜์š”?"
}

Response:

{
  "message": "์›น์‚ฌ์ดํŠธ์—์„œ ๊ด€์‹ฌ ์žˆ๋Š” ์Šคํ„ฐ๋””๋ฅผ ์„ ํƒํ•˜๊ณ ...",
  "sources": [...]
}

GET /api/search

ํ‚ค์›Œ๋“œ๋กœ ์Šคํ„ฐ๋”” ์ •๋ณด๋ฅผ ๊ฒ€์ƒ‰ํ•ฉ๋‹ˆ๋‹ค.

Request:

GET /api/search?q=React ์Šคํ„ฐ๋””

Response:

{
  "query": "React ์Šคํ„ฐ๋””",
  "category": "study", 
  "results": [...]
}

๐Ÿ› ๏ธ ๋‹ค์Œ ๋‹จ๊ณ„

  1. LLM API ์—ฐ๋™ - OpenAI ๋˜๋Š” Anthropic API ์—ฐ๊ฒฐ
  2. ํ”„๋กฌํ”„ํŠธ ์—”์ง€๋‹ˆ์–ด๋ง - ๋” ๋‚˜์€ ๋‹ต๋ณ€์„ ์œ„ํ•œ ํ”„๋กฌํ”„ํŠธ ์ตœ์ ํ™”
  3. UI/UX ๊ฐœ์„  - ๋” ๋‚˜์€ ์‚ฌ์šฉ์ž ๊ฒฝํ—˜์„ ์œ„ํ•œ ๋””์ž์ธ ๊ฐœ์„ 
  4. ๋ฐฐํฌ ์„ค์ • - Vercel + Railway/Render ๋ฐฐํฌ ๊ตฌ์„ฑ

๐Ÿ“ ๋ผ์ด์„ผ์Šค

MIT License

About

๐Ÿ’ฌ ์ฑ—๋ด‡

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 7

Languages