diff --git a/README.md b/README.md index b707479..5696abc 100644 --- a/README.md +++ b/README.md @@ -13,6 +13,48 @@ One Day Lifetime SNS

+### Directory Structure +[Domain Directory Structure](https://github.com/cheese10yun/spring-guide/blob/master/docs/directory-guide.md) +``` +└── src + ├── main + │ ├── java + │ │ └── com + │ │ └── example + │ │ └── onuel + │ │ ├── OneulApplication.java + │ │ ├── domain + │ │ │ ├── user + │ │ │ │ ├── controller + │ │ │ │ ├── service + │ │ │ │ ├── repository + │ │ │ │ ├── domain + │ │ │ │ ├── dto + │ │ │ │ └── exception + │ │ │ ├── post + │ │ │ │ ├── controller + │ │ │ │ ├── service + │ │ │ │ ├── repository + │ │ │ │ ├── domain + │ │ │ │ ├── dto + │ │ │ │ └── exception + │ │ ├── global + │ │ ├── common + │ │ │ ├── request + │ │ │ └── response + │ │ ├── config + │ │ │ ├── RedisConfig.java + │ │ │ └── security + │ │ │ └── WebSecurityConfig.java + │ │ ├── error + │ │ │ ├── ErrorResponse.java + │ │ │ ├── GlobalExceptionHandler.java + │ │ │ └── exception + │ │ └── util + │ └── resources + │ └── application.yml + +``` ## How to run ```bash git clone https://github.com/zzzinho/Oneul.git diff --git a/src/main/java/com/example/oneul/model/Post.java b/src/main/java/com/example/oneul/domain/post/domain/Post.java similarity index 96% rename from src/main/java/com/example/oneul/model/Post.java rename to src/main/java/com/example/oneul/domain/post/domain/Post.java index 145e05b..c7190a0 100644 --- a/src/main/java/com/example/oneul/model/Post.java +++ b/src/main/java/com/example/oneul/domain/post/domain/Post.java @@ -1,4 +1,4 @@ -package com.example.oneul.model; +package com.example.oneul.domain.post.domain; import java.time.LocalDateTime; import java.util.Objects; @@ -13,6 +13,8 @@ import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.ManyToOne; +import com.example.oneul.domain.user.domain.UserEntity; + import org.springframework.data.annotation.CreatedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; diff --git a/src/main/java/com/example/oneul/service/command/UserCommandService.java b/src/main/java/com/example/oneul/domain/user/command/UserCommandService.java similarity index 67% rename from src/main/java/com/example/oneul/service/command/UserCommandService.java rename to src/main/java/com/example/oneul/domain/user/command/UserCommandService.java index e3ab398..95940a1 100644 --- a/src/main/java/com/example/oneul/service/command/UserCommandService.java +++ b/src/main/java/com/example/oneul/domain/user/command/UserCommandService.java @@ -1,8 +1,8 @@ -package com.example.oneul.service.command; +package com.example.oneul.domain.user.command; import javax.servlet.http.HttpSession; -import com.example.oneul.model.UserEntity; +import com.example.oneul.domain.user.domain.UserEntity; import org.springframework.stereotype.Service; diff --git a/src/main/java/com/example/oneul/service/command/UserCommandServiceImpl.java b/src/main/java/com/example/oneul/domain/user/command/UserCommandServiceImpl.java similarity index 89% rename from src/main/java/com/example/oneul/service/command/UserCommandServiceImpl.java rename to src/main/java/com/example/oneul/domain/user/command/UserCommandServiceImpl.java index c068879..a8bc723 100644 --- a/src/main/java/com/example/oneul/service/command/UserCommandServiceImpl.java +++ b/src/main/java/com/example/oneul/domain/user/command/UserCommandServiceImpl.java @@ -1,9 +1,9 @@ -package com.example.oneul.service.command; +package com.example.oneul.domain.user.command; import javax.servlet.http.HttpSession; -import com.example.oneul.model.UserEntity; -import com.example.oneul.repository.UserCommandRepository; +import com.example.oneul.domain.user.domain.UserEntity; +import com.example.oneul.domain.user.repository.UserCommandRepository; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/com/example/oneul/controller/UserController.java b/src/main/java/com/example/oneul/domain/user/controller/UserController.java similarity index 81% rename from src/main/java/com/example/oneul/controller/UserController.java rename to src/main/java/com/example/oneul/domain/user/controller/UserController.java index 7036d51..b8b86c8 100644 --- a/src/main/java/com/example/oneul/controller/UserController.java +++ b/src/main/java/com/example/oneul/domain/user/controller/UserController.java @@ -1,11 +1,11 @@ -package com.example.oneul.controller; +package com.example.oneul.domain.user.controller; import javax.servlet.http.HttpSession; -import com.example.oneul.DTO.SignUpDTO; -import com.example.oneul.model.UserEntity; -import com.example.oneul.service.command.UserCommandService; +import com.example.oneul.domain.user.command.UserCommandService; +import com.example.oneul.domain.user.domain.UserEntity; +import com.example.oneul.domain.user.dto.SignUpDTO; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/main/java/com/example/oneul/model/UserEntity.java b/src/main/java/com/example/oneul/domain/user/domain/UserEntity.java similarity index 97% rename from src/main/java/com/example/oneul/model/UserEntity.java rename to src/main/java/com/example/oneul/domain/user/domain/UserEntity.java index 649aef0..18ad4d5 100644 --- a/src/main/java/com/example/oneul/model/UserEntity.java +++ b/src/main/java/com/example/oneul/domain/user/domain/UserEntity.java @@ -1,4 +1,4 @@ -package com.example.oneul.model; +package com.example.oneul.domain.user.domain; import java.io.Serializable; import java.time.LocalDateTime; @@ -13,6 +13,8 @@ import javax.persistence.GeneratedValue; import javax.persistence.Id; import javax.persistence.OneToMany; +import com.example.oneul.domain.post.domain.Post; + import org.springframework.data.annotation.CreatedDate; import org.springframework.data.jpa.domain.support.AuditingEntityListener; diff --git a/src/main/java/com/example/oneul/DTO/LoginDTO.java b/src/main/java/com/example/oneul/domain/user/dto/LoginDTO.java similarity index 80% rename from src/main/java/com/example/oneul/DTO/LoginDTO.java rename to src/main/java/com/example/oneul/domain/user/dto/LoginDTO.java index a1be3ba..533c5e1 100644 --- a/src/main/java/com/example/oneul/DTO/LoginDTO.java +++ b/src/main/java/com/example/oneul/domain/user/dto/LoginDTO.java @@ -1,6 +1,6 @@ -package com.example.oneul.DTO; +package com.example.oneul.domain.user.dto; -import com.example.oneul.model.UserEntity; +import com.example.oneul.domain.user.domain.UserEntity; import lombok.Getter; diff --git a/src/main/java/com/example/oneul/DTO/SignUpDTO.java b/src/main/java/com/example/oneul/domain/user/dto/SignUpDTO.java similarity index 89% rename from src/main/java/com/example/oneul/DTO/SignUpDTO.java rename to src/main/java/com/example/oneul/domain/user/dto/SignUpDTO.java index 30113df..69b2bb2 100644 --- a/src/main/java/com/example/oneul/DTO/SignUpDTO.java +++ b/src/main/java/com/example/oneul/domain/user/dto/SignUpDTO.java @@ -1,6 +1,6 @@ -package com.example.oneul.DTO; +package com.example.oneul.domain.user.dto; -import com.example.oneul.model.UserEntity; +import com.example.oneul.domain.user.domain.UserEntity; import lombok.Getter; diff --git a/src/main/java/com/example/oneul/exception/UserAlreadyExistException.java b/src/main/java/com/example/oneul/domain/user/exception/UserAlreadyExistException.java similarity index 75% rename from src/main/java/com/example/oneul/exception/UserAlreadyExistException.java rename to src/main/java/com/example/oneul/domain/user/exception/UserAlreadyExistException.java index ee89a54..ce51995 100644 --- a/src/main/java/com/example/oneul/exception/UserAlreadyExistException.java +++ b/src/main/java/com/example/oneul/domain/user/exception/UserAlreadyExistException.java @@ -1,4 +1,4 @@ -package com.example.oneul.exception; +package com.example.oneul.domain.user.exception; public class UserAlreadyExistException extends RuntimeException { public UserAlreadyExistException(String message){ diff --git a/src/main/java/com/example/oneul/repository/UserCommandRepository.java b/src/main/java/com/example/oneul/domain/user/repository/UserCommandRepository.java similarity index 77% rename from src/main/java/com/example/oneul/repository/UserCommandRepository.java rename to src/main/java/com/example/oneul/domain/user/repository/UserCommandRepository.java index 06353d5..c0a4231 100644 --- a/src/main/java/com/example/oneul/repository/UserCommandRepository.java +++ b/src/main/java/com/example/oneul/domain/user/repository/UserCommandRepository.java @@ -1,8 +1,8 @@ -package com.example.oneul.repository; +package com.example.oneul.domain.user.repository; import java.util.Optional; -import com.example.oneul.model.UserEntity; +import com.example.oneul.domain.user.domain.UserEntity; import org.springframework.data.redis.core.RedisHash; import org.springframework.data.repository.CrudRepository; diff --git a/src/main/java/com/example/oneul/config/RedisConfig.java b/src/main/java/com/example/oneul/global/config/RedisConfig.java similarity index 97% rename from src/main/java/com/example/oneul/config/RedisConfig.java rename to src/main/java/com/example/oneul/global/config/RedisConfig.java index 1678826..3fbb931 100644 --- a/src/main/java/com/example/oneul/config/RedisConfig.java +++ b/src/main/java/com/example/oneul/global/config/RedisConfig.java @@ -1,4 +1,4 @@ -package com.example.oneul.config; +package com.example.oneul.global.config; import org.springframework.beans.factory.annotation.Value; import org.springframework.context.annotation.Bean; diff --git a/src/main/java/com/example/oneul/config/WebSecurityConfig.java b/src/main/java/com/example/oneul/global/config/security/WebSecurityConfig.java similarity index 95% rename from src/main/java/com/example/oneul/config/WebSecurityConfig.java rename to src/main/java/com/example/oneul/global/config/security/WebSecurityConfig.java index bc867ae..ef72ce2 100644 --- a/src/main/java/com/example/oneul/config/WebSecurityConfig.java +++ b/src/main/java/com/example/oneul/global/config/security/WebSecurityConfig.java @@ -1,4 +1,4 @@ -package com.example.oneul.config; +package com.example.oneul.global.config.security; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; diff --git a/src/main/java/com/example/oneul/handler/GlobalExceptionHandler.java b/src/main/java/com/example/oneul/global/error/GlobalExceptionHandler.java similarity index 86% rename from src/main/java/com/example/oneul/handler/GlobalExceptionHandler.java rename to src/main/java/com/example/oneul/global/error/GlobalExceptionHandler.java index 99b6a86..b19b310 100644 --- a/src/main/java/com/example/oneul/handler/GlobalExceptionHandler.java +++ b/src/main/java/com/example/oneul/global/error/GlobalExceptionHandler.java @@ -1,6 +1,6 @@ -package com.example.oneul.handler; +package com.example.oneul.global.error; -import com.example.oneul.exception.UserAlreadyExistException; +import com.example.oneul.domain.user.exception.UserAlreadyExistException; import org.slf4j.Logger; import org.slf4j.LoggerFactory; diff --git a/src/test/java/com/example/oneul/controller/UserControllerTest.java b/src/test/java/com/example/oneul/controller/UserControllerTest.java index 91f06f3..ff7fbd8 100644 --- a/src/test/java/com/example/oneul/controller/UserControllerTest.java +++ b/src/test/java/com/example/oneul/controller/UserControllerTest.java @@ -6,7 +6,8 @@ import static org.springframework.test.web.servlet.result.MockMvcResultMatchers. import java.util.HashMap; import java.util.Map; -import com.example.oneul.service.command.UserCommandService; +import com.example.oneul.domain.user.command.UserCommandService; +import com.example.oneul.domain.user.controller.UserController; import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.datatype.jsr310.JavaTimeModule; diff --git a/src/test/java/com/example/oneul/service/UserCommandServiceTest.java b/src/test/java/com/example/oneul/service/UserCommandServiceTest.java index 239cc99..82c1173 100644 --- a/src/test/java/com/example/oneul/service/UserCommandServiceTest.java +++ b/src/test/java/com/example/oneul/service/UserCommandServiceTest.java @@ -2,9 +2,9 @@ package com.example.oneul.service; import static org.junit.jupiter.api.Assertions.assertEquals; -import com.example.oneul.DTO.LoginDTO; -import com.example.oneul.model.UserEntity; -import com.example.oneul.service.command.UserCommandService; +import com.example.oneul.domain.user.command.UserCommandService; +import com.example.oneul.domain.user.domain.UserEntity; +import com.example.oneul.domain.user.dto.LoginDTO; import org.junit.jupiter.api.Test; import org.junit.jupiter.api.extension.ExtendWith;