Skip to content

Repository files navigation

🚀 Fee GA Chu

보험 판매수수료 규제 대응 · 분급 · 환수 · 정산 검증 플랫폼

정합성 회귀 방지 Java Spring Boot PostgreSQL



👥 멤버

이예소 손가영 강현준 강호원 박민준
lee son kangh kanghh p
PM / BA DB/정산엔진 Lead Tech Lead/Backend Lead DevOps/QA Lead Frontend/UX Lead
GitHub GitHub GitHub GitHub GitHub

📱 소개

**FeeGaChu(FGC)**는 GA 및 보험영업 조직이 직면한 '3중 데드라인(1200%룰 확대, 수수료 비교공시, 7년 분급 시행)' 규제에 대응하기 위한 정산 검증 사이드카 플랫폼입니다.

기존 엑셀이나 노후 전산망으로는 감당하기 불가능한 수백만 건의 분급 스케줄을 처리하고 설계사별 한도를 실시간으로 합산·검증합니다. 이를 통해 수수료 정산의 인건비를 절감하고, 환수 누락액 및 규제 위반 리스크를 원천 차단합니다.


🔒 정합성 보증

수수료 계산은 틀리면 안 되는 코드입니다. 그래서 정합성을 사람의 주의력이 아니라 CI로 강제합니다.

develop·main을 대상으로 하는 모든 PR에서 실제 PostgreSQL 17(로컬 docker-compose와 동일 버전)을 띄워 통합테스트를 실행하며, 하나라도 깨지면 머지가 차단됩니다.

develop에는 브랜치 보호가 적용되어 있어 build 체크 통과와 리뷰 승인 1인이 필수입니다. 확인: gh api repos/feegachu/fgc/branches/develop/protection

보장 근거
H2 등 대체 DB 없이 실제 PostgreSQL로 검증 FGC-TER-004
로컬과 CI가 같은 DB 버전(postgres:17)을 사용 FGC-ECR-003
db/migration·db/demo 간 Flyway 버전 중복 시 즉시 실패 PR #30 재발 방지
보호 브랜치 + 리뷰 승인 1인 필수 FGC-ECR-004 · FGC-QUR-004
의존성 취약점 탐지·자동 수정 PR (Dependabot) FGC-SER-010

깨진 테스트는 PR의 "테스트 결과" 체크에서 어느 테스트가 왜 실패했는지 바로 확인할 수 있습니다. 같은 저장소의 브랜치 PR은 CI가 직접 게시하고, 읽기 전용 토큰을 쓰는 Dependabot·외부 fork PR은 JUnit XML을 넘겨받은 별도 workflow_run이 동일 커밋에 게시합니다.

취약점 검사 범위

FGC-SER-010에 대한 실제 적용 범위입니다. .github/dependabot.yml버전 업데이트 주기만 정하고, 취약점 탐지 자체는 저장소 보안 설정과 해석된 Gradle 의존성 그래프 제출이 모두 필요하므로 나눠서 적습니다.

항목 상태 관리 위치
Gradle 의존성 버전 업데이트 주 1회 .github/dependabot.yml
GitHub Actions 버전 업데이트 월 1회 .github/dependabot.yml
Gradle 의존성 그래프 제출 develop push마다 .github/workflows/dependency-submission.yml
Dependabot alerts (CVE 탐지) 활성 Settings → Code security
Dependabot security updates (자동 수정 PR) 활성 Settings → Code security
컨테이너 이미지 스캔 2차 (FGC-ECR-005)

이미지 스캔이 1차에 없는 이유: FGC는 Dockerfile이 없어 자체 빌드 이미지가 없고, CI의 postgres:17은 테스트용 업스트림 공식 이미지입니다. 이미지 빌드·배포가 도입되는 FGC-ECR-005(2차) 시점에 스캐너를 함께 넣습니다.


📆 프로젝트 기간

  • 전체 기간: 2026.07.08 - 2026.11.17
  • 개발 기간: 2025.07.30 - 2026.11.17

🤔 요구사항

For building and running the application you need:

Java SpringBoot


⚒️ 개발 환경

  • BackEnd : IntelliJ
  • 버전 및 이슈 관리 : Github, Github Issues, Jira
  • 협업 툴 : Slack, Notion

아키텍처 다이어그램

(아키텍처 이미지 추가 예정)

  • Modular Monolith 구조 채택
  • 정책 버전 관리, 배치 멱등성 보장, 감사 추적(Audit Log) 원칙 적용

🔎 기술 스택

Envrionment

Development - Backend

Development - Frontend


📱 화면 구성

사진 넣어주세요 사진 넣어주세요

고정 버전 (임의로 올리지 마세요)

  • Java 21
  • Spring Boot 3.x.y ← 2026-08-03 start.spring.io 생성 기준
  • PostgreSQL 17 (docker-compose)
  • Gradle Wrapper 사용 (./gradlew, 로컬 Gradle 설치 불필요)

5분 만에 띄우기

  1. Docker Desktop 실행
  2. docker compose up -d
  3. ./gradlew bootRun (Windows: gradlew.bat bootRun)
  4. http://localhost:8080 접속
  5. Swagger: http://localhost:8080/swagger-ui.html

DB 초기화 (뭔가 꼬였을 때)

docker compose down -v && docker compose up -d && ./gradlew bootRun

문서

  • 화면정의서 v2.0 / 화면 목업: FGC_화면_MVP/
  • API·배치 계약: docs/05_인터페이스정의서_v2_0.md
  • 규제 근거: docs/07_규제조문표_v0.2.1.md
  • 컨벤션: docs/컨벤션/

About

GA 보험대리점의 수수료 산정, 분급, 환수, 대사 및 1200% 규제 검증을 지원하는 보험 수수료 정산 플랫폼

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Used by

Contributors

Languages