# fanjai AS-IS — 지금 실제로 무엇인가

> 모든 숫자는 2026-08-25에 **라이브 DB와 라이브 사이트에서 직접 측정**한 값이다. 추정치 없음.

---

## 한 줄 요약

> **콘텐츠는 자동으로 쌓이는데 사람이 없다.**
> 기사 826건이 지금도 자동 수집되고 있지만, 실제 유저가 쓴 글은 **1건**, 실제 투표는 **0건**이다.

---

## 1. 코드베이스가 세 개다 (가장 먼저 정리할 것)

| | 경로 | 패키지명 | 상태 |
|---|---|---|---|
| **① 라이브** | `app/` | `kting-thailand-mvp` | **fanjai.com을 서빙 중** |
| ② 사본 | `fanjai-v3/`, `fanjai-v4/` | `kting-thailand-mvp` | ①의 과거 스냅샷 |
| **③ 신규** | `fanjai/` | `fanjai` | 별도 모노레포. **미배포** |

③은 이번에 새로 만든 것이고 ①과 **기능이 7개 겹친다**(아래 5절). ①과 ③은 DB조차 다르다
(① `command-db` / ③ `devtap_leads`).

---

## 2. fanjai.com에 지금 떠 있는 것

- Cloudflare Pages 프로젝트 `kting-thailand-mvp` (Production, main 브랜치)
- 프론트 + API가 **한 오리진**에 있다 (`public/front.html` + `src/index.ts` → `_worker.js`)
- **화면 5개**: `홈 / 뉴스 / 팬톡 / 팬픽 / MY`
- **API 라우트 62개** (유니크 기준)

| 분류 | 개수 |
|---|---|
| 관리자 | 28 |
| 콘텐츠(뉴스) | 7 |
| 커머스(포카) | 7 |
| **커뮤니티** | **6** |
| **인증** | **5** |
| **투표** | **4** |
| 인프라 | 3 |
| AI | 2 |
| **합계** | **62** |

---

## 3. ⚠️ 태국어 버전이 만들어졌는데 배포가 안 됐다

이번 조사에서 가장 중요한 발견이다.

| | 한글 | 태국어 | 크기 |
|---|---|---|---|
| **라이브** fanjai.com | 1,455자 | **0자** | 46,369 B |
| **로컬** `app/public/front.html` | 2자 | **3,429자** | 54,846 B |

- 라이브 네비: `홈 · 뉴스 · 팬톡 · 팬픽 · MY` (**한국어**)
- 로컬 네비: `หน้าแรก · ข่าว …` (**태국어**)
- 로컬 git 워킹트리는 **깨끗**하다. 마지막 커밋 `c5eb94d` (2026-07-19)
- 빌드 산출물 `dist/index.html`도 이미 태국어(54,846 B)

**배포 이력을 보면 이유가 나온다:**

```
Preview  thai-community-v3  →  https://1fc8a796.kting-thailand-mvp.pages.dev  (태국어 ✅)
Preview  thai-community-v4  →  https://65335bc6.kting-thailand-mvp.pages.dev  (태국어 ✅)
Production  main            →  fanjai.com                                     (한국어 ❌)
```

> **태국어 개편은 Preview까지만 가고 프로덕션으로 승격되지 않았다.**
> 미리보기 URL을 열면 완성된 태국어 화면이 그대로 나온다.

---

## 4. 라인 로그인 — 이미 다 만들어져 있다

**코드는 완성 상태다.** 새로 만들 게 없다.

| 요소 | 상태 |
|---|---|
| `GET /api/auth/line` | ✅ 구현 (`src/index.ts:800`) |
| `GET /api/auth/line/callback` | ✅ 구현 (`src/index.ts:811`) |
| state 쿠키 CSRF 방어 | ✅ `kting_line_state`, 10분 |
| 토큰 교환 + `/oauth2/v2.1/verify` | ✅ |
| 프로필 조회 → `users.line_id` 연결 | ✅ 중복 연동 충돌 처리까지 |
| `users.line_id` 컬럼 | ✅ 이미 존재 |
| 화면의 라인 버튼 | ✅ `สมัครหรือเข้าสู่ระบบด้วย LINE` |

**꺼져 있는 이유는 딱 하나 — 환경변수 3개가 비어 있다.**

```
LINE_CHANNEL_ID       미설정
LINE_CHANNEL_SECRET   미설정
LINE_REDIRECT_URI     미설정
```

