ID: key_26_22_05_25_17_00_00_00000
Created date: 5월 25 2026 월요일, 22주 17:00
개요
Claude Code 개발 의뢰 전, 확정되어야 하는 항목을 정의한다.
아래 항목이 결정되어야 각 개발 영역(DB / 서버 / UI / 모바일)에 대한 코드 생성 의뢰가 가능하다.
1. 기존 운영 서비스 현황
| 서비스명 | 설명 | 언어 / 프레임워크 | DB | 레포지토리 |
|---|
| befw-app-server | 백엔드 앱 서버 | Java 21 / Spring Boot / Maven | PostgreSQL | befw-app-server |
web-plate (tsh-web-plate) | 웹 프론트엔드 | Next.js 16 / React 19 / TypeScript | - | web-plate |
| 모바일 | 신규 개발 예정 | React Native | - | 미생성 |
2. 기술 스택 확정
2-1. 서버 (Backend)
| 항목 | 결정값 | 비고 |
|---|
| 언어 | Java 21 | --enable-preview 옵션 사용 |
| 프레임워크 | Spring Boot | spring-boot-maven-plugin |
| 빌드 도구 | Maven | pom.xml 기반 |
| 내부 프레임워크 | befw (befw-lib-core) | com.tsh.starter.befw — 자체 스타터 |
| ORM | | JPA / MyBatis / JOOQ 중 확인 필요 |
| 인증 방식 | JWT | |
| 실시간 통신 | | WebSocket / SSE 중 결정 필요 |
| 메시지 큐 | | Redis BullMQ / RabbitMQ 중 결정 필요 |
2-2. 데이터베이스 (DB)
| 항목 | 결정값 | 비고 |
|---|
| 주 DB | PostgreSQL | 확정 |
| 캐시 | | Redis 도입 여부 결정 필요 |
| 검색 | | PostgreSQL FTS 또는 Elasticsearch |
| 파일 스토리지 | | AWS S3 / MinIO 중 결정 필요 |
2-3. UI (Web Frontend)
| 항목 | 결정값 | 비고 |
|---|
| 레포지토리 | tsh-web-plate | web-plate |
| 프레임워크 | Next.js 16.1.3 | next dev --turbo (Turbopack) |
| 언어 | TypeScript 5.7.2 | |
| React 버전 | React 19.0.1 | |
| 상태 관리 | Zustand 5.0.1 | |
| 스타일링 | Tailwind CSS 3.4.19 | tailwind-merge, clsx 유틸 포함 |
| 인증 | next-auth 5.0.0-beta | |
| HTTP 클라이언트 | Axios 1.7.9 | |
| 아이콘 | lucide-react 0.460.0 | |
| 실시간 통신 | solclientjs 10.18.3 | Solace 메시지 브로커 클라이언트 |
| 차트 | | Recharts / Chart.js 중 결정 필요 |
| 에디터 | | TipTap / Milkdown 중 결정 필요 |
| 드래그 앤 드롭 | | @hello-pangea/dnd (칸반 보드용) |
2-4. 모바일
| 항목 | 결정값 | 비고 |
|---|
| 플랫폼 전략 | 크로스 플랫폼 | |
| 프레임워크 | React Native | 신규 프로젝트 생성 필요 |
| 상태 관리 | | Zustand (웹과 통일 권장) / Redux 중 결정 |
| 로컬 저장소 | | AsyncStorage / SQLite 중 결정 필요 |
| 푸시 알림 | FCM (Firebase) | |
| 네비게이션 | React Navigation | 권장 |
3. 프로젝트 구조
3-1. 레포지토리 전략
| 항목 | 결정값 | 비고 |
|---|
| 레포 구조 | | Monorepo / 멀티 레포 중 결정 필요 |
| 버전 관리 | GitHub | 기존 레포 (david-yj-52) 사용 |
| 브랜치 전략 | | Git Flow / Trunk-based 중 결정 필요 |
3-2. 서버 패키지 구조 (befw-app-server 기준)
befw-app-server/
├── src/main/
│ ├── java/
│ │ └── com/tsh/starter/befw/ ← 패키지 루트
│ └── resources/
└── pom.xml
실제 내부 레이어 구조(Controller / Service / Repository 패턴 여부) 확인 필요
4. 개발 환경
| 항목 | 결정값 | 비고 |
|---|
| Java 버전 | Java 21 | pom.xml 확인됨 |
| Node 버전 | | Next.js 16 기준 Node 18+ 필요 — 확정 필요 |
| 패키지 매니저 | | npm / yarn / pnpm 중 결정 필요 |
| 로컬 환경 구성 | | Docker Compose / 직접 설치 중 결정 필요 |
| 코드 포맷터 | ESLint (JS/TS), Prettier 권장 | eslint-config-next 포함됨 |
| 환경 변수 관리 | | .env.local (Next.js) / Spring Config 확인 필요 |
5. 배포 환경
| 항목 | 결정값 | 비고 |
|---|
| 클라우드 | | AWS / GCP / 온프레미스 중 결정 필요 |
| 서버 배포 방식 | | Docker / EC2 / 기타 |
| 웹 배포 | | Vercel / Netlify / S3+CloudFront |
| 모바일 배포 | | App Store + Play Store |
| CI/CD | | GitHub Actions (권장) |
6. 설계 원칙 및 컨벤션
| 항목 | 결정값 |
|---|
| API 응답 포맷 (공통 구조) | |
| 에러 코드 체계 | |
Soft Delete 정책 (deleted_at vs is_deleted) | |
| 타임존 기준 | KST (Asia/Seoul) 권장 |
| 다국어 지원 범위 | 한국어 / 영어 |