# 딸깍 개발실 (GDI-Apps)

AI로 딸깍해서 개발한 딸깍해서 쓸 수 있는 앱 모음집. 한 번의 동작으로 결과가 나오는 한국어 친화 미니 앱들이 한 도메인에 모인 멀티앱 컨테이너입니다.

🌐 **라이브**: https://sobjil-gdi-apps.mycafe24.ai

> **저장소 코드명** `GDI-Apps` 는 역사적 이유로 남아있고, 외부 사용자에게 표시되는 브랜드는 **딸깍 개발실** 입니다.

## 앱 목록

| 앱 | 상태 | 설명 |
|---|---|---|
| [슬라이드 이미지 수정 딸깍](https://sobjil-gdi-apps.mycafe24.ai/image-editor/) | ✅ Live (v1.2.0+5) | 슬라이드 이미지의 글자를 AI로 자동 인식·교체하고 PPT로 내보내는 에디터. 내부 패치 v1.7.23 (API 키 공용 저장소 `shared/api-keys.js` 통합 등) |
| [한글 문서 스타일 딸깍 (md2hwpx)](https://sobjil-gdi-apps.mycafe24.ai/md2hwpx/) | ✅ Live (v1.0.1) | 마크다운을 한컴 HWPX 양식으로 딸깍 변환 + 양식 맞춰 `.md` 작성용 프롬프트 자동 생성 (양방향). PDF 딸깍 의 PDF→MD 출력 `.zip` 통째로 입력 지원 (이미지 자동 임베드) |
| [주간정책동향 딸깍 (WeeklyBrief)](https://sobjil-gdi-apps.mycafe24.ai/WeeklyBrief/) | ✅ Live (v1.0.0) | 정부 보도자료 → AI 4섹션 자동 요약 → PPT 1장 자동 생성. 별도 PUBLIC 레포 [sobjil/News_DB](https://github.com/sobjil/News_DB) 가 매 10분 cron 으로 korea.kr 52 부처 RSS 크롤·첨부 사전 추출 |
| [**PDF 딸깍 (pdftools)**](https://sobjil-gdi-apps.mycafe24.ai/pdftools/) | ✅ **Live (v1.0.0)** | PDF 편집·조작 전용 **24개 도구** (페이지 작업 8 + 콘텐츠 편집 6 + 추출·변환 4 + 기타 6). PDF 번역 (Marker AI + DeepL), 요약 (Gemini + Mermaid 다이어그램), 잠금 풀기 (nodejs muhammara), PDF→MD (Marker AI, md2hwpx 연동), PDF 뷰어 hub 등. [사용 설명서](pdftools/doc/manual.html) |
| [📂 마크다운 뷰어](https://sobjil-gdi-apps.mycafe24.ai/view.html) | ✅ Live (미니앱) | `.md` 드래그&드롭 + Mermaid 다이어그램 자동 SVG 렌더 + `🏷 도메인` chip 자동 분리. 메인 랜딩 우측 미니앱 영역 |
| — | 🕐 Coming soon | (devplan 에 통계분석·차트·프롬프트·공문본문·텍스트마이닝 등 다수 기획 중) |

## 빠른 시작

### 로컬에서 열기 (Node 20+ 필요)
```bash
git clone https://github.com/sobjil/GDI-Apps.git
cd GDI-Apps
npm install
npm start                  # → http://localhost:3000
```

> **2026-05-24 nodejs 백엔드 전환** — PDF 잠금 풀기 (muhammara), DeepL 번역 proxy, 헬스 체크 같은 `/api/*` 엔드포인트가 필요한 도구가 있어 Express 서버 (`server.js`) 가 entry. 정적 자원은 `express.static(__dirname)` 으로 그대로 serve — 다른 앱들 (image-editor / md2hwpx / WeeklyBrief / view.html) 은 빌드 변경 X.

### 정적 호스팅 (백엔드 X 환경)
PDF 잠금 풀기·DeepL 번역만 비활성. 나머지 앱은 정상 작동. 단순히 `python3 -m http.server` 등으로 띄워도 OK.

### 웹 호스팅
- **AISpace** (nodejs 런타임, lite 플랜) — 라이브 환경
- **GitHub Pages / Vercel / Netlify / 카페24** (정적) — 백엔드 도구 외 정상
- nodejs 지원 호스팅이면 `npm install && npm start` 자동

## 저장소 구조

```
GDI-Apps/
├── index.html                # 랜딩 페이지 (앱 그리드 + 미니앱 영역)
├── styles/landing.css        # 랜딩 페이지 스타일
├── view.html                 # 공용 Markdown 렌더링 페이지 (.md 링크 + Mermaid)
├── manifest.json, favicon.*  # PWA 자원
│
├── server.js                 # 🆕 Express 서버 entry (2026-05-24+)
├── package.json              # nodejs 의존성 (express, muhammara)
├── package-lock.json
│
├── shared/                   # 모든 앱 공유 모듈
│   ├── api-keys.js           # 공용 API 키 매니저 (Gemini/DeepL/Replicate Worker 등)
│   └── api-keys.css
│
├── image-editor/             # ✅ Live — 슬라이드 이미지 수정 딸깍 (v1.2.0+5, 내부 v1.7.23)
│   ├── index.html, editor.js, editor.css
│   ├── doc/dev.md, doc/manual.html
│   ├── PatchNote.md
│   └── esrgan-server/        # 로컬 ESRGAN 업스케일 서버 (별도 portable zip)
│
├── md2hwpx/                  # ✅ Live — 한글 문서 스타일 딸깍 (v1.0.1)
│   ├── index.html, md2hwpx.css, md2hwpx.js
│   ├── js/                   # 모듈 분리된 처리 로직
│   ├── doc/dev.md, doc/manual.html
│   └── PATCHNOTE.md
│
├── WeeklyBrief/              # ✅ Live — 주간정책동향 딸깍 (v1.0.0)
│   ├── index.html
│   ├── doc/dev.md, doc/manual.html
│   └── PATCHNOTE.md
│
├── pdftools/                 # ✅ Live — PDF 딸깍 (v1.0.0, 24개 도구)
│   ├── index.html, pdftools.css
│   ├── tools/                # 24개 도구 폴더 (각자 index.html + JS)
│   │   ├── merge, split, rotate, remove-pages, reorder, extract-pages,
│   │   │   resize, crop                          # 페이지 작업 (8)
│   │   ├── watermark-text, watermark-image, page-number, header-footer,
│   │   │   add-text, signature                   # 콘텐츠 편집 (6)
│   │   ├── extract-text, to-image, from-image, to-markdown   # 추출·변환 (4)
│   │   ├── viewer, compare, compress-images, unlock,
│   │   │   summary, translate                    # 기타 (6, viewer = hub)
│   ├── shared/               # PDF 공통 모듈 11개 (pdf-core, font-manager, page-range 등)
│   ├── doc/dev.md, doc/manual.html
│   └── PATCHNOTE.md
│
├── cloudflare-worker/        # Replicate proxy Worker (Marker / Surya / SAM2 / LaMa / Real-ESRGAN)
│   └── worker.js             # ⚠ 별도 배포 (대시보드 / wrangler) — 저장소 push 만으론 갱신 X
│
├── downloads/                # 사용자 다운로드 자원 (ESRGAN portable zip 등)
├── CLAUDE.md                 # Claude 세션 진입점 (저장소 공통 룰)
├── AGENTS.md                 # 에이전트 관련 메모
├── devplan.md                # 미래 앱 아이디어 보관소 (라이브 노출 X)
└── README.md                 # 이 파일
```

## 새 앱 추가하기

상세는 [CLAUDE.md §7](CLAUDE.md) 참조. 요약:

1. **devplan 먼저 확인** — 기존 아이디어 메모와 중복·연계되는지 점검
2. 루트에 `{app-name}/` 폴더 생성
3. `index.html` 진입점 + `doc/dev.md` (단일 진실 출처) + `PATCHNOTE.md` (앱별 자체 관리)
4. 진입 페이지 topbar 좌측에 `<a href="../">딸깍 개발실</a>` 홈 링크
5. 아이콘·manifest 는 상위 경로 참조 (`../favicon.svg`, `../manifest.json`)
6. **출시 시점** 에 랜딩 (`index.html`) 의 `.tools-grid` 에 카드 추가 + CLAUDE.md §2 갱신
7. **★ '딸깍' 디자인 원칙 점검** — 자동 추천 / 한국어 친화 / 직관적 UI / 최소 개입 ([CLAUDE.md §6](CLAUDE.md))

## 문서

- **저장소 공통 룰**: [CLAUDE.md](CLAUDE.md) (Claude 세션 진입점)
- **앱별 개발 문서·매뉴얼·패치노트**:
  - 슬라이드 이미지 수정 딸깍: [dev.md](image-editor/doc/dev.md) · [manual.html](image-editor/doc/manual.html) · [PatchNote.md](image-editor/PatchNote.md)
  - 한글 문서 스타일 딸깍: [dev.md](md2hwpx/doc/dev.md) · [manual.html](md2hwpx/doc/manual.html) · [PATCHNOTE.md](md2hwpx/PATCHNOTE.md)
  - 주간정책동향 딸깍: [dev.md](WeeklyBrief/doc/dev.md) · [manual.html](WeeklyBrief/doc/manual.html) · [PATCHNOTE.md](WeeklyBrief/PATCHNOTE.md)
  - **PDF 딸깍**: [dev.md](pdftools/doc/dev.md) · [**manual.html**](pdftools/doc/manual.html) · [PATCHNOTE.md](pdftools/PATCHNOTE.md)
- **미래 앱 아이디어**: [devplan.md](devplan.md) (활성 개발 X 자유 메모장, 라이브 노출 X)
- *패치노트는 앱별 자체 관리 정책*

## 정책·환경

- **호스팅**: AISpace lite 플랜 (256MB / 1GB / **nodejs 런타임** — 2026-05-24 전환)
- **백엔드 API**: `/api/health`, `/api/unlock` (PDF 잠금 풀기), `/api/translate-deepl` (DeepL CORS proxy)
- **Cloudflare Worker**: Replicate 모델 proxy (Marker / Surya OCR / SAM2 / LaMa / Real-ESRGAN) — ⚠ 별도 배포 (대시보드 / wrangler)
- **GDI 그룹웨어 외부 처리 원칙**: 본 저장소의 모든 앱은 더존 아마란스10·연구관리 그룹웨어 본체와 완전히 독립. Extension·DOM 조작·iframe X. 클립보드 복사·파일 첨부·다운로드 패턴만 사용
- **딸깍 디자인 원칙**: 한 번의 동작으로 결과가 나오는 한국어 친화 UI ([CLAUDE.md §6](CLAUDE.md))

## 라이선스 / 권리

경북연구원 사내 활용 목적. 외부 배포 시 GDI에 문의.
