feat: 모노레포 전환 + signal-batch 연동 + Tailwind/i18n + 백엔드 스켈레톤 #2

병합
htlee feature/monorepo-restructure 에서 develop 로 4 commits 를 머지했습니다 2026-03-17 14:07:35 +09:00
소유자

변경 사항

프론트엔드 (frontend/)

  • signal-batch API 연동 (한국 선박 실시간 위치 데이터)
  • Tailwind CSS 4 + CSS 변수 테마 (dark/light)
  • i18next 다국어 (ko/en) — 28개 컴포넌트
  • 레이어 패널 트리 구조 (카테고리별 온/오프, 접이식 범례)
  • Google OAuth 로그인 + DEV LOGIN 우회
  • 외부 API CORS 프록시 전환

백엔드 (backend/)

  • Spring Boot 3.2 + Java 17 스켈레톤
  • Google OAuth + JWT 인증 (gcsc.co.kr 제한)
  • 수집기 placeholder (GDELT, Google News, CENTCOM)

인프라

  • 모노레포 전환 (frontend/ + backend/ + database/ + prediction/)
  • Gitea Actions CI/CD (main merge → 자동 배포)
  • nginx + systemd 배포 설정
  • PostgreSQL 스키마 (kcg.events, news, osint, users, login_history)

커밋 (4건)

  • 2534faa feat: 프론트엔드 모노레포 이관 + signal-batch + Tailwind/i18n/테마
  • 512020d feat: 백엔드 Spring Boot + DB 스키마 + prediction
  • fea7736 chore: CI/CD + 배포 설정 + 루트 정리
  • faa48b7 docs: 릴리즈 노트 작성

테스트

  • frontend: npm run lint 에러 0개
  • frontend: npm run build 성공
  • backend: mvn compile 성공
  • backend: mvn package 성공 (kcg.jar 54MB)
  • DB: 테이블 5개 생성 확인 (211.208.115.83/kcgdb)

🤖 Generated with Claude Code

## 변경 사항 ### 프론트엔드 (frontend/) - signal-batch API 연동 (한국 선박 실시간 위치 데이터) - Tailwind CSS 4 + CSS 변수 테마 (dark/light) - i18next 다국어 (ko/en) — 28개 컴포넌트 - 레이어 패널 트리 구조 (카테고리별 온/오프, 접이식 범례) - Google OAuth 로그인 + DEV LOGIN 우회 - 외부 API CORS 프록시 전환 ### 백엔드 (backend/) - Spring Boot 3.2 + Java 17 스켈레톤 - Google OAuth + JWT 인증 (gcsc.co.kr 제한) - 수집기 placeholder (GDELT, Google News, CENTCOM) ### 인프라 - 모노레포 전환 (frontend/ + backend/ + database/ + prediction/) - Gitea Actions CI/CD (main merge → 자동 배포) - nginx + systemd 배포 설정 - PostgreSQL 스키마 (kcg.events, news, osint, users, login_history) ## 커밋 (4건) - `2534faa` feat: 프론트엔드 모노레포 이관 + signal-batch + Tailwind/i18n/테마 - `512020d` feat: 백엔드 Spring Boot + DB 스키마 + prediction - `fea7736` chore: CI/CD + 배포 설정 + 루트 정리 - `faa48b7` docs: 릴리즈 노트 작성 ## 테스트 - [x] frontend: `npm run lint` 에러 0개 - [x] frontend: `npm run build` 성공 - [x] backend: `mvn compile` 성공 - [x] backend: `mvn package` 성공 (kcg.jar 54MB) - [x] DB: 테이블 5개 생성 확인 (211.208.115.83/kcgdb) 🤖 Generated with [Claude Code](https://claude.com/claude-code)
htlee added 4 commits 2026-03-17 14:05:15 +09:00
- frontend/ 폴더로 프론트엔드 전체 이관
- signal-batch API 연동 (한국 선박 위치 데이터)
- Tailwind CSS 4 + CSS 변수 테마 토큰 (dark/light)
- i18next 다국어 (ko/en) 인프라 + 28개 컴포넌트 적용
- 레이어 패널 트리 구조 재설계 (카테고리별 온/오프, 범례)
- Google OAuth 로그인 화면 + DEV LOGIN 우회
- 외부 API CORS 프록시 전환 (Airplanes.live, OpenSky, CelesTrak)
- ShipLayer 이미지 탭 전환 (signal-batch / MarineTraffic)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- backend/: Spring Boot 3.2 + Java 17, Google OAuth + JWT 인증
  - AuthController/Service/Filter: id_token 검증 + gcsc.co.kr 도메인 제한
  - JPA Entity: users, login_history
  - 수집기 placeholder: GDELT, Google News, CENTCOM, Aircraft
  - ArticleClassifier: 프론트엔드 분류 정규식 이식
  - 프로파일: local / prod (PostgreSQL 211.208.115.83:5432/kcgdb)
- database/: 초기 스키마 (events, news, osint, users, login_history)
- prediction/: FastAPI placeholder (향후 해양 분석)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
- .gitea/workflows/deploy.yml: main merge 시 frontend/backend 자동 빌드·배포
- deploy/kcg-backend.service: systemd 서비스 (JDK 17, 2~4GB 힙)
- deploy/nginx-kcg.conf: SSL + SPA 서빙 + API 프록시 + 외부 API CORS 프록시
- .githooks/pre-commit: 모노레포 대응 (frontend tsc+eslint, backend mvn compile)
- .gitignore: frontend/backend/prediction 각각 빌드 산출물 추가
- CLAUDE.md: 모노레포 구조 반영

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
claude-bot 이 변경사항을 승인하였습니다. 2026-03-17 14:07:27 +09:00
claude-bot left a comment
멤버

MR 승인 (via /mr skill)

MR 승인 (via /mr skill)
htlee merged commit 9e47f0e3e7 into develop 2026-03-17 14:07:35 +09:00
htlee 삭제된 브랜치 feature/monorepo-restructure 2026-03-17 14:07:35 +09:00
"로그인하여 이 대화에 참여"
No reviewers
레이블 없음
마일스톤 없음
담당자 없음
참여자 2명
알림
마감일
기한이 올바르지 않거나 범위를 벗어났습니다. 'yyyy-mm-dd'형식을 사용해주십시오.

마감일이 설정되지 않았습니다.

의존성

No dependencies set.

Reference: gc/kcg-monitoring#2
No description provided.