143 lines
3.5 KiB
Markdown
143 lines
3.5 KiB
Markdown
# EAPIM Portal
|
|
|
|
광주은행 엔터프라이즈 API 포털 관리 시스템
|
|
|
|
## 프로젝트 개요
|
|
|
|
**EAPIM Portal**은 광주은행의 API 서비스를 관리하고, 사용자 등록, API 키 발급, 문서화, 테스트 기능을 제공하는 웹 기반 플랫폼입니다.
|
|
|
|
## 기술 스택
|
|
|
|
- Spring Boot 2.7.18
|
|
- Java 8
|
|
- Gradle 8.7
|
|
- Oracle 19c
|
|
- Spring Security
|
|
- JPA/Hibernate 5.6.15 with Envers
|
|
- MapStruct, Lombok
|
|
|
|
## 빌드 및 실행
|
|
|
|
```bash
|
|
# 개발 환경 실행
|
|
gradle bootRun
|
|
|
|
# WAR 빌드
|
|
gradle bootWar
|
|
|
|
# 테스트
|
|
gradle test
|
|
```
|
|
|
|
**주의**: gradlew 사용 금지 - offline gradle 단독 실행
|
|
|
|
## 프로젝트 구조
|
|
|
|
```
|
|
src/main/java/com/eactive/apim/portal/
|
|
├── apps/ # 기능 모듈 (user, app, approval, apis, etc.)
|
|
├── common/ # 공통 관심사
|
|
├── config/ # Spring 설정
|
|
└── gateway/ # Gateway DB 접근
|
|
```
|
|
|
|
## 외부 모듈
|
|
|
|
이 프로젝트는 다음 모듈에 의존합니다:
|
|
- `elink-online-core-jpa`: Gateway 데이터 모델
|
|
- `elink-portal-common`: 공통 유틸리티
|
|
- `kjb-safedb`: SafeDB 암호화 라이브러리
|
|
|
|
## AI 코딩 어시스턴트 지침 파일
|
|
|
|
이 프로젝트는 여러 AI 코딩 어시스턴트를 지원합니다. 각 도구는 다음 파일을 참조합니다:
|
|
|
|
### 지침 파일 위치
|
|
|
|
| AI 도구 | 지침 파일 경로 | 용도 |
|
|
|---------|---------------|------|
|
|
| **Claude Code** | `CLAUDE.md` | 마스터 지침 파일 (한글) |
|
|
| **GitHub Copilot** | `.github/copilot-instructions.md` | Copilot용 지침 |
|
|
| **Cursor** | `.cursorrules` | Cursor용 간결한 규칙 |
|
|
|
|
### 지침 파일 관리 방법
|
|
|
|
1. **마스터 파일**: `CLAUDE.md`
|
|
- 가장 상세한 프로젝트 지침을 포함
|
|
- 한글로 작성되어 한국 개발팀이 이해하기 쉬움
|
|
- 수정 시 이 파일을 먼저 업데이트
|
|
|
|
2. **동기화**:
|
|
```bash
|
|
# CLAUDE.md 수정 후 다른 파일들 동기화
|
|
cp CLAUDE.md .github/copilot-instructions.md
|
|
# .cursorrules는 간결한 버전이므로 필요시 수동 업데이트
|
|
```
|
|
|
|
3. **새로운 AI 도구 지원 추가**:
|
|
- Windsurf: `.windsurfrules` 파일 생성
|
|
- 기타 도구: 해당 도구의 규칙 파일명 확인 후 생성
|
|
|
|
### 지침 파일에 포함된 내용
|
|
|
|
- 프로젝트 개요 및 기술 스택
|
|
- 빌드 명령어 및 개발 환경 설정
|
|
- 아키텍처 구조 (멀티 모듈, 이중 DB)
|
|
- 주요 기능 및 비즈니스 로직
|
|
- 개발 패턴 및 코딩 컨벤션
|
|
- 보안, 트랜잭션, 로깅 가이드
|
|
- 테스트 패턴
|
|
- 배포 방법
|
|
|
|
## 환경 설정
|
|
|
|
### 프로파일
|
|
|
|
- **dev**: 개발 환경
|
|
- **stage**: 스테이징 환경
|
|
- **prod**: 운영 환경
|
|
- **gf63**: 개인 개발 환경
|
|
- **kjb_rinjae**: 개인 개발 환경
|
|
|
|
### 데이터베이스
|
|
|
|
- **EMS Database**: Portal 사용자, 조직, API 키
|
|
- **Gateway Database**: API 명세, 서비스
|
|
|
|
## 주요 기능
|
|
|
|
- 사용자 관리 (내부/기업)
|
|
- API 키 관리 및 승인 워크플로우
|
|
- API 카탈로그 및 문서화
|
|
- API 테스트 프록시
|
|
- 감사 추적 (Hibernate Envers)
|
|
|
|
## 배포
|
|
|
|
### 지원 서버
|
|
- JEUS
|
|
- WebLogic
|
|
- Tomcat (내장)
|
|
|
|
### Docker
|
|
```bash
|
|
./build_docker.sh
|
|
docker run -p 8080:8080 eapim-portal:latest
|
|
```
|
|
|
|
## 관련 프로젝트
|
|
|
|
- `../eapim-admin/` - Admin 포털
|
|
- `../eapim-online/` - Online 포털
|
|
- `../kjb-eapim-sql/` - SQL 스크립트
|
|
|
|
## 문서
|
|
|
|
- **프로젝트 상세 지침**: `CLAUDE.md` (한글)
|
|
- **사용자 가이드**: `개발자포탈.md` (한글)
|
|
- **빌드 스크립트**: `build-gf63.sh`, `deploy_portal.sh`
|
|
|
|
## 라이선스
|
|
|
|
© 광주은행 (Kwangju Bank)
|