Skip to content

eGovFramework/egovframe-common-components-msa-krds

Repository files navigation

표준프레임워크 MSA 공통컴포넌트

java Spring_boot maven CSS3 html5 javascript jQuery

프로젝트 소개

해당 프로젝트는 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 검색엔진

프로젝트 구동 방법

  1. docker-compose/mysql 실행 docker-compose up -d
  2. EurekaService 실행
  3. ConfigServer
  4. GatewayServer 실행 (기본 포트 :9000)
  5. EgovMain 실행 (메인 레이아웃)
  6. EgovLogin 실행 (로그인 후 인증토큰이 있어야 컴포넌트 사용 가능)
  7. 필요한 컴포넌트 실행

화면 구성

KRDS (대한민국정부 디자인 시스템)

본 프로젝트에는 KRDS Component Kit 1.0.3 ver을 적용
KRDS의 컴포넌트 일부를 사용하였으며 용도에 따라 패턴 등을 추가하여 사용하고있다.

Custom resource

  • 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를 확인.

화면

1. 메인 화면

메인레이아웃 화면
※ 1,2,3 번의 경우 KRDS의 컴포넌트 사용

  1. 헤더(Header)
  2. 사이드 네비게이션(Side-Navigation)
  3. 푸터(Footer)
  4. 컨텐츠 영역 : 공통컴포넌트 프로젝트가 표시되는 영역
    • 프로젝트 실행 후 페이지 표시까지 약 5초 소요
    • 로그인 컴포넌트가 실행된 경우 기본 첫 화면은 로그인화면 (로그인 인증 후 다른 컴포넌트 이용가능)

2. 로그인 화면

로그인

  • DB에 저장된 USER 정보를 이용해 로그인

  • 로그인 성공
    로그인 성공 화면

  • 로그인 실패 시 다른 컴포넌트 페이지 접근 불가 (인증 토큰 부재)

  • Token 발급 확인
    accessToken

    • AccessToken과 RefreshToken이 발급된 상태
    • token설정의 경우 ConfigServer/src/main/resources/config/application-local.yml에서 설정 가능
      • 샘플의 AccessToken은 1분(120000ms), RefreshToken은 5분(3600000ms)으로 지정되어있음
      • token의 Secret값은 예시로 'egovframework'를 암호화하여 사용하고 있으므로 사용 시 수정 필요
  • 접근권한이 없는 페이지에 접근한 경우
    403error
    로그인은 성공하였으나 권한이 부여되지 않은 경로인 경우

  • 프로젝트가 서버에 올라가지 못한 경우 Image

    • 서비스가 실행되지 않은 상태에서 접근한 경우 나타나는 에러
    • 서비스를 실행 후 5 ~ 10초가 지나도 실행되지 않는 경우 서비스가 에러없이 제대로 실행되었는지 확인 필요

참조

  1. KRDS
  2. Spring
  3. 공통컴포넌트 테이블 구성 정보

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Packages

No packages published

Contributors 5