# UPBIT 게임 시스템

## 📁 디렉토리 구조

```
site_user/
├── api/             # 백엔드 API 엔드포인트
├── includes/        # PHP 핵심 로직 (Betting.php, Auth.php 등)
├── assets/          # 정적 파일 (CSS, JS, 이미지)
├── auth/            # 로그인/회원가입
├── btc/             # 차트 iframe 페이지
├── mypage/          # 사용자 마이페이지
├── socket/          # Socket 서버 (포트 8081, 3001)
├── btc-server/      # BTC Chart 서버 (포트 9090)
├── frontend/        # Nuxt 프론트엔드 (포트 3000)
├── main.php         # 메인 게임 페이지 (PHP 버전)
└── index.php        # 인트로 페이지
```

## 🚀 서버 실행

### 개발 모드
```bash
start-all.bat
```
- BTC Chart Server (포트 9090)
- Socket Server (포트 8081, 3001)
- Nuxt Dev Server (포트 3000)

### 프로덕션 모드
```bash
start-production.bat
```
- 자동으로 Frontend 빌드 후 실행
- 모든 서버를 프로덕션 모드로 시작

### 서버 종료
```bash
stop-all.bat
```

## 🔧 개별 서버 실행

### BTC Chart Server
```bash
cd btc-server
node server.js
```

### Socket Server
```bash
cd socket
node server.js
```

### Nuxt Frontend (개발)
```bash
cd frontend
npm run dev
```

### Nuxt Frontend (프로덕션)
```bash
cd frontend
npm run build
node .output/server/index.mjs
```

## 🌐 접속 URL

- **Frontend**: http://localhost:3000
- **Backend (Apache)**: http://localhost
- **BTC Chart**: http://localhost:9090
- **Socket**: ws://localhost:3001

## 📝 설정 파일

### Database
- `includes/database.php`

### Socket Server
- `socket/server.js`

### BTC Chart Server
- `btc-server/server.js`

### Frontend
- `frontend/nuxt.config.ts`
- `frontend/.env.production`

## ⚙️ Apache 설정

DocumentRoot를 `C:\laragon\www\site_user`로 설정

## 🔄 배포 프로세스

1. Frontend 수정 후:
   ```bash
   cd frontend
   npm run build
   ```

2. 서버 재시작:
   ```bash
   stop-all.bat
   start-production.bat
   ```

## 📌 주의사항

- 관리자 페이지와 파트너 페이지는 별도로 관리됩니다.
- Socket Server는 항상 실행되어 있어야 합니다.
- BTC Chart Server는 가격 데이터의 권한을 가집니다.
