서버개발환경구성

Requirements

  • JDK8
  • Maven
  • Gradle
  • NodeJS
  • Intelij IDEA

JDK8 설치

생략

Maven 설치

생략

Gradle 설치

생략

Idea 설치

Intellij IDEA 설치 및 lombok 플러그인 설치

NodeJS 설치

nodejs 공식 사이트 : https://nodejs.org/ko/

NodeJS : 전역 패키지 설치

gulphttp-server 패키지를 전역설치(실행명령어로 어디서든 실행 가능)한다.

npm install -g gulp
npm install -g http-server

gulp 는 smart-admin-sample full(angularjs ver.) 및 admin-webapp 구동시에 사용된다. http-server 는 samrt-admin full(ajax ver.) 에 사용된다.

mac 사용자의 경우 -g 옵션으로 설치시에 root 권한이 필요할 수 있다. sudo npm install -g gulp 와 같이 sudo 명령어로 루트 권한으로 설치를 한다.

빌드

git 소스 체크아웃

워크스페이스 디렉토리로 이동하고 소스 체크아웃

git clone [email protected]:semogyocorp/semogyo.git

idea 로 열고 작업한다.

본 문서에서 편의상 체크아웃 받은 디렉토리를 $SRC_HOME 으로 정의하겠다.

cd $SRC_HOME/admin-webapp/src/main/webapp
npm install

샘플 소스 띄우기

admin-webapp 는 angular js 를 이용하여 개발하는데, smart-admin 이라는 상용 템플릿을 가져다가 필요한 부분을 가져와 개발한다. 따라서 샘플 소스를 조회할 필요가 있는데 다음과 같이 구동하여 확인할 수 있다.

Smart Admin Sample (AngularJS Full Version)

cd $SRC_HOME/sample/angularjs-full
npm install
gulp

npm install 은 최초 구동시 1회하면 하면 된다. 위와 같이 서버를 실행하면 http://localhost:8888 로 확인 할 수 있다.

Smart Admin Sample (Ajax Full Version)

AngularJS 버젼은 다소 완성도가 떨어지는데 Ajax 버젼을 참고하면 더 좋은 경험을 얻을 수 있다.

cd $SRC_HOME/sample/ajax-full
http-server -p 8000

접속 가능한 주소는 콘솔에 출력된다.

Admin 서버 실행

cd $SRC_HOME/admin-webapp/src/main/webapp
npm install
gulp

npm install 은 최초 구동시 1회하면 하면 된다. 위와 같이 서버를 실행하면 http://localhost:9999 로 접속할 수 있다

이렇게 매번 해당 디렉토리로 이동해서 띄우는게 불편할 경우 bash_profile 에 alias 등록하여 실행하면 편한다. mac 사용자의 경우 다음과 같이 한다. (자신의 워크스페이스 환경에 맞도록 경로는 수정해야한다.)

위치 : ~/.bash_profile

alias semogyo-admin="cd /Users/sai/IdeaProjects/semogyo/admin-webapp/src/main/webapp && gulp"

API 서버 띄우기

최초 설치시 로컬 서버에 MySQL 데이타베이스 및 MySQL 사용자 등록이 되어있어야한다. makeCreateDatabaseUserSql task 를 수행하여 생성된 SQL 로 데이타베이스 및 사용자를 추가해야 한다.

cd $SRC_HOME/api
gradle makeCreateDatabaseUserSql

... 
데이타베이스 및 사용자 생성 sql 출력됨
...

출력된 SQL 문을 mysql 의 root 계정으로 실행한다.

그리고 다음과 같이 서버를 실행하면http://localhost:8080 로 서빙된다.

cd $SRC_HOME/api
gradle bootRun

또한 API 서버는 Restfull 로 개발되었는데, 해당 API 는 Swagger 를 통해 문서화되고 테스트할 수 있다. Swagger UI 는 http://localhost:8080/swagger-ui.html 로 접속한다.

results matching ""

    No results matching ""