feat: WTM 멀티프로젝트 플랫폼 구축 (BE + FE 전체 구현)
Phase 0: wbx-spring-core 라이브러리 전환 - java-library 플러그인, WbxAutoConfiguration, Admin 조건부 활성화 - 루트 settings.gradle + build.gradle (멀티모듈) Phase 1: wtm-api 모듈 생성 - 23개 JPA Entity, 14개 Controller, 79개 API 엔드포인트 - Flyway V100~V107 MySQL 마이그레이션 - TimesheetRuleEngine, TimesheetApprovalHandler, P6WbsParser Phase 2: wtm-frontend (Vue 3 + PrimeVue 4) - 10개 도메인 모듈, 17개 View, 5개 서브컴포넌트 - 반응형 레이아웃 (AppLayout, AppSidebar, AppTopbar) - BaseCrudTable, BaseFormDialog, BasePageHeader 표준 컴포넌트 - JWT 인터셉터, 역할 기반 메뉴 필터링 Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
이 Commit은 다음에 포함되어 있습니다:
@@ -0,0 +1,69 @@
|
||||
spring:
|
||||
application:
|
||||
name: wbx-spring-core
|
||||
|
||||
jpa:
|
||||
hibernate:
|
||||
ddl-auto: update
|
||||
open-in-view: false
|
||||
database-platform: org.hibernate.dialect.MySQLDialect
|
||||
properties:
|
||||
hibernate:
|
||||
default_batch_fetch_size: 100
|
||||
format_sql: true
|
||||
dialect: org.hibernate.dialect.MySQLDialect
|
||||
|
||||
flyway:
|
||||
enabled: false # 개발 시 hibernate ddl-auto 사용, 프로덕션 시 true
|
||||
|
||||
datasource:
|
||||
url: jdbc:mysql://${DB_HOST:ws.ubuilder.co.kr}:${DB_PORT:3306}/${DB_NAME:mos}?useUnicode=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true&serverTimezone=Asia/Seoul
|
||||
username: ${DB_USER:jsh}
|
||||
password: ${DB_PASS:jsh@}
|
||||
driver-class-name: com.mysql.cj.jdbc.Driver
|
||||
hikari:
|
||||
maximum-pool-size: 20
|
||||
minimum-idle: 5
|
||||
connection-timeout: 30000
|
||||
|
||||
data:
|
||||
redis:
|
||||
host: localhost
|
||||
port: 6379
|
||||
|
||||
server:
|
||||
port: 8080
|
||||
forward-headers-strategy: native
|
||||
servlet:
|
||||
context-path: ${SERVER_CONTEXT_PATH:/}
|
||||
|
||||
# WBX Spring Framework
|
||||
wbx:
|
||||
spring:
|
||||
api-prefix: /api
|
||||
jwt:
|
||||
secret: ${JWT_SECRET:wbx-spring-dev-secret-key-change-in-production-minimum-256-bits-long}
|
||||
expiration: 28800
|
||||
cors:
|
||||
allowed-origins: ${CORS_ORIGINS:http://localhost:5173,http://localhost:3000,http://localhost:8080}
|
||||
notification:
|
||||
sse-enabled: true
|
||||
heartbeat-seconds: 30
|
||||
|
||||
management:
|
||||
endpoints:
|
||||
web:
|
||||
exposure:
|
||||
include: health,info,metrics
|
||||
endpoint:
|
||||
health:
|
||||
show-details: when-authorized
|
||||
|
||||
springdoc:
|
||||
api-docs:
|
||||
path: /api-docs
|
||||
swagger-ui:
|
||||
path: /swagger-ui
|
||||
packages-to-scan: kr.co.accura.wbx.spring
|
||||
|
||||
spring.mvc.problemdetail.enabled: false
|
||||
새 Issue에서 참조
사용자 차단