해당 프로젝트는 Spring Boot, Spring Data JPA, Spring Cloud를 이용하여 MSA 형식으로 제작되어 기존 공통컴포넌트 23종 + 신규 3종(모바일신분증 3종) 으로 구성되어있다.
프로젝트에서 사용된 환경 프로그램 정보는 다음과 같다.
| 프로그램 명 | 버전 명 |
|---|---|
| Java | 1.8 이상 단, 검색엔진(EgovSearch)는 11 이상 |
| Spring Boot | 2.7.18 |
| Spring Cloud | 2021.0.9 |
| Docker Desktop | 4.39.0 |
| Open Search | 2.15.0 |
| Python | 3.11.5 (Embedding 용 Model export 시 사용) |
NCC-Project
├ ConfigServer
├ EgovAuthor
├ EgovBoard
├ EgovCmmnCode
├ EgovLogin
├ EgovMobileId
├ EgovQuestionnaire
├ EgovSearch-Config
├ EgovSearch
├ EurekaServer
└ GatewayServer
EgovLogin: 사용자 디렉토리/통합인증 (2종)- 로그인
- 로그인정책관리
EgovAuthor: 보안 (7종)- 권한관리
- 권한그룹관리
- 그룹관리
- 롤관리
EgovMobileId: 모바일신분증(모바일운전면허증, 국가보훈등록증, 재외국민신원확인증)
EgovBoard: 협업 (7종)- 블로그관리
- 게시판관리
- 커뮤니티관리
- 게시판(방명록)
- 게시판(통합게시판)
- 댓글관리
- 만족도조사
EgovQuestionnaire: 사용자지원(6종)- 설문관리
- 설문조사
- 설문템플릿관리
- 응답자관리
- 질문관리
- 항목관리
EgovCmmnCode: 시스템관리 (3종)- 공통분류코드
- 공통상세코드
- 공통코드
EgovSearch: 시스템/서비스연계 (1종)- OpenSearch 검색엔진
- docker-compose/mysql 실행
docker-compose up -d - EurekaService 실행
- ConfigServer
ConfigServer/src/main/resources/config/application-local.yml- DB, Token 설정 확인
- 샘플 DB : (공통컴포넌트 테이블 정보)
- GatewayServer 실행 (기본 포트 :9000)
- EgovMain 실행 (메인 레이아웃)
- EgovLogin 실행 (로그인 후 인증토큰이 있어야 컴포넌트 사용 가능)
- 필요한 컴포넌트 실행
본 프로젝트에는 KRDS Component Kit 1.0.3 ver을 적용
KRDS의 컴포넌트 일부를 사용하였으며 용도에 따라 패턴 등을 추가하여 사용하고있다.
- CSS (
src/main/resources/static/css/egovframe.css) : layout pattern 등 - JavaScript (
src/main/resources/static/js/egovframework/common.js) : nullCheck, 키보드 접근성 등 - Image (
src/main/resources/static/img/egovframework) : EgovFramework 로고 등
※ 추가로 사용한 리소스의 사용법은 제공하지않으며, 디자인에 관련된 자세한 사항은 KRDS를 확인.
- 헤더(Header)
- 사이드 네비게이션(Side-Navigation)
- 푸터(Footer)
- 컨텐츠 영역 : 공통컴포넌트 프로젝트가 표시되는 영역
- 프로젝트 실행 후 페이지 표시까지 약 5초 소요
- 로그인 컴포넌트가 실행된 경우 기본 첫 화면은 로그인화면 (로그인 인증 후 다른 컴포넌트 이용가능)
-
DB에 저장된 USER 정보를 이용해 로그인
-
로그인 실패 시 다른 컴포넌트 페이지 접근 불가 (인증 토큰 부재)
-
- AccessToken과 RefreshToken이 발급된 상태
- token설정의 경우 ConfigServer/src/main/resources/config/application-local.yml에서 설정 가능
- 샘플의 AccessToken은 1분(120000ms), RefreshToken은 5분(3600000ms)으로 지정되어있음
- token의 Secret값은 예시로 'egovframework'를 암호화하여 사용하고 있으므로 사용 시 수정 필요
-
- 서비스가 실행되지 않은 상태에서 접근한 경우 나타나는 에러
- 서비스를 실행 후 5 ~ 10초가 지나도 실행되지 않는 경우 서비스가 에러없이 제대로 실행되었는지 확인 필요