`lineConfig(env)`가 `null`을 반환 → `line_configured: false` →
화면에 *"ระบบ LINE ยังไม่พร้อมใช้งาน"*(라인 아직 준비 안 됨)만 뜬다.

> 즉 **"fanjai에 라인 로그인 붙이기"는 사실상 끝나 있던 작업**이고,
> 남은 건 환경변수 3개 설정 + 콘솔에 콜백 URL 등록뿐이다.

---

## 5. 데이터로 본 진짜 상태 (`command-db`, 40개 테이블)

**실데이터 27개 / 비어 있음 13개**

### 살아 있는 것 — 뉴스 수집

| 테이블 | 행 수 |
|---|---|
| `articles` | **826** (published 338 / draft 488) |
| `source_items` | 826 |
| `article_topics` | 825 |
| `ingestion_runs` | 639 |
| `article_media` | 515 |
| `sources` | 30 |

수집기는 **지금도 돈다**. 최근 실행 2026-08-25 00:40 (`soompi` 신규 1건).
기사 최신 생성 시각도 같은 날 00:40.

### 죽어 있는 것 — 사람

| 지표 | 실측 |
|---|---|
| 유저 | 373명 |
| └ **라인 연동** | **0명** |
| └ **이름을 입력한 사람** | **6명** |
| └ 나머지 367명 | 익명 게스트 세션(자동 생성) |
| 커뮤니티 글 | 19건 |
| └ 운영자 시딩(`FanJai Editorial`) | 18건 (2026-07-18) |
| └ **실제 유저 글** | **1건** (오늘 `ㄴㅇㅁㄹ` — 테스트) |
| 댓글 | 1 |
| 좋아요 | 3 |
| **투표(`vote_ledger`)** | **1건, `user_id='live-vote-smoke'` = 스모크 테스트** |
| 실제 투표 | **0건** |

**7/18 운영자 시딩 이후 5주간 새 글이 없다.**

### 구조적 문제 하나

`posts` 테이블의 작성자 필드는 `author TEXT` 로, **계정과 연결돼 있지 않다.**

```sql
posts(id, category, title, body, author, likes, created_at)
                                  ^^^^^^ FK 없음
```

→ "누가 얼마나 활동했는가"를 집계할 수 없다. 로그인을 붙여도 **활동이 사람에게 쌓이지 않는다.**
커뮤니티 활성화를 하려면 여기가 먼저 고쳐져야 한다.

---

## 6. `fanjai/` 모노레포와의 중복

| 기능 | `fanjai/` (신규, 미배포) | `app/` (라이브) |
|---|---|---|
| 라인 로그인 | 구현+검증 | **구현됨** (env 미설정) |
| 세션/계정 | fan_accounts | **users+sessions (373행)** |
| 뉴스 수집 | 구현(큐 필요) | **가동중 826건** |
| 커뮤니티 글/댓글 | 딜 댓글만 | **posts/comments** |
| 투표 | 구현+DO 집계 | **구현됨** |
| 크리에이터 등록 | 구현+검증 | participants(12행) |
| 어드민 | Next.js(미배포) | **가동중** |
| 출석·스트릭 | **구현+검증** | 없음 |
| 딜(핫딜 보드) | **구현+검증** | 없음 |
| 캠페인/MCC | **구현+검증** | 없음 |
| 라인 푸시 | **구현(목 검증)** | 없음 |
| 포카/커머스 | 없음 | cards/listings |
| 팬픽 | 없음 | posts(fanfic 4건) |

**중복 7개 / `fanjai/`에만 4개 / `app/`에만 2개.**

`fanjai/` 규모: 라우트 95개, 마이그레이션 9개, 테스트 40개. 전부 로컬 검증만 됨.

---

## 7. AS-IS 결론

1. **라인 로그인은 만들 필요가 없다.** 환경변수만 넣으면 켜진다.
2. **태국어 화면도 만들 필요가 없다.** Preview에 있고 승격만 하면 된다.
3. **진짜 문제는 커뮤니티가 비어 있는 것이다.** 유저 373명은 익명 게스트고,
   5주간 실제 글이 0건이다. 로그인을 켜도 이건 안 풀린다.
4. **`posts`가 계정과 분리돼 있어** 활동이 사람에게 쌓이지 않는다. 활성화의 전제 조건.
5. **코드베이스 3개를 정리해야 한다.** 안 하면 같은 기능을 계속 두 번 만든다.
