https://github.com/dalestudy/chat
๐ฌ ์ฑ๋ด
https://github.com/dalestudy/chat
Last synced: 10 days ago
JSON representation
๐ฌ ์ฑ๋ด
- Host: GitHub
- URL: https://github.com/dalestudy/chat
- Owner: DaleStudy
- Created: 2025-08-01T23:27:36.000Z (11 months ago)
- Default Branch: main
- Last Pushed: 2025-09-03T23:00:47.000Z (10 months ago)
- Last Synced: 2026-05-28T20:33:23.806Z (29 days ago)
- Language: TypeScript
- Homepage: https://chat.dalestudy.com/
- Size: 160 KB
- Stars: 2
- Watchers: 0
- Forks: 1
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# ๋ฌ๋ ์คํฐ๋ 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. ์ ์ฅ์ ํด๋ก
```bash
git clone
cd dalestudy-chatbot
```
### 2. ๋ฐฑ์๋ ์คํ
```bash
cd backend
cp .env.example .env
npm install
npm run dev
```
๋ฐฑ์๋ ์๋ฒ๊ฐ http://localhost:8080 ์์ ์คํ๋ฉ๋๋ค.
### 3. ํ๋ก ํธ์๋ ์คํ
```bash
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
```bash
npm run dev # ๊ฐ๋ฐ ์๋ฒ ์คํ (watch mode)
npm run build # TypeScript ๋น๋
npm run start # ํ๋ก๋์
์๋ฒ ์คํ
npm run lint # ESLint ์คํ
```
### Frontend
```bash
npm run dev # ๊ฐ๋ฐ ์๋ฒ ์คํ
npm run build # ํ๋ก๋์
๋น๋
npm run preview # ๋น๋๋ ํ์ผ ๋ฏธ๋ฆฌ๋ณด๊ธฐ
npm run lint # ESLint ์คํ
```
## ๐ API ์๋ํฌ์ธํธ
### POST /api/chat
์ฌ์ฉ์ ๋ฉ์์ง๋ฅผ ์ฒ๋ฆฌํ๊ณ AI ์๋ต์ ๋ฐํํฉ๋๋ค.
**Request:**
```json
{
"message": "๋ฌ๋ ์คํฐ๋์ ์ด๋ป๊ฒ ์ฐธ์ฌํ๋์?"
}
```
**Response:**
```json
{
"message": "์น์ฌ์ดํธ์์ ๊ด์ฌ ์๋ ์คํฐ๋๋ฅผ ์ ํํ๊ณ ...",
"sources": [...]
}
```
### GET /api/search
ํค์๋๋ก ์คํฐ๋ ์ ๋ณด๋ฅผ ๊ฒ์ํฉ๋๋ค.
**Request:**
```
GET /api/search?q=React ์คํฐ๋
```
**Response:**
```json
{
"query": "React ์คํฐ๋",
"category": "study",
"results": [...]
}
```
## ๐ ๏ธ ๋ค์ ๋จ๊ณ
1. **LLM API ์ฐ๋** - OpenAI ๋๋ Anthropic API ์ฐ๊ฒฐ
2. **ํ๋กฌํํธ ์์ง๋์ด๋ง** - ๋ ๋์ ๋ต๋ณ์ ์ํ ํ๋กฌํํธ ์ต์ ํ
3. **UI/UX ๊ฐ์ ** - ๋ ๋์ ์ฌ์ฉ์ ๊ฒฝํ์ ์ํ ๋์์ธ ๊ฐ์
4. **๋ฐฐํฌ ์ค์ ** - Vercel + Railway/Render ๋ฐฐํฌ ๊ตฌ์ฑ
## ๐ ๋ผ์ด์ผ์ค
MIT License