kintex/src/backend/build.gradle
zio 89d59d3093 feat(phase-b): WISE 공통/시스템관리 레이어 + 2FA/OTP + MDI 셸 표준
공통레이어(PLANNING §5B, WISE/UIWS 이식):
- 인증강화 2FA: TotpService(RFC6238)·OTP 등록/검증/초기화·로그인 실패 잠금·admin 비번 env 주입(admin123 시드 없음). 기존 JWT/RBAC 무수정, security 패키지 레이어만 추가
- 시스템관리: 사용자·역할/권한·공통코드·메뉴·시스템설정·감사(@Audited AOP). SystemAccessGuard(전역 ADMIN/홀매니저) — EventAccessGuard와 직교 이중 RBAC
- 공통 업무기능: worklog·schedule·message·notice·opinion·meeting·report·notification(단일 채널)·stats·search
- 스키마 V7(시스템관리·보안)·V8(공통 업무모듈) 멱등, V1~V6 불변

design.md v1.2: MDI 셸 표준 §2.7(탭바·다중문서·상태보존·세션복원·단축키·역할별)
CLAUDE.md: G1·G2 게이트 해소 반영

backend gradlew build·frontend tsc EXIT 0.

Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
2026-07-11 19:23:02 +09:00

69 lines
2.4 KiB
Groovy

plugins {
id 'java'
id 'org.springframework.boot' version '3.2.5'
id 'io.spring.dependency-management' version '1.1.4'
}
group = 'com.zioinfo.kintex'
version = '0.1.0-SNAPSHOT'
java {
sourceCompatibility = JavaLanguageVersion.of(17)
targetCompatibility = JavaLanguageVersion.of(17)
}
// 한글 문자열 리터럴 손상 방지 — Windows javac 기본 인코딩(CP949) 대신 UTF-8 강제.
tasks.withType(JavaCompile).configureEach {
options.encoding = 'UTF-8'
}
repositories {
mavenCentral()
}
ext {
mybatisStarterVersion = '3.0.3' // Spring Boot 3.2.x 호환
jjwtVersion = '0.12.5'
}
dependencies {
// --- Web / REST + WebSocket(STOMP) 실시간 알림(RenderJob 완료·승인 이벤트) ---
implementation 'org.springframework.boot:spring-boot-starter-web'
implementation 'org.springframework.boot:spring-boot-starter-websocket'
implementation 'org.springframework.boot:spring-boot-starter-validation'
implementation 'org.springframework.boot:spring-boot-starter-security'
// --- MyBatis + PostgreSQL(PostGIS) — 공간 SQL은 매퍼 XML(kintex-db-engineer 공유) ---
implementation "org.mybatis.spring.boot:mybatis-spring-boot-starter:${mybatisStarterVersion}"
runtimeOnly 'org.postgresql:postgresql'
// --- Flyway 마이그레이션(순번 DDL·시드 권위) — Spring Boot 3.2.x 관리 버전(Flyway 9.x, PG 내장) ---
implementation 'org.flywaydb:flyway-core'
// --- Redis 작업 큐 (RenderJob·서류 생성·알림 발행) ---
implementation 'org.springframework.boot:spring-boot-starter-data-redis'
// --- JWT (행사 단위 RBAC 인증) ---
implementation "io.jsonwebtoken:jjwt-api:${jjwtVersion}"
runtimeOnly "io.jsonwebtoken:jjwt-impl:${jjwtVersion}"
runtimeOnly "io.jsonwebtoken:jjwt-jackson:${jjwtVersion}"
// --- 2차 인증 TOTP(RFC6238) — WISE/UIWS 이식 (dev.samstevens.totp) ---
implementation 'dev.samstevens.totp:totp:1.7.1'
// --- AOP (@Audited 감사 어드바이스, Phase B B-2/B-4) ---
implementation 'org.springframework.boot:spring-boot-starter-aop'
// --- Lombok ---
compileOnly 'org.projectlombok:lombok'
annotationProcessor 'org.projectlombok:lombok'
// --- Test ---
testImplementation 'org.springframework.boot:spring-boot-starter-test'
testImplementation 'org.springframework.security:spring-security-test'
}
tasks.named('test') {
useJUnitPlatform()
}