6dec692e6178870591560287d696b664f2fdf506
Restructured the sample board admin page to support separate list, create, edit, and detail views synced with URL query parameters. Added computed state, route watchers, and navigation methods to handle view switching, updated form layout to full width for detail displays, replaced inline title links with accessible styled buttons, and improved save/delete workflows to maintain correct component and URL state.
SDL Base
Spring Boot 3 기반 백엔드와 Vue 3/Vite 기반 프론트엔드가 함께 있는 통합 프로젝트입니다.
개요
- 백엔드: Spring Boot 3.3.0, Java 17, Maven, MyBatis
- 프론트엔드: Vue 3, Vite 5, Vue Router, Vuex
- 배치: Quartz Scheduler
- 문서:
doc/하위 AsciiDoc/HTML 문서 - 프로필:
local,dev,prod
프로젝트 구조
sdl-base/
├── src/main/java/ # Spring Boot 애플리케이션, 설정, 컨트롤러, 서비스
├── src/main/resources/ # 공통 리소스, 메시지, MyBatis 매퍼
├── src/main/resources-local/ # local 프로필 설정
├── src/main/resources-dev/ # dev 프로필 설정
├── src/main/resources-prod/ # prod 프로필 설정
├── frontend/ # Vue 3 + Vite 프론트엔드
├── doc/ # 설치/구성/기능 문서
├── source/ # 로컬 Maven 저장소로 참조하는 SDL 라이브러리
├── pom.xml # 백엔드 빌드 설정
└── plan.md # 작업 메모 및 환경 정보
주요 실행 흐름
- 백엔드는
com.samsung.SdlBaseBootApplication에서 시작합니다. local프로필에서는config.properties의datasource.*값을 사용해 직접 DB에 연결합니다.dev,prod프로필에서는db.jndi=sdl_ds기반 JNDI 데이터소스를 사용합니다.- MyBatis 매퍼는 PostgreSQL 경로인
src/main/resources/sql/mybatis/postgresql/를 사용합니다. - 프론트엔드는
frontend/에서 Vite로 실행하거나 빌드 산출물을 백엔드 정적 리소스로 내보냅니다.
실행 전 준비
백엔드
- Java 17 이상
- Maven 3.9 이상 또는 프로젝트 포함
./mvnw - PostgreSQL 접근 가능 환경
- 필요 시
JASYPT_KEY환경변수 설정
예시:
export JASYPT_KEY=your-jasypt-key
프론트엔드
- Node.js 20.14.0 이상
- npm
로컬 실행 방법
1. 프론트엔드 의존성 설치
cd frontend
npm install
2. 프론트엔드 개발 서버 실행
cd frontend
npm run local
- 기본 포트:
8081 - API 대상:
http://localhost:8080
3. 백엔드 실행
프로젝트 루트에서 실행합니다.
./mvnw spring-boot:run -Plocal
또는 IDE에서 com.samsung.SdlBaseBootApplication을 Spring Boot Application으로 실행하면 됩니다.
빌드 방법
백엔드 빌드
./mvnw clean package
프론트엔드 운영 빌드
cd frontend
npm run build
기본 운영 빌드 결과물은 frontend/.env.production의 VITE_DIST_PATH 설정에 따라 백엔드 웹 리소스 경로로 출력됩니다.
프로필별 설정 파일
src/main/resources-local/application.propertiessrc/main/resources-local/config.propertiessrc/main/resources-dev/application.propertiessrc/main/resources-dev/config.propertiessrc/main/resources-prod/application.propertiessrc/main/resources-prod/config.properties
DB 연결 정보
plan.md 기준으로 현재 반영된 PostgreSQL 정보는 다음과 같습니다.
- DBMS: PostgreSQL
- 호스트:
192.168.0.60 - 포트:
5432 - 데이터베이스:
casaos - 사용자:
casaos - 비밀번호:
casaos
적용 위치:
- 로컬 메인 데이터소스:
src/main/resources-local/config.properties - Quartz 데이터소스:
src/main/resources-dev/application.properties - Quartz 데이터소스:
src/main/resources-prod/application.properties
참고 문서
- 설치 문서:
doc/설치/로컬설치.adoc - Quartz 문서:
doc/Appendix/QuartzClustering.adoc - 전체 문서 인덱스:
doc/index.html
확인 메모
- 현재 백엔드 MyBatis 설정은 PostgreSQL 매퍼 경로를 사용하도록 정리했습니다.
dev,prod는 애플리케이션 메인 데이터소스를 JNDI로 조회하므로 WAS/JNDI 설정도 별도로 맞아야 합니다.
Description
Languages
Vue
66.8%
CSS
12.5%
Java
12.3%
JavaScript
6.3%
Less
1.1%
Other
1%