enjoy-diving Project

enjoy-diving 스쿠버 다이빙 로그 관리를 위한 개인 프로젝트

1. Stack

Server를 구성하고 있는 framework 및 library 정보

JAVA JDK는 1.8을 기본으로 사용

Version 정보

  • java : 1.8
  • gradle wrapper : 3.3
  • spring boot(web, jpa, security, validation, jdbc, devtools, test) : 1.5.2.RELEASE
  • spring session : 1.3.1.RELEASE
  • spring social : 1.1.4.RELEASE
  • dependency-management-plugin : 1.0.1.RELEASE
  • lombok : 1.16.14
  • spring-security-test : 4.2.2.RELEASE
  • spring-boot-starter-thymeleaf : 3.0.2.RELEASE
  • mysql : 5.1.41
  • h2 : 1.4.194
  • querydsl : 4.1.4

2. Project 구성

Gradle Multi Project

Build Tool은 Gradle을 이용 하며, Multi Project로 구성함으로써 Project Package를 재활용하여 중복되는 코드를 줄이고, Project를 계층 또는 다양화할 수 있도록 설계

Project 구성

enjoy-diving

enjoy-diving 프로젝트의 root project (base gradle 설정을 포함)

enjoy-diving-common

enjoy-diving 프로젝트의 common project로 공통으로 사용하는 Entity, Repasitory, Utility 클래스를 정의

enjoy-diving-web

enjoy-diving 프로젝트의 스쿠버 다이빙 로그 관리 project로 웹 서버를 구현

dependencies info
  • web, jpa, Security, validation, jdbc, devtools, social
  • thymeleaf, jquery
  • test, security test
  • h2, mysql
package 구조

enjoy-diving-service

enjoy-diving 프로젝트의 rest api project로 연동에 필요한 API를 구현

  • 인증 : Spring Security Oauth2 기반으로 구성하여 인증 하며, Token은 redis방식을 이용
  • API : Spring Web기반에 @RestController를 이용