- 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) 적용
1.6 KiB
1.6 KiB
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
빌드 & 실행
./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