커밋 그래프

16 커밋

작성자 SHA1 메시지 날짜
c295da16d1 Merge branch 'feature/admin-and-api' into develop 2026-02-14 21:54:26 +09:00
709edd0345 fix(security): 인증 에러 401 응답 + CORS 헤더 누락 수정
- AuthenticationEntryPoint 추가: 미인증 요청에 403 대신 401 반환
- AccessDeniedHandler 추가: 권한 부족 시 403 + JSON body 반환
- CORS 설정 범위를 /api/** → /** 로 확장하여 에러 응답에도 CORS 헤더 포함
- exposedHeaders에 Authorization 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:54:01 +09:00
1955165985 Merge pull request 'docs: Swagger/OpenAPI 문서 전체 구현' (#6) from feature/admin-and-api into develop
Reviewed-on: #6
2026-02-14 21:36:51 +09:00
357879988e docs: Swagger/OpenAPI 문서 전체 구현
springdoc-openapi 2.8.6 기반으로 모든 API 엔드포인트에
Swagger 어노테이션을 추가하여 API 문서를 자동 생성합니다.

- OpenApiConfig: JWT 보안 스킴, 서버 목록, API 정보 설정
- SecurityConfig: swagger-ui 경로 공개 접근 허용
- 7개 Controller: @Tag, @Operation, @ApiResponses, @Parameter 등
  (00.시스템, 01.인증, 02~04.관리자, 05.활동, 06.이슈)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:30:48 +09:00
487832675c Merge pull request 'feat: 관리자/활동/이슈 API 전체 구현' (#4) from feature/admin-and-api into develop
Reviewed-on: #4
2026-02-14 21:14:24 +09:00
9db7b8bfb4 feat: 관리자/활동/이슈 API 전체 구현
- Entity: LoginHistory, PageView, Issue, IssueComment 추가
- Repository: 각 엔티티별 JpaRepository 추가
- Service: UserService, RoleService, ActivityService, IssueService
- Admin API: 사용자 관리 7개, 롤/권한 관리 7개, 통계 1개 엔드포인트
- Activity API: 페이지뷰 기록, 로그인 이력 조회
- Issue API: CRUD + 코멘트, 프로젝트/위치/Gitea 링크 지원
- Exception: GlobalExceptionHandler, ResourceNotFoundException, BusinessException
- AuthController: 로그인 시 LoginHistory 기록 추가
- Dockerfile 추가

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 21:13:14 +09:00
a3369f5bd3 fix: git clone URL을 Gitea 내부 주소로 변경
- GITHUB_SERVER_URL은 https://github.com으로 고정되어 클론 실패
- http://gitea:3000 (Docker 내부 네트워크)으로 직접 지정

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:21:37 +09:00
d1416d89a6 fix: CI/CD 워크플로우 checkout 에러 수정
- container 이미지(maven)에 Node.js 없어서 actions/checkout 실패
- git clone으로 대체
- .deploy-trigger 파일 생성 → systemd path unit이 감지하여 서비스 자동 재시작

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:18:28 +09:00
e98efbd6e0 feat: CI/CD 자동 배포 워크플로우 추가
- .gitea/workflows/deploy.yml: main 머지 시 Maven 빌드 + JAR 배포
- container: maven:3.9-eclipse-temurin-17 이미지 사용
- Nexus Maven 프록시 설정 포함

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 20:15:08 +09:00
cc03aa14ff Merge pull request 'feat(auth): JWT 기반 Google 로그인 인증 API 구현' (#1) from feature/auth-api into develop
Reviewed-on: #1
2026-02-14 17:32:13 +09:00
ef667db990 feat(auth): JWT 기반 Google 로그인 인증 API 구현
- Entity: User, Role, RoleUrlPattern, UserStatus enum
- Repository: UserRepository, RoleRepository (fetch join 쿼리)
- Auth: GoogleTokenVerifier, JwtTokenProvider, JwtAuthenticationFilter
- API: POST /api/auth/google, GET /api/auth/me, POST /api/auth/logout
- DTO: AuthResponse, UserResponse, RoleResponse, GoogleLoginRequest
- SecurityConfig: JWT 필터 등록, CORS 설정, 공개 엔드포인트 정의
- 초기 데이터: roles + role_url_patterns 시드 (data.sql)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:28:51 +09:00
9e4ea79867 chore: 팀 워크플로우 v1.2.0 동기화
- hook 스크립트 추가 (on-commit, on-pre-compact, on-post-compact)
- settings.json 갱신
- init-project, sync-team-workflow 스킬 업데이트
- commit-msg hook bash regex로 전환 (macOS 호환)
- workflow-version.json 1.2.0 적용

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 17:28:33 +09:00
90e7999fe8 chore: workflow-version.json 형식 마이그레이션
applied_global_version 형식으로 전환 (v1.2.0 체계)

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14 14:49:56 +09:00
7aa50dc6a2 docs: CLAUDE.md 상세화 — 전체 구현 가이드 추가
- 7단계 구현 로드맵 (엔티티→인증→관리자→활동→이슈→RBAC→시드)
- DB 스키마 DDL (PostgreSQL + 인덱스)
- 패키지 구조 목표 (entity/auth/service/controller/dto)
- 인증/인가 흐름 상세 (Google OAuth→JWT→RBAC)
- application.yml 설정 참조
2026-02-14 13:25:41 +09:00
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
0894cf8c37 Initial commit 2026-02-14 12:08:58 +09:00