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>
39 줄
913 B
JSON
39 줄
913 B
JSON
{
|
|
"name": "wtm-frontend",
|
|
"private": true,
|
|
"version": "0.0.0",
|
|
"type": "module",
|
|
"scripts": {
|
|
"dev": "vite",
|
|
"build": "vue-tsc -b && vite build",
|
|
"preview": "vite preview"
|
|
},
|
|
"dependencies": {
|
|
"@primeuix/themes": "^2.0.3",
|
|
"@primevue/forms": "^4.5.4",
|
|
"@vueuse/core": "^14.2.1",
|
|
"axios": "^1.13.6",
|
|
"chart.js": "^4.5.1",
|
|
"pinia": "^3.0.4",
|
|
"primevue": "^4.5.4",
|
|
"vue": "^3.5.30",
|
|
"vue-router": "^5.0.4"
|
|
},
|
|
"devDependencies": {
|
|
"@eslint/js": "^10.0.1",
|
|
"@types/node": "^24.12.0",
|
|
"@vitejs/plugin-vue": "^6.0.5",
|
|
"@vue/tsconfig": "^0.9.0",
|
|
"eslint": "^10.1.0",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-vue": "^10.8.0",
|
|
"globals": "^17.4.0",
|
|
"prettier": "^3.8.1",
|
|
"sass": "^1.98.0",
|
|
"typescript": "~5.9.3",
|
|
"typescript-eslint": "^8.57.2",
|
|
"vite": "^8.0.1",
|
|
"vue-tsc": "^3.2.5"
|
|
}
|
|
}
|