신규 프로젝트 생성

1. Project Builder 창 열기

선행 사항

프로젝트에서 사용할 데이터베이스(필수)와 Redis(옵션)가 준비되어 있어야 합니다.

Code Genie 메인 화면에서,

(1) 우측 상단의 SWITCH PROJECT 버튼을 클릭하여 확장시킨 후
(2) Project Bookmarks... 버튼을 클릭하여 Project Bookmarks 창을 엽니다.

새로 열린 Project Bookmarks 창에서 상단의 NEW PROJECT FROM TEMPLATE 버튼을 클릭합니다.

그럼, 아래와 같이 Create Project From Template 창이 열립니다.

여기에서 부터는 Create Project From Builder 창의 각 섹션별로 설명하도록 하겠습니다.

2. Template

기본값인 Unvus iFlex Project Builder 를 선택합니다.

3. Project

샘플 프로젝트

이 가이드에서는 genie-coffee 라는 커피 프랜차이즈 웹사이트 개발을 한다는 가정으로 진행합니다.

(1) 검색 버튼을 클릭하여 프로젝트가 생성될 위치를 선택합니다. (저는 /Users/guavatak/Project/00.active 를 선택했습니다.)
(2) 프로젝트명에 Genie Coffee 를 입력합니다.
(3) 프로젝트 아이디에 genie-coffee 를 입력합니다.
(4) 기본 패키지에 com.geniecoffe.shop 를 입력합니다.

프로젝트명 은 모든 문자가 허용되며, Camel Case 로 작성하길 권고합니다.
프로젝트 아이디 는 영문, 숫자, 대시(-) 만 허용 되며, 소문자로 작성하는것을 추천합니다.
실제 프로젝트가 생성되는 디렉토리는 위에서 선택한 디렉토리 하위에 프로젝트 아이디 디렉토리 밑으로 생성됩니다.

모두 작성한 후에는 다음과 같은 화면이 됩니다.

4. Modules

WARNING

batch 모듈과 message 기능은 premium 버전에서만 지원합니다.

모듈은 프로젝트를 구성하는 하나의 독립적인 단위이며, 아래는 지원되는 모듈 타입에 대한 설명입니다.

typedescription
corebatch, cms, channel 에서 사용하는 비즈니스 로직을 가지고 있는 핵심 모듈입니다.
MyBatis mapper 로 데이터베이스와 CRUD 를 하며, Spring Service 로 핵심 비즈니스 로직을 구현합니다.
아래 각 모듈은 이 모듈(core)를 의존성으로 가지며, 이 모듈의 서비스를 사용하게 됩니다.
batchstandalone 으로 구동되는 애플리케이션이며, 스케쥴링을 통해 배치 작업을 진행하게 됩니다.
Unvus 배치 플랫폼을 통해, 진행상황 파악 및 실행기록, 수동실행 등을 cms 에서 확인 및 실행 가능하게 됩니다.
cmschannel 에 대한 컨텐츠, 배너, 게시판, 인증방식등을 관리 할 수 있는, 관리자 사이트 용 모듈입니다.
Vue3(TypeScript) 기반의 SPA 방식의 웹사이트이며, 필요에 따라 이러한 형태의 사이트를 여러개 구성 할 수 있습니다.
channel최종 사용자용 웹사이트 입니다. SPA 가 아닌 전통적인 MPA 방식으로 thymeleaf 로 UI 를 구성하고 있습니다.
필요에 따라 이러한 형태의 사이트를 여러개 구성 할 수 있습니다.

cms 와 channel 타입의 모듈은 여러개를 생성 할 수 있으며, batch 는 최대 1개 생성가능합니다.(premium 의 경우만 해당)
core 모듈은 반드시 1개가 필요합니다.

만약, mobile 채널과, pc 채널을 분리해고 싶다면, 아래 이미지의

  1. 우측 상단 셀렉트박스에서 channel 타입을 선택 후 추가 버튼을 클릭
  2. 모듈명에 pc web, 모듈 아이디에 pc-web, 모듈 기본 패키지명에 web.pc

를 입력하면 해당 채널이 추가로 생성되게 됩니다.

이 가이드에서는 아래와 같이 기본 값으로 진행하도록 합니다.

5. Database

여기에서는 프로젝트에서 사용할 데이터베이스를 선택합니다.
데이터베이스는 미리 준비되어 있어야 하며, 각 항목에 연결 정보를 입력합니다.

Url 항목은 자동으로 채워집니다.
Table prefix 는 데이터베이스에 생성되어질 테이블 이름의 prefix 를 결정합니다.
account 테이블 예

  • Table prefix : tb_ > tb_account
  • Table prefix : genie_ > genie_account
  • Table prefix : ‘’ (비워둠) > account

6. Redis

Redis Session 과 Resis Cache 를 사용할지 여부와, 그 접속 정보를 기입합니다.