gc-guide-api/CLAUDE.md
htlee d332283e86 feat: Spring Boot 3.5 + JDK 17 초기 프로젝트 구성
- Spring Boot 3.5.2 + Spring Security + JPA + PostgreSQL
- Google OAuth2 ID Token 검증 (google-api-client)
- JWT 인증 (jjwt 0.12.6)
- H2 인메모리 DB (로컬) / PostgreSQL (운영) 프로필 분리
- Nexus 프록시 경유 Maven 빌드 설정
- 팀 워크플로우 템플릿 (common + java-maven) 적용
2026-02-14 13:00:24 +09:00

57 lines
1.6 KiB
Markdown

# gc-guide-api — 가이드 사이트 백엔드 API
## 프로젝트 개요
gc-guide 프론트엔드의 백엔드 API. Google OAuth2 인증, 사용자 관리, 이슈 트래커 제공.
## 기술 스택
- Spring Boot 3.5 + JDK 17
- Spring Security (JWT 기반 인증)
- Spring Data JPA + PostgreSQL (운영) / H2 (로컬)
- Google API Client (ID Token 검증)
- Lombok
## 빌드 & 실행
```bash
./mvnw -s .mvn/settings.xml clean compile # 컴파일
./mvnw -s .mvn/settings.xml spring-boot:run # 로컬 실행 (H2)
./mvnw -s .mvn/settings.xml package -DskipTests # JAR 패키징
```
## 프로필
- `local` (기본): H2 인메모리 DB, 디버그 로깅
- `prod`: PostgreSQL (gc_guide DB), validate 모드
## API 엔드포인트
### 인증
- `POST /api/auth/google` — Google ID Token 검증 → JWT 발급
- `GET /api/auth/me` — 현재 사용자 정보
- `POST /api/auth/logout` — 세션 무효화
### 활동 기록
- `GET /api/activity/login-history` — 로그인 이력
- `POST /api/activity/track` — 페이지 조회 기록
### 이슈 관리
- `GET/POST /api/issues` — 이슈 목록/생성
- `GET/PUT /api/issues/:id` — 이슈 상세/수정
- `POST /api/issues/:id/comments` — 코멘트 추가
### 관리자
- `GET /api/admin/users` — 사용자 목록
- `GET /api/admin/stats` — 통계
## DB (운영)
- Host: 211.208.115.83:5432
- Database: gc_guide
- Username: gcguide
## 배포
- Docker (eclipse-temurin:17-jre)
- guide.gc-si.dev/api/* → Nginx 프록시
## 관련 프로젝트
- gc-guide: 프론트엔드 (React + TypeScript)
- Gitea: https://gitea.gc-si.dev/gc/gc-guide-api