feat: 대역폭 추정 및 DAU 표시 기능 추가
- 동시접속자 기반 월간 대역폭 자동 추정 - DAU(일일활성사용자) 추정치 표시 (동접 × 10-14) - 대역폭 기반 Linode/Vultr 자동 선택 로직 - 비용 분석에 대역폭 비용 포함 - 지역 미선택시 서울/도쿄/오사카/싱가포르 기본 표시 - 지역별 서버 분리 표시 (GROUP BY instance + region) Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
156
QUICKSTART.md
Normal file
156
QUICKSTART.md
Normal file
@@ -0,0 +1,156 @@
|
||||
# Quick Start Guide
|
||||
|
||||
## Prerequisites
|
||||
|
||||
- Node.js 18+ installed
|
||||
- Cloudflare account
|
||||
- Wrangler CLI (installed via npm)
|
||||
|
||||
## 5-Minute Setup
|
||||
|
||||
### 1. Install Dependencies (30 seconds)
|
||||
```bash
|
||||
npm install
|
||||
```
|
||||
|
||||
### 2. Create Cloudflare Resources (2 minutes)
|
||||
|
||||
**Create D1 Database:**
|
||||
```bash
|
||||
npx wrangler d1 create server-recommend-db
|
||||
```
|
||||
Copy the `database_id` from output.
|
||||
|
||||
**Create KV Namespace:**
|
||||
```bash
|
||||
npx wrangler kv:namespace create CACHE
|
||||
```
|
||||
Copy the `id` from output.
|
||||
|
||||
**Update wrangler.toml:**
|
||||
Edit `wrangler.toml` and fill in the IDs:
|
||||
```toml
|
||||
[[d1_databases]]
|
||||
binding = "DB"
|
||||
database_name = "server-recommend-db"
|
||||
database_id = "YOUR_DATABASE_ID_HERE" # <-- Paste here
|
||||
|
||||
[[kv_namespaces]]
|
||||
binding = "CACHE"
|
||||
id = "YOUR_KV_ID_HERE" # <-- Paste here
|
||||
```
|
||||
|
||||
### 3. Initialize Database (1 minute)
|
||||
|
||||
**Create Schema:**
|
||||
```bash
|
||||
npx wrangler d1 execute server-recommend-db --file=schema.sql
|
||||
```
|
||||
|
||||
**Seed Sample Data (Optional but Recommended):**
|
||||
```bash
|
||||
npx wrangler d1 execute server-recommend-db --file=seed.sql
|
||||
```
|
||||
|
||||
### 4. Test Locally (1 minute)
|
||||
|
||||
**Start Development Server:**
|
||||
```bash
|
||||
npm run dev
|
||||
```
|
||||
|
||||
**Test in Another Terminal:**
|
||||
```bash
|
||||
# Health check
|
||||
curl http://localhost:8787/api/health
|
||||
|
||||
# Get servers
|
||||
curl http://localhost:8787/api/servers
|
||||
|
||||
# Get recommendation
|
||||
curl -X POST http://localhost:8787/api/recommend \
|
||||
-H "Content-Type: application/json" \
|
||||
-d '{
|
||||
"cpu_cores": 2,
|
||||
"memory_gb": 4,
|
||||
"storage_gb": 80
|
||||
}'
|
||||
```
|
||||
|
||||
Or run the test suite:
|
||||
```bash
|
||||
./test.sh
|
||||
```
|
||||
|
||||
### 5. Deploy (30 seconds)
|
||||
```bash
|
||||
npm run deploy
|
||||
```
|
||||
|
||||
Your worker is now live at `https://server-recommend.YOUR_SUBDOMAIN.workers.dev`!
|
||||
|
||||
## Test Your Deployment
|
||||
|
||||
```bash
|
||||
# Replace with your actual worker URL
|
||||
WORKER_URL="https://server-recommend.YOUR_SUBDOMAIN.workers.dev"
|
||||
|
||||
# Health check
|
||||
curl $WORKER_URL/api/health
|
||||
|
||||
# Get recommendation
|
||||
curl -X POST $WORKER_URL/api/recommend \
|
||||
-H "Content-Type: application/json" \
|
||||
-d @test-request.json
|
||||
```
|
||||
|
||||
## What's Next?
|
||||
|
||||
1. **Add More Servers**: Add your actual server data to D1
|
||||
2. **Customize Prompts**: Edit AI prompts in `src/index.ts` (lines 488-551)
|
||||
3. **Monitor Logs**: `npx wrangler tail` to see real-time logs
|
||||
4. **Adjust Caching**: Change TTL in `src/index.ts` (line 229)
|
||||
5. **API Documentation**: See [README.md](./README.md) for full API docs
|
||||
|
||||
## Common Issues
|
||||
|
||||
**"Database not found"**
|
||||
- Make sure you updated `wrangler.toml` with correct `database_id`
|
||||
- Run `npx wrangler d1 list` to verify database exists
|
||||
|
||||
**"KV namespace not found"**
|
||||
- Make sure you updated `wrangler.toml` with correct KV `id`
|
||||
- Run `npx wrangler kv:namespace list` to verify namespace exists
|
||||
|
||||
**"Workers AI error"**
|
||||
- Workers AI is automatically available, no setup needed
|
||||
- Check quota limits in Cloudflare dashboard
|
||||
|
||||
**"No servers found"**
|
||||
- Make sure you ran `seed.sql` to populate sample data
|
||||
- Or add your own server data to D1
|
||||
|
||||
## File Structure
|
||||
|
||||
```
|
||||
server-recommend/
|
||||
├── src/
|
||||
│ └── index.ts # Main worker code (701 lines)
|
||||
├── schema.sql # Database schema
|
||||
├── seed.sql # Sample data
|
||||
├── wrangler.toml # Worker configuration
|
||||
├── package.json # Dependencies
|
||||
├── tsconfig.json # TypeScript config
|
||||
├── test.sh # Test script
|
||||
├── test-request.json # Sample request
|
||||
├── README.md # Full documentation
|
||||
├── SETUP.md # Detailed setup guide
|
||||
└── QUICKSTART.md # This file
|
||||
```
|
||||
|
||||
## Resources
|
||||
|
||||
- [Cloudflare Workers Docs](https://developers.cloudflare.com/workers/)
|
||||
- [Workers AI Docs](https://developers.cloudflare.com/workers-ai/)
|
||||
- [D1 Database Docs](https://developers.cloudflare.com/d1/)
|
||||
- [KV Storage Docs](https://developers.cloudflare.com/kv/)
|
||||
Reference in New Issue
Block a user