- Java 8 버전을 사용
- Spring Boot 2.0 사용 (Spring Framework 5.0 기반)
- Spring Data JPA 사용 (Hibernate 5.2 구현체 사용)
- Spring Boot 에서 제공하는 임베디드 Undertow 사용
- H2 DB 사용
- OkHttp3 - Rest API 커넥션 용도
- Lombok - Boilerplate 코드 자동생성 용도
- ModelMapper - 오브젝트 변환 용도
- thymeleaf3 - 화면 뷰 템플릿 용도
- Spring Cloud Vault - 시크릿 설정 정보 분리 용도
- Bootstrap3 - 화면 구성을 위해 이용
findbooks.searcher.kakaoApiKey // Kakao API Key
findbooks.searcher.naverClientId // Naver API ID
findbooks.searcher.naverClientSecret // Naver API Secret
spring.datasource.username // DB User
spring.datasource.password // DB User Password
- Vault 정보를 자신의 환경에 맞게 변경해야 합니다. (bootstrap.properties 에서 수정가능)
- 테스트 및 실행 시 Java System Property로 Vault Token을 추가해야 합니다.
$ git clone https://github.com/cyzest-sub/find-books.git
$ cd find-books
$ mvn clean test -DVAULT_TOKEN={VAULT_TOKEN}
$ mvn clean package -Dmaven.test.skip=true
$ java -DVAULT_TOKEN={VAULT_TOKEN} -jar ./target/find-books-1.0.0.jar
$ mvn clean package -Pdev -Dmaven.test.skip=true
$ java -DVAULT_TOKEN={VAULT_TOKEN} -Dsentry.dsn={SENTRY_DSN} -jar ./target/find-books-1.0.0.jar
- Dev서버는 에러트래킹을 위해 Sentry를 연동
- Java System Property로 Sentry DSN을 추가해야 합니다.
$ mvn clean package -Pdev -Dmaven.test.skip=true
$ docker build -t find-books:1.0.0 ./
$ docker run -d --name find-books -p 8080:8080 -e VAULT_TOKEN="{VAULT_TOKEN}" -e SENTRY_DSN="{SENTRY_DSN}" --link valut find-books:1.0.0